Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }