diff --git a/homeassistant/components/fritzbox/climate.py b/homeassistant/components/fritzbox/climate.py index b4bb32e5655..012d79587b4 100644 --- a/homeassistant/components/fritzbox/climate.py +++ b/homeassistant/components/fritzbox/climate.py @@ -93,9 +93,10 @@ class FritzboxThermostat(ClimateDevice): @property def target_temperature(self): """Return the temperature we try to reach.""" - if self._target_temperature in (ON_API_TEMPERATURE, - OFF_API_TEMPERATURE): - return None + if self._target_temperature == ON_API_TEMPERATURE: + return ON_REPORT_SET_TEMPERATURE + if self._target_temperature == OFF_API_TEMPERATURE: + return OFF_REPORT_SET_TEMPERATURE return self._target_temperature def set_temperature(self, **kwargs): @@ -110,7 +111,10 @@ class FritzboxThermostat(ClimateDevice): @property def hvac_mode(self): """Return the current operation mode.""" - if self._target_temperature == OFF_REPORT_SET_TEMPERATURE: + if ( + self._target_temperature == OFF_REPORT_SET_TEMPERATURE or + self._target_temperature == OFF_API_TEMPERATURE + ): return HVAC_MODE_OFF return HVAC_MODE_HEAT diff --git a/tests/components/fritzbox/test_climate.py b/tests/components/fritzbox/test_climate.py index 410ba0734ac..c82ec98373e 100644 --- a/tests/components/fritzbox/test_climate.py +++ b/tests/components/fritzbox/test_climate.py @@ -66,10 +66,10 @@ class TestFritzboxClimate(unittest.TestCase): assert 19.5 == self.thermostat.target_temperature self.thermostat._target_temperature = 126.5 - assert self.thermostat.target_temperature is None + assert self.thermostat.target_temperature == 0.0 self.thermostat._target_temperature = 127.0 - assert self.thermostat.target_temperature is None + assert self.thermostat.target_temperature == 30.0 @patch.object(FritzboxThermostat, 'set_hvac_mode') def test_set_temperature_operation_mode(self, mock_set_op): @@ -103,7 +103,7 @@ class TestFritzboxClimate(unittest.TestCase): self.thermostat._target_temperature = 127.0 assert 'heat' == self.thermostat.hvac_mode self.thermostat._target_temperature = 126.5 - assert 'heat' == self.thermostat.hvac_mode + assert 'off' == self.thermostat.hvac_mode self.thermostat._target_temperature = 22.0 assert 'heat' == self.thermostat.hvac_mode self.thermostat._target_temperature = 16.0