mirror of
https://github.com/home-assistant/core.git
synced 2025-04-25 17:57:55 +00:00
Fix fritzbox climate HVAC mode / temperature (#25275)
* Set the target temperature * Update tests * Update tests * Fix linter complaints
This commit is contained in:
parent
bc7e1a3797
commit
1eb66f3657
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user