Exemple #1
0
        private async Task RaiseTemperatureAsync(TemperatureMode temperatureMode)
        {
            double temperature = GetTemperatureValue(temperatureMode);

            if (temperature >= MaxTemperature)
            {
                return;
            }

            await PauseStatusProviderWhile(async() => {
                var thermostat = GetFirstThermostat();

                double desiredTemperature = temperature + 1.0d;
                SetTemperatureValue(temperatureMode, desiredTemperature);
                SetThermostatTemperatureValue(temperatureMode, thermostat, desiredTemperature);

                var result = await _nestWebService.ChangeTemperatureAsync(thermostat, desiredTemperature, temperatureMode);
                if (IsErrorHandled(result.Error, result.Exception))
                {
                    return;
                }

                await _statusUpdater.UpdateStatusAsync();
            });
        }