From ba7cff505e48b94f0770dcff71bffba9fc51b459 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 26 Apr 2022 09:01:32 +0200 Subject: [PATCH] Use climate enums in sensibo (#70734) --- homeassistant/components/sensibo/climate.py | 40 ++++++++------------- 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/homeassistant/components/sensibo/climate.py b/homeassistant/components/sensibo/climate.py index 45eda1c334f..3ab6f06c4fb 100644 --- a/homeassistant/components/sensibo/climate.py +++ b/homeassistant/components/sensibo/climate.py @@ -4,15 +4,7 @@ from __future__ import annotations import voluptuous as vol from homeassistant.components.climate import ClimateEntity -from homeassistant.components.climate.const import ( - HVAC_MODE_COOL, - HVAC_MODE_DRY, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, - ClimateEntityFeature, -) +from homeassistant.components.climate.const import ClimateEntityFeature, HVACMode from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( ATTR_STATE, @@ -40,12 +32,12 @@ FIELD_TO_FLAG = { } SENSIBO_TO_HA = { - "cool": HVAC_MODE_COOL, - "heat": HVAC_MODE_HEAT, - "fan": HVAC_MODE_FAN_ONLY, - "auto": HVAC_MODE_HEAT_COOL, - "dry": HVAC_MODE_DRY, - "off": HVAC_MODE_OFF, + "cool": HVACMode.COOL, + "heat": HVACMode.HEAT, + "fan": HVACMode.FAN_ONLY, + "auto": HVACMode.HEAT_COOL, + "dry": HVACMode.DRY, + "off": HVACMode.OFF, } HA_TO_SENSIBO = {value: key for key, value in SENSIBO_TO_HA.items()} @@ -113,16 +105,14 @@ class SensiboClimate(SensiboDeviceBaseEntity, ClimateEntity): return self.device_data.humidity @property - def hvac_mode(self) -> str: + def hvac_mode(self) -> HVACMode: """Return hvac operation.""" - return ( - SENSIBO_TO_HA[self.device_data.hvac_mode] - if self.device_data.device_on - else HVAC_MODE_OFF - ) + if self.device_data.device_on: + return SENSIBO_TO_HA[self.device_data.hvac_mode] + return HVACMode.OFF @property - def hvac_modes(self) -> list[str]: + def hvac_modes(self) -> list[HVACMode]: """Return the list of available hvac operation modes.""" return [SENSIBO_TO_HA[mode] for mode in self.device_data.hvac_modes] @@ -213,9 +203,9 @@ class SensiboClimate(SensiboDeviceBaseEntity, ClimateEntity): await self._async_set_ac_state_property("fanLevel", fan_mode) - async def async_set_hvac_mode(self, hvac_mode: str) -> None: + async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: """Set new target operation mode.""" - if hvac_mode == HVAC_MODE_OFF: + if hvac_mode == HVACMode.OFF: await self._async_set_ac_state_property("on", False) return @@ -265,5 +255,5 @@ class SensiboClimate(SensiboDeviceBaseEntity, ClimateEntity): async def async_assume_state(self, state) -> None: """Sync state with api.""" - await self._async_set_ac_state_property("on", state != HVAC_MODE_OFF, True) + await self._async_set_ac_state_property("on", state != HVACMode.OFF, True) await self.coordinator.async_refresh()