From d52234a57ad3ae58b3105a9e274771df96e63b5a Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Mon, 25 Apr 2022 13:33:51 +0200 Subject: [PATCH] Use climate enums in fritzbox (#70650) * Use climate enums in fritzbox * Adjust tests * Update homeassistant/components/fritzbox/climate.py Co-authored-by: Erik Montnemery Co-authored-by: Erik Montnemery --- homeassistant/components/fritzbox/climate.py | 16 ++++++++-------- tests/components/fritzbox/test_climate.py | 15 +++++++-------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/homeassistant/components/fritzbox/climate.py b/homeassistant/components/fritzbox/climate.py index ce21c080588..01e6e8ccae6 100644 --- a/homeassistant/components/fritzbox/climate.py +++ b/homeassistant/components/fritzbox/climate.py @@ -3,13 +3,13 @@ from __future__ import annotations from typing import Any -from homeassistant.components.climate import ClimateEntity, ClimateEntityFeature +from homeassistant.components.climate import ClimateEntity from homeassistant.components.climate.const import ( ATTR_HVAC_MODE, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, PRESET_COMFORT, PRESET_ECO, + ClimateEntityFeature, + HVACMode, ) from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( @@ -32,7 +32,7 @@ from .const import ( ) from .model import ClimateExtraAttributes -OPERATION_LIST = [HVAC_MODE_HEAT, HVAC_MODE_OFF] +OPERATION_LIST = [HVACMode.HEAT, HVACMode.OFF] MIN_TEMPERATURE = 8 MAX_TEMPERATURE = 28 @@ -113,18 +113,18 @@ class FritzboxThermostat(FritzBoxEntity, ClimateEntity): OFF_REPORT_SET_TEMPERATURE, OFF_API_TEMPERATURE, ): - return HVAC_MODE_OFF + return HVACMode.OFF - return HVAC_MODE_HEAT + return HVACMode.HEAT @property - def hvac_modes(self) -> list[str]: + def hvac_modes(self) -> list[HVACMode]: """Return the list of available operation modes.""" return OPERATION_LIST async def async_set_hvac_mode(self, hvac_mode: str) -> None: """Set new operation mode.""" - if hvac_mode == HVAC_MODE_OFF: + if hvac_mode == HVACMode.OFF: await self.async_set_temperature(temperature=OFF_REPORT_SET_TEMPERATURE) else: await self.async_set_temperature( diff --git a/tests/components/fritzbox/test_climate.py b/tests/components/fritzbox/test_climate.py index 993c1009432..9cd7f1a74d7 100644 --- a/tests/components/fritzbox/test_climate.py +++ b/tests/components/fritzbox/test_climate.py @@ -13,13 +13,12 @@ from homeassistant.components.climate.const import ( ATTR_PRESET_MODE, ATTR_PRESET_MODES, DOMAIN, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, PRESET_COMFORT, PRESET_ECO, SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE, SERVICE_SET_TEMPERATURE, + HVACMode, ) from homeassistant.components.fritzbox.const import ( ATTR_STATE_BATTERY_LOW, @@ -62,7 +61,7 @@ async def test_setup(hass: HomeAssistant, fritz: Mock): assert state.attributes[ATTR_BATTERY_LEVEL] == 23 assert state.attributes[ATTR_CURRENT_TEMPERATURE] == 18 assert state.attributes[ATTR_FRIENDLY_NAME] == CONF_FAKE_NAME - assert state.attributes[ATTR_HVAC_MODES] == [HVAC_MODE_HEAT, HVAC_MODE_OFF] + assert state.attributes[ATTR_HVAC_MODES] == [HVACMode.HEAT, HVACMode.OFF] assert state.attributes[ATTR_MAX_TEMP] == 28 assert state.attributes[ATTR_MIN_TEMP] == 8 assert state.attributes[ATTR_PRESET_MODE] is None @@ -73,7 +72,7 @@ async def test_setup(hass: HomeAssistant, fritz: Mock): assert state.attributes[ATTR_STATE_WINDOW_OPEN] == "fake_window" assert state.attributes[ATTR_TEMPERATURE] == 19.5 assert ATTR_STATE_CLASS not in state.attributes - assert state.state == HVAC_MODE_HEAT + assert state.state == HVACMode.HEAT state = hass.states.get(f"{SENSOR_DOMAIN}.{CONF_FAKE_NAME}_battery") assert state @@ -261,7 +260,7 @@ async def test_set_temperature_mode_off(hass: HomeAssistant, fritz: Mock): SERVICE_SET_TEMPERATURE, { ATTR_ENTITY_ID: ENTITY_ID, - ATTR_HVAC_MODE: HVAC_MODE_OFF, + ATTR_HVAC_MODE: HVACMode.OFF, ATTR_TEMPERATURE: 123, }, True, @@ -281,7 +280,7 @@ async def test_set_temperature_mode_heat(hass: HomeAssistant, fritz: Mock): SERVICE_SET_TEMPERATURE, { ATTR_ENTITY_ID: ENTITY_ID, - ATTR_HVAC_MODE: HVAC_MODE_HEAT, + ATTR_HVAC_MODE: HVACMode.HEAT, ATTR_TEMPERATURE: 123, }, True, @@ -299,7 +298,7 @@ async def test_set_hvac_mode_off(hass: HomeAssistant, fritz: Mock): assert await hass.services.async_call( DOMAIN, SERVICE_SET_HVAC_MODE, - {ATTR_ENTITY_ID: ENTITY_ID, ATTR_HVAC_MODE: HVAC_MODE_OFF}, + {ATTR_ENTITY_ID: ENTITY_ID, ATTR_HVAC_MODE: HVACMode.OFF}, True, ) assert device.set_target_temperature.call_args_list == [call(0)] @@ -315,7 +314,7 @@ async def test_set_hvac_mode_heat(hass: HomeAssistant, fritz: Mock): assert await hass.services.async_call( DOMAIN, SERVICE_SET_HVAC_MODE, - {ATTR_ENTITY_ID: ENTITY_ID, ATTR_HVAC_MODE: HVAC_MODE_HEAT}, + {ATTR_ENTITY_ID: ENTITY_ID, ATTR_HVAC_MODE: HVACMode.HEAT}, True, ) assert device.set_target_temperature.call_args_list == [call(22)]