From b2b99417c9bfecfbcdedf2e2fd3a833b70a95b22 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Mon, 25 Apr 2022 16:17:41 +0200 Subject: [PATCH] Use climate enums in homematic (#70665) --- homeassistant/components/homematic/climate.py | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/homeassistant/components/homematic/climate.py b/homeassistant/components/homematic/climate.py index 11542da16e7..67a36284c58 100644 --- a/homeassistant/components/homematic/climate.py +++ b/homeassistant/components/homematic/climate.py @@ -1,15 +1,14 @@ """Support for Homematic thermostats.""" from __future__ import annotations -from homeassistant.components.climate import ClimateEntity, ClimateEntityFeature +from homeassistant.components.climate import ClimateEntity from homeassistant.components.climate.const import ( - HVAC_MODE_AUTO, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, PRESET_BOOST, PRESET_COMFORT, PRESET_ECO, PRESET_NONE, + ClimateEntityFeature, + HVACMode, ) from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS from homeassistant.core import HomeAssistant @@ -64,32 +63,32 @@ class HMThermostat(HMDevice, ClimateEntity): return TEMP_CELSIUS @property - def hvac_mode(self): + def hvac_mode(self) -> HVACMode: """Return hvac operation ie. heat, cool mode. Need to be one of HVAC_MODE_*. """ if self.target_temperature <= self._hmdevice.OFF_VALUE + 0.5: - return HVAC_MODE_OFF + return HVACMode.OFF if "MANU_MODE" in self._hmdevice.ACTIONNODE: if self._hm_control_mode == self._hmdevice.MANU_MODE: - return HVAC_MODE_HEAT - return HVAC_MODE_AUTO + return HVACMode.HEAT + return HVACMode.AUTO # Simple devices if self._data.get("BOOST_MODE"): - return HVAC_MODE_AUTO - return HVAC_MODE_HEAT + return HVACMode.AUTO + return HVACMode.HEAT @property - def hvac_modes(self): + def hvac_modes(self) -> list[HVACMode]: """Return the list of available hvac operation modes. Need to be a subset of HVAC_MODES. """ if "AUTO_MODE" in self._hmdevice.ACTIONNODE: - return [HVAC_MODE_AUTO, HVAC_MODE_HEAT, HVAC_MODE_OFF] - return [HVAC_MODE_HEAT, HVAC_MODE_OFF] + return [HVACMode.AUTO, HVACMode.HEAT, HVACMode.OFF] + return [HVACMode.HEAT, HVACMode.OFF] @property def preset_mode(self): @@ -104,7 +103,7 @@ class HMThermostat(HMDevice, ClimateEntity): mode = mode.lower() # Filter HVAC states - if mode not in (HVAC_MODE_AUTO, HVAC_MODE_HEAT): + if mode not in (HVACMode.AUTO, HVACMode.HEAT): return PRESET_NONE return mode @@ -143,13 +142,13 @@ class HMThermostat(HMDevice, ClimateEntity): self._hmdevice.writeNodeData(self._state, float(temperature)) - def set_hvac_mode(self, hvac_mode): + def set_hvac_mode(self, hvac_mode: HVACMode) -> None: """Set new target hvac mode.""" - if hvac_mode == HVAC_MODE_AUTO: + if hvac_mode == HVACMode.AUTO: self._hmdevice.MODE = self._hmdevice.AUTO_MODE - elif hvac_mode == HVAC_MODE_HEAT: + elif hvac_mode == HVACMode.HEAT: self._hmdevice.MODE = self._hmdevice.MANU_MODE - elif hvac_mode == HVAC_MODE_OFF: + elif hvac_mode == HVACMode.OFF: self._hmdevice.turnoff() def set_preset_mode(self, preset_mode: str) -> None: