private async Task <AirHumidityLogEntry> RetrieveAirHumidityLogEntryFromDevice(DeviceConfiguration deviceConfig) { bool success; double airTemperature = 0; double airHumidity = 0; double airDewPoint = 0; try { airTemperature = await _greenHouseSparkDeviceService.RequestCurrentTemperature(deviceConfig); airHumidity = await _greenHouseSparkDeviceService.RequestCurrentAirHumidityPercentage(deviceConfig); airDewPoint = await _greenHouseSparkDeviceService.RequestCurrentAirDewpoint(deviceConfig); success = true; } catch (Exception e) { success = false; //Todo: log this error } if (success) { var airAirHumidityLogEntry = new AirHumidityLogEntry { LogDateUtc = DateTime.UtcNow, TemperatureInCelsius = airTemperature, RelativeHumidity = airHumidity, DewPointTemperatureInCelsius = airDewPoint }; return(airAirHumidityLogEntry); } else { return(null); } }
private async void RetrieveValuesFromSparkDevice(DeviceConfiguration deviceConfig) { AirHumidityLogEntry airAirHumidityLogEntry = await RetrieveAirHumidityLogEntryFromDevice(deviceConfig); if (airAirHumidityLogEntry != null) { _airHumidityLogDataService.Save(airAirHumidityLogEntry); } SoilHumidityLogEntry soilHumidityLogEntryWateringAreaOne = await RetrieveSoilHumidityLogEntryFromDevice(deviceConfig, WateringLocation.First); if (soilHumidityLogEntryWateringAreaOne != null) { _soilHumidityLogDataServiceService.Save(soilHumidityLogEntryWateringAreaOne); } SoilHumidityLogEntry soilHumidityLogEntryWateringAreaTwo = await RetrieveSoilHumidityLogEntryFromDevice(deviceConfig, WateringLocation.Second); if (soilHumidityLogEntryWateringAreaTwo != null) { _soilHumidityLogDataServiceService.Save(soilHumidityLogEntryWateringAreaTwo); } }