public string ConvertBuilding(LiveBuilding building) { StringBuilder sb = new StringBuilder(); sb.Append("{"); sb.Append("\"Name\":\"" + building.Name + "\","); sb.Append("\"SurfaceArea\":" + building.SurfaceArea + ","); sb.Append("\"NumberOfRooms\":" + JsonConvert.SerializeObject(building.NumberOfSensorRooms) + ","); sb.Append("\"Temperature\":" + JsonConvert.SerializeObject(building.Temperature) + ","); sb.Append("\"CO2\":" + JsonConvert.SerializeObject(building.CO2) + ","); sb.Append("\"Light\":" + JsonConvert.SerializeObject(building.Light) + ","); sb.Append("\"Lux\":" + JsonConvert.SerializeObject(building.Lux) + ","); sb.Append("\"HardwareConsumption\":" + JsonConvert.SerializeObject(building.HardwareConsumption) + ","); sb.Append("\"LightConsumption\":" + JsonConvert.SerializeObject(building.LightConsumption) + ","); sb.Append("\"VentilationConsumption\":" + JsonConvert.SerializeObject(building.VentilationConsumption) + ","); sb.Append("\"OtherConsumption\":" + JsonConvert.SerializeObject(building.OtherConsumption) + ","); sb.Append("\"TotalPowerConsumption\":" + JsonConvert.SerializeObject(building.TotalPowerConsumption) + ","); sb.Append("\"ColdWaterConsumption\":" + JsonConvert.SerializeObject(building.ColdWaterConsumption) + ","); sb.Append("\"MaxColdWaterConsumption\":" + JsonConvert.SerializeObject(building.MaxColdWaterConsumption) + ","); sb.Append("\"HotWaterConsumption\":" + JsonConvert.SerializeObject(building.HotWaterConsumption) + ","); sb.Append("\"MaxHotWaterConsumption\":" + JsonConvert.SerializeObject(building.MaxHotWaterConsumption) + ","); sb.Append("\"Motion\":" + JsonConvert.SerializeObject(building.Motion) + ","); sb.Append("\"Occupants\":" + JsonConvert.SerializeObject(building.Occupants) + ","); sb.Append("\"MaxOccupants\":" + JsonConvert.SerializeObject(building.MaxOccupants) + ","); sb.Append("\"WifiClients\":" + JsonConvert.SerializeObject(building.WifiClients) + ","); sb.Append("\"MaxWifiClients\":" + JsonConvert.SerializeObject(building.MaxWifiClients)); sb.Append("}"); return sb.ToString(); }
public void Co2Update(LiveBuilding building) { foreach (var floor in building.Floors.Where(floor => floor.GetType() == typeof(LiveFloor)).Cast<LiveFloor>()) { Co2Update(floor); } }
public TemporalBuilding GetTemporalBuildingReadings(LiveBuilding liveBuilding, DateTime timeFrom, DateTime timeTo) { TemporalBuilding building = GetTemporalBuilding(liveBuilding); sMapManagerTemporal.TemporalUpdateAll(building, timeFrom, timeTo); return building; }
public string GetDrawableTemporalFloorReadings(int floorLeel, LiveBuilding liveBuilding, DateTime timeFrom, DateTime timeTo) { TemporalFloor floor = GetTemporalFloor(liveBuilding.Floors.Where(f => f.FloorLevel == floorLeel).Cast<LiveFloor>().First()); timeFrom = TemporalValidator.ValidateDate(timeFrom); timeTo = TemporalValidator.ValidateDate(timeTo); sMapManagerTemporal.TemporalUpdateAll(floor, timeFrom, timeTo); return jsonConverterTemporal.GetDrawableFloor(floor); }
public void LiveUpdateAllSensorss(LiveBuilding building) { TemperatureUpdate(building); Co2Update(building); LightUpdate(building); LuxUpdate(building); PowerConsumptionUpdate(building); WaterUpdate(building); OccupantsUpdate(building); WifiClientUpdate(building); }
public RealTimeUpdater(LiveBuilding building, SmapManager smapManager, int temperatureUpdateInterval, int co2UpdateInterval, int lightUpdateInterval, int luxUpdateInterval, int powerConsumptionInterval, int waterUpdateInterval, int motionDetectedUpdateInterval, int occupantsUpdateInterval, int wifiClientsUpdateInterval) : this(building, smapManager) { this.temperatureUpdateInterval = temperatureUpdateInterval; this.co2UpdateInterval = co2UpdateInterval; this.lightUpdateInterval = lightUpdateInterval; this.luxUpdateInterval = luxUpdateInterval; this.powerConsumptionInterval = powerConsumptionInterval; this.waterUpdateInterval = waterUpdateInterval; this.motionDetectedUpdateInterval = motionDetectedUpdateInterval; this.occupantsUpdateInterval = occupantsUpdateInterval; this.wifiClientsUpdateInterval = wifiClientsUpdateInterval; }
private TemporalBuilding GetTemporalBuilding(LiveBuilding liveBuilding) { TemporalBuilding building = (TemporalBuilding)liveBuilding; List<Floor> liveFloors = building.Floors.Where(floor => floor.GetType() == typeof(LiveFloor)).ToList(); foreach (Floor floor in liveFloors) { building.Floors.Remove(floor); TemporalFloor temporalFloor = GetTemporalFloor((LiveFloor)floor); building.Floors.Add(temporalFloor); } return building; }
public string ConvertFloors(LiveBuilding building, int floorLevel) { StringBuilder sb = new StringBuilder(); sb.Append("{"); foreach (var floor in building.Floors.Where(floor => floor.GetType() == typeof(LiveFloor)).Cast<LiveFloor>()) { if (floor.FloorLevel == floorLevel) { sb.Append("\"Name\":\"" + floor.FloorName + "\","); sb.Append("\"FloorLevel\":" + floor.FloorLevel + ","); sb.Append("\"SurfaceArea\":" + floor.SurfaceArea + ","); sb.Append("\"NumberOfRooms\":" + JsonConvert.SerializeObject(floor.NumberOfSensorRooms) + ","); sb.Append("\"Temperature\":" + JsonConvert.SerializeObject(floor.Temperature) + ","); sb.Append("\"CO2\":" + JsonConvert.SerializeObject(floor.CO2) + ","); sb.Append("\"Light\":" + JsonConvert.SerializeObject(floor.Light) + ","); sb.Append("\"Lux\":" + JsonConvert.SerializeObject(floor.Lux) + ","); sb.Append("\"HardwareConsumption\":" + JsonConvert.SerializeObject(floor.HardwareConsumption) + ","); sb.Append("\"LightConsumption\":" + JsonConvert.SerializeObject(floor.LightConsumption) + ","); sb.Append("\"VentilationConsumption\":" + JsonConvert.SerializeObject(floor.VentilationConsumption) + ","); sb.Append("\"OtherConsumption\":" + JsonConvert.SerializeObject(floor.OtherConsumption) + ","); sb.Append("\"TotalPowerConsumption\":" + JsonConvert.SerializeObject(floor.TotalPowerConsumption) + ","); sb.Append("\"ColdWaterConsumption\":" + JsonConvert.SerializeObject(floor.ColdWaterConsumption) + ","); sb.Append("\"MaxColdWaterConsumption\":" + JsonConvert.SerializeObject(floor.MaxColdWaterConsumption) + ","); sb.Append("\"HotWaterConsumption\":" + JsonConvert.SerializeObject(floor.HotWaterConsumption) + ","); sb.Append("\"MaxHotWaterConsumption\":" + JsonConvert.SerializeObject(floor.MaxHotWaterConsumption) + ","); sb.Append("\"Motion\":" + JsonConvert.SerializeObject(floor.Motion) + ","); sb.Append("\"Occupants\":" + JsonConvert.SerializeObject(floor.Occupants) + ","); sb.Append("\"WifiClients\":" + JsonConvert.SerializeObject(floor.WifiClients) + ","); sb.Append("\"MaxWifiClients\":" + JsonConvert.SerializeObject(floor.MaxWifiClients)); break; } } sb.Append("}"); return sb.ToString(); }
public RealTimeUpdater(LiveBuilding building, SmapManager smapManager) { this.building = building; this.smapManager = smapManager; }
public void WifiClientUpdate(LiveBuilding building) { foreach (Floor floor in building.Floors) { foreach ( LiveRoom room in floor.Rooms.Where(room => room.GetType() == typeof(LiveRoom)).Cast<LiveRoom>()) { if (room.Endpoints != null && room.Endpoints.WifiEndpoint != null) { //room.WifiClients = (int)smapDal.GetCurrentSensorValue(room.Endpoints.WifiEndpoint); } } } }
public void OccupantsUpdate(LiveBuilding building) { foreach ( var floor in building.Floors.Where(floor => floor.GetType() == typeof(LiveFloor)).Cast<LiveFloor>()) { foreach ( LiveRoom room in floor.Rooms.Where(room => room.GetType() == typeof(LiveRoom)).Cast<LiveRoom>()) { if (room.Endpoints != null && room.Endpoints.SmapEndponts.ContainsValue(SensorType.Occupants)) room.Occupants = (int) smapDal.GetCurrentSensorValue( room.Endpoints.SmapEndponts.First(s => s.Value == SensorType.Occupants).Key); } } if (building.Endpoints != null && building.Endpoints.SmapEndponts.ContainsValue(SensorType.Occupants)) { building.Occupants = (int) smapDal.GetCurrentSensorValue( building.Endpoints.SmapEndponts.First(s => s.Value == SensorType.Occupants).Key); } }
public void WaterUpdate(LiveBuilding building) { foreach ( var floor in building.Floors.Where(floor => floor.GetType() == typeof(LiveFloor)).Cast<LiveFloor>()) { if (floor.Endpoints != null) { if (floor.Endpoints.SmapEndponts.ContainsValue(SensorType.HotWater)) floor.HotWaterConsumption = smapDal.GetCurrentSensorValue( floor.Endpoints.SmapEndponts.First(s => s.Value == SensorType.HotWater).Key); if (floor.Endpoints.SmapEndponts.ContainsValue(SensorType.ColdWater)) floor.ColdWaterConsumption = smapDal.GetCurrentSensorValue( floor.Endpoints.SmapEndponts.First(s => s.Value == SensorType.ColdWater).Key); } } }
public void PowerConsumptionUpdate(LiveBuilding building) { foreach ( var floor in building.Floors.Where(floor => floor.GetType() == typeof(LiveFloor)).Cast<LiveFloor>()) { foreach (var room in floor.Rooms.Where(room => room.GetType() == typeof(LiveRoom)).Cast<LiveRoom>()) { if (room.Endpoints != null) { if (room.Endpoints.SmapEndponts.ContainsValue(SensorType.HardwarePowerConsumption)) room.HardwareConsumption = GetPoweruser(room.Endpoints.SmapEndponts, SensorType.HardwarePowerConsumption); if (room.Endpoints.SmapEndponts.ContainsValue(SensorType.LightPowerConsumption)) room.LightConsumption = GetPoweruser(room.Endpoints.SmapEndponts, SensorType.LightPowerConsumption); if (room.Endpoints.SmapEndponts.ContainsValue(SensorType.VentilationPowerConsumption)) room.VentilationConsumption = GetPoweruser(room.Endpoints.SmapEndponts, SensorType.VentilationPowerConsumption); if (room.Endpoints.SmapEndponts.ContainsValue(SensorType.OtherPowerConsumption)) room.OtherConsumption = GetPoweruser(room.Endpoints.SmapEndponts, SensorType.OtherPowerConsumption); if (room.Endpoints.SmapEndponts.ContainsValue(SensorType.TotalPowerConsumption)) room.TotalPowerConsumption = GetPoweruser(room.Endpoints.SmapEndponts, SensorType.TotalPowerConsumption); } } if (floor.Endpoints != null) { if (floor.Endpoints.SmapEndponts.ContainsValue(SensorType.HardwarePowerConsumption)) floor.HardwareConsumption = GetPoweruser(floor.Endpoints.SmapEndponts, SensorType.HardwarePowerConsumption); if (floor.Endpoints.SmapEndponts.ContainsValue(SensorType.LightPowerConsumption)) floor.LightConsumption = GetPoweruser(floor.Endpoints.SmapEndponts, SensorType.LightPowerConsumption); if (floor.Endpoints.SmapEndponts.ContainsValue(SensorType.VentilationPowerConsumption)) floor.VentilationConsumption = GetPoweruser(floor.Endpoints.SmapEndponts, SensorType.VentilationPowerConsumption); if (floor.Endpoints.SmapEndponts.ContainsValue(SensorType.OtherPowerConsumption)) floor.OtherConsumption = GetPoweruser(floor.Endpoints.SmapEndponts, SensorType.OtherPowerConsumption); if (floor.Endpoints.SmapEndponts.ContainsValue(SensorType.TotalPowerConsumption)) floor.TotalPowerConsumption = GetPoweruser(floor.Endpoints.SmapEndponts, SensorType.TotalPowerConsumption); } } }
public string ConvertBuilding(LiveBuilding building) { return jsonLiveConverter.ConvertBuilding(building); }
public string ConvertRooms(LiveBuilding building, int? floorLevel = null) { StringBuilder sb = new StringBuilder(); sb.Append("{\"type\": \"FeatureCollection\", \"features\": ["); foreach (var floor in building.Floors.Where(floor => floor.GetType() == typeof(LiveFloor)).Cast<LiveFloor>()) { if (floor.FloorLevel == floorLevel) { foreach (Room room in floor.Rooms) { LiveRoom currentRoom = null; if (typeof(LiveRoom) == room.GetType()) { currentRoom = (LiveRoom)room; } else { continue; } sb.Append("{ \"type\": \"Feature\", \"properties\": {"); sb.Append("\"Name\":" + JsonConvert.SerializeObject(room.Name) + ","); sb.Append("\"SurfaceArea\":" + JsonConvert.SerializeObject(currentRoom.SurfaceArea) + ","); sb.Append("\"Alias\":" + JsonConvert.SerializeObject(currentRoom.Alias) + ","); sb.Append("\"Temperature\":" + JsonConvert.SerializeObject(currentRoom.Temperature) + ","); sb.Append("\"MaxTemperature\":" + JsonConvert.SerializeObject(currentRoom.MaxTemperature) + ","); sb.Append("\"MinTemperature\":" + JsonConvert.SerializeObject(currentRoom.MinTemperature) + ","); sb.Append("\"CO2\":" + JsonConvert.SerializeObject(currentRoom.CO2) + ","); sb.Append("\"MaxCO2\":" + JsonConvert.SerializeObject(currentRoom.MaxCO2) + ","); sb.Append("\"MinCO2\":" + JsonConvert.SerializeObject(currentRoom.MinCO2) + ","); sb.Append("\"Light\":" + JsonConvert.SerializeObject(currentRoom.Light) + ","); sb.Append("\"Lux\":" + JsonConvert.SerializeObject(currentRoom.Lux) + ","); sb.Append("\"MaxLux\":" + JsonConvert.SerializeObject(currentRoom.MaxLux) + ","); sb.Append("\"HardwareConsumption\":" + JsonConvert.SerializeObject(currentRoom.HardwareConsumption) + ","); sb.Append("\"MaxHardwareConsumption\":" + JsonConvert.SerializeObject(currentRoom.MaxHardwareConsumption) + ","); sb.Append("\"MinHardwareConsumption\":" + JsonConvert.SerializeObject(currentRoom.MinHardwareConsumption) + ","); sb.Append("\"LightConsumption\":" + JsonConvert.SerializeObject(currentRoom.LightConsumption) + ","); sb.Append("\"MaxLightConsumption\":" + JsonConvert.SerializeObject(currentRoom.MaxLightConsumption) + ","); sb.Append("\"MinLightConsumption\":" + JsonConvert.SerializeObject(currentRoom.MinLightConsumption) + ","); sb.Append("\"VentilationConsumption\":" + JsonConvert.SerializeObject(currentRoom.VentilationConsumption) + ","); sb.Append("\"MaxVentilationConsumption\":" + JsonConvert.SerializeObject(currentRoom.MaxVentilationConsumption) + ","); sb.Append("\"MinVentilationConsumption\":" + JsonConvert.SerializeObject(currentRoom.MinVentilationConsumption) + ","); sb.Append("\"OtherConsumption\":" + JsonConvert.SerializeObject(currentRoom.OtherConsumption) + ","); sb.Append("\"MaxOtherConsumption\":" + JsonConvert.SerializeObject(currentRoom.MaxOtherConsumption) + ","); sb.Append("\"MinOtherConsumption\":" + JsonConvert.SerializeObject(currentRoom.MinOtherConsumption) + ","); sb.Append("\"TotalPowerConsumption\":" + JsonConvert.SerializeObject(currentRoom.TotalPowerConsumption) + ","); sb.Append("\"MaxTotalPowerConsumption\":" + JsonConvert.SerializeObject(currentRoom.MaxTotalPowerConsumption) + ","); sb.Append("\"MinTotalPowerConsumption\":" + JsonConvert.SerializeObject(currentRoom.MinTotalPowerConsumption) + ","); sb.Append("\"Motion\":" + JsonConvert.SerializeObject(currentRoom.Motion) + ","); sb.Append("\"Occupants\":" + JsonConvert.SerializeObject(currentRoom.Occupants) + ","); sb.Append("\"MaxOccupants\":" + JsonConvert.SerializeObject(currentRoom.MaxOccupants) + ","); sb.Append("\"WifiClients\":" + JsonConvert.SerializeObject(currentRoom.WifiClients) + ","); sb.Append("\"MaxWifiClients\":" + JsonConvert.SerializeObject(currentRoom.MaxWifiClients)); sb.Append("},\"geometry\": { \"type\": \"Polygon\", \"coordinates\": [ ["); sb.Append("[" + JsonConvert.SerializeObject(currentRoom.Corners.TopLeftCorner.XCoordinate) + "," + JsonConvert.SerializeObject(currentRoom.Corners.TopLeftCorner.YCoordinate) + "],"); sb.Append("[" + JsonConvert.SerializeObject(currentRoom.Corners.BottomLeftCorner.XCoordinate) + "," + JsonConvert.SerializeObject(currentRoom.Corners.BottomLeftCorner.YCoordinate) + "],"); sb.Append("[" + JsonConvert.SerializeObject(currentRoom.Corners.BottomRightCorner.XCoordinate) + "," + JsonConvert.SerializeObject(currentRoom.Corners.BottomRightCorner.YCoordinate) + "],"); sb.Append("[" + JsonConvert.SerializeObject(currentRoom.Corners.TopRightCorner.XCoordinate) + "," + JsonConvert.SerializeObject(currentRoom.Corners.TopRightCorner.YCoordinate) + "],"); sb.Remove(sb.Length - 1, 1); sb.Append("]]}},"); } sb.Remove(sb.Length - 1, 1); break; } } sb.Append("]}"); return sb.ToString(); }
public LiveBuilding CreateBuilding() { building = new LiveBuilding { //MaxColdWaterConsumption = 100000, //MaxHotWaterConsumption = 100000, MaxOccupants = 2000, Name = "Building 44", Occupants = 1108, //ColdWaterConsumption = 2200, //HotWaterConsumption = 2100, }; return building; }
public void SetupBuilding(LiveBuilding building) { //building = buildingDAL.GetBuilding("Building 44"); //getLiveRooms(building); //getSensorLessRooms(building); this.building = building; CreateFloors(); CreateCellarFloorRooms(); CreateParterreFloorRooms(); CreateGroundFloorRooms(); CreateGroundFloorSensorlessRooms(); CreateFirstFloorRooms(); CreateFloors(); CreateCellarFloorRooms(); CreateParterreFloorRooms(); CreateParterreFloorSensorlessRooms(); CreateGroundFloorRooms(); CreateGroundFloorSensorlessRooms(); CreateFirstFloorRooms(); CreateFirstFloorSensorlessRooms(); AssembleBuilding(); HttpContext.Current.Application["Building"] = building; //buildingDAL.SaveBuilding(building); //TestTimer(); }
public string GetTemporalBuildingInfoBox(LiveBuilding liveBuilding, DateTime timeFrom, DateTime timeTo) { TemporalBuilding building = GetTemporalBuilding(liveBuilding); timeFrom = TemporalValidator.ValidateDate(timeFrom); timeTo = TemporalValidator.ValidateDate(timeTo); sMapManagerTemporal.TemporalUpdateAll(building, timeFrom, timeTo); return jsonConverterTemporal.ConvertBuilding(building); }