public ActionResult Index() { OverViewModel model = new OverViewModel(); MyStromConnector licht = new MyStromConnector("192.168.1.206"); MyStromConnector umLuft = new MyStromConnector("192.168.1.108"); MyStromConnector abLuft = new MyStromConnector("192.168.1.241"); ShellyConnector tempHygro = new ShellyConnector("192.168.1.187"); MyStromConnector watering = new MyStromConnector("192.168.1.109"); model.Watering = DataConverter.ConvertToWateringDevice(watering.Get()); model.Light = DataConverter.ConvertToLightDevice(licht.Get()); model.FanIn = DataConverter.ConvertToFanDevice(umLuft.Get()); model.Suction = DataConverter.ConvertToSuctionDevice(abLuft.Get()); var tempResp = tempHygro.Get(); model.Temperature = DataConverter.ConvertToTemperatureDevice(tempResp); model.Humidity = DataConverter.ConvertToHumidityDevice(tempResp); FlowersGateway flowers = new FlowersGateway(); model.FlowersInBloom = flowers.GetFlowersInBloom(); SystemSettingsGateway gateway = new SystemSettingsGateway(); List <SystemSetting> settings = gateway.GetSystemSettings(); model.Sunrise = settings.First(x => x.Name == "Sunrise").Value; model.SunSet = settings.First(x => x.Name == "Sunset").Value; model.TempMinMax = "Temp: " + settings.First(x => x.Name == "MinTemp").Value + "°C - " + settings.First(x => x.Name == "MaxTemp").Value + "°C"; model.HumidityMinMax = "RLF: " + settings.First(x => x.Name == "MinHumidity").Value + "% - " + settings.First(x => x.Name == "MaxHumidity").Value + "%"; //var x = _gateway.GetCollectedData(); var notifications = _notyGateway.GetDeviceNotification(); model.Temperature.Info = notifications.First(x => x.DeviceId == model.Temperature.Id); model.Humidity.Info = notifications.First(x => x.DeviceId == model.Humidity.Id); model.Watering.Info = notifications.First(x => x.DeviceId == model.Watering.Id); return(View(model)); }
private static void Check_Temp_Hygro_Stats() { Console.WriteLine("Check Temperatur & Humidity..."); try { // Default Values <> Settings: SystemSettingsGateway gateway = new SystemSettingsGateway(); List <SystemSetting> settings = gateway.GetSystemSettings(); // ZUM TESTEN: DeviceNotification tempDevice = new DeviceNotification(); tempDevice.DeviceId = Temperature.Id; tempDevice.TimeStamp = DateTime.Now; double minTemp = Convert.ToDouble(settings.First(x => x.Name == "MinTemp").Value.Replace('.', ',')); double maxTemp = Convert.ToDouble(settings.First(x => x.Name == "MaxTemp").Value.Replace('.', ',')); double diff = Convert.ToDouble((maxTemp - minTemp) / 2); Console.WriteLine(Temperature.CelsiusValue); if (Temperature.CelsiusValue < minTemp) { tempDevice.Status = "danger"; tempDevice.InfoMsg = "Temperatur ist gut"; } if (IsBetween(Temperature.CelsiusValue, minTemp, (minTemp + diff))) { tempDevice.Status = "success"; tempDevice.InfoMsg = "Temperatur zu nieder"; } else if (IsBetween(Temperature.CelsiusValue, (minTemp + diff), maxTemp)) { tempDevice.Status = "warning"; tempDevice.InfoMsg = "Erhöhte Temperatur"; } else { tempDevice.Status = "danger"; tempDevice.InfoMsg = "Temperatur zu hoch"; } // ZUM TESTEN: DeviceNotification humDevice = new DeviceNotification(); humDevice.DeviceId = Humidity.Id; humDevice.TimeStamp = DateTime.Now; double minHumidity = Convert.ToDouble(settings.First(x => x.Name == "MinHumidity").Value.Replace('.', ',')); double maxHumidity = Convert.ToDouble(settings.First(x => x.Name == "MaxHumidity").Value.Replace('.', ',')); double diffHum = Convert.ToDouble((maxHumidity - minHumidity) / 2); Console.WriteLine(Humidity.HumidityValue); if (Humidity.HumidityValue < minHumidity) { humDevice.Status = "danger"; humDevice.InfoMsg = "Wert zu nieder"; } if (IsBetween(Humidity.HumidityValue, minHumidity, (minHumidity + diffHum))) { humDevice.Status = "success"; humDevice.InfoMsg = "Wert ist gut"; } else if (IsBetween(Humidity.HumidityValue, (minHumidity + diffHum), (maxHumidity - 2))) { humDevice.Status = "warning"; humDevice.InfoMsg = "Wert ist erhöht"; } else { humDevice.Status = "danger"; humDevice.InfoMsg = "Wert zu hoch"; } // Save values: _notifyGateway.CleanUpDeviceNotification_withoutWateringNoty(5); // 5 = ID from Watering Device see above _notifyGateway.AddDeviceNotification(tempDevice.DeviceId, tempDevice.InfoMsg, tempDevice.Status, tempDevice.TimeStamp.ToString()); _notifyGateway.AddDeviceNotification(humDevice.DeviceId, humDevice.InfoMsg, humDevice.Status, humDevice.TimeStamp.ToString()); Console.WriteLine("Check Temperatur & Humidity finish."); } catch (Exception ex) { Console.WriteLine("Check Temperatur & Humidity finish with errors:"); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } }