diff --git a/homeassistant/components/daikin/climate.py b/homeassistant/components/daikin/climate.py index 88aa28a0c9f..1b84b182ac8 100644 --- a/homeassistant/components/daikin/climate.py +++ b/homeassistant/components/daikin/climate.py @@ -5,30 +5,19 @@ import logging import voluptuous as vol -from homeassistant.components.climate import ( - PLATFORM_SCHEMA, - ClimateEntity, - ClimateEntityFeature, -) +from homeassistant.components.climate import PLATFORM_SCHEMA, ClimateEntity from homeassistant.components.climate.const import ( ATTR_FAN_MODE, ATTR_HVAC_MODE, ATTR_PRESET_MODE, ATTR_SWING_MODE, - CURRENT_HVAC_COOL, - CURRENT_HVAC_HEAT, - CURRENT_HVAC_IDLE, - CURRENT_HVAC_OFF, - HVAC_MODE_COOL, - HVAC_MODE_DRY, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, PRESET_AWAY, PRESET_BOOST, PRESET_ECO, PRESET_NONE, + ClimateEntityFeature, + HVACAction, + HVACMode, ) from homeassistant.config_entries import ConfigEntry from homeassistant.const import ATTR_TEMPERATURE, CONF_HOST, CONF_NAME, TEMP_CELSIUS @@ -53,27 +42,27 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( ) HA_STATE_TO_DAIKIN = { - HVAC_MODE_FAN_ONLY: "fan", - HVAC_MODE_DRY: "dry", - HVAC_MODE_COOL: "cool", - HVAC_MODE_HEAT: "hot", - HVAC_MODE_HEAT_COOL: "auto", - HVAC_MODE_OFF: "off", + HVACMode.FAN_ONLY: "fan", + HVACMode.DRY: "dry", + HVACMode.COOL: "cool", + HVACMode.HEAT: "hot", + HVACMode.HEAT_COOL: "auto", + HVACMode.OFF: "off", } DAIKIN_TO_HA_STATE = { - "fan": HVAC_MODE_FAN_ONLY, - "dry": HVAC_MODE_DRY, - "cool": HVAC_MODE_COOL, - "hot": HVAC_MODE_HEAT, - "auto": HVAC_MODE_HEAT_COOL, - "off": HVAC_MODE_OFF, + "fan": HVACMode.FAN_ONLY, + "dry": HVACMode.DRY, + "cool": HVACMode.COOL, + "hot": HVACMode.HEAT, + "auto": HVACMode.HEAT_COOL, + "off": HVACMode.OFF, } HA_STATE_TO_CURRENT_HVAC = { - HVAC_MODE_COOL: CURRENT_HVAC_COOL, - HVAC_MODE_HEAT: CURRENT_HVAC_HEAT, - HVAC_MODE_OFF: CURRENT_HVAC_OFF, + HVACMode.COOL: HVACAction.COOLING, + HVACMode.HEAT: HVACAction.HEATING, + HVACMode.OFF: HVACAction.OFF, } HA_PRESET_TO_DAIKIN = { @@ -212,29 +201,29 @@ class DaikinClimate(ClimateEntity): await self._set(kwargs) @property - def hvac_action(self): + def hvac_action(self) -> HVACAction | None: """Return the current state.""" ret = HA_STATE_TO_CURRENT_HVAC.get(self.hvac_mode) if ( - ret in (CURRENT_HVAC_COOL, CURRENT_HVAC_HEAT) + ret in (HVACAction.COOLING, HVACAction.HEATING) and self._api.device.support_compressor_frequency and self._api.device.compressor_frequency == 0 ): - return CURRENT_HVAC_IDLE + return HVACAction.IDLE return ret @property - def hvac_mode(self): + def hvac_mode(self) -> HVACMode: """Return current operation ie. heat, cool, idle.""" daikin_mode = self._api.device.represent(HA_ATTR_TO_DAIKIN[ATTR_HVAC_MODE])[1] - return DAIKIN_TO_HA_STATE.get(daikin_mode, HVAC_MODE_HEAT_COOL) + return DAIKIN_TO_HA_STATE.get(daikin_mode, HVACMode.HEAT_COOL) @property - def hvac_modes(self): + def hvac_modes(self) -> list[HVACMode]: """Return the list of available operation modes.""" return self._list.get(ATTR_HVAC_MODE) - async def async_set_hvac_mode(self, hvac_mode): + async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: """Set HVAC mode.""" await self._set({ATTR_HVAC_MODE: hvac_mode}) @@ -331,7 +320,7 @@ class DaikinClimate(ClimateEntity): async def async_turn_off(self): """Turn device off.""" await self._api.device.set( - {HA_ATTR_TO_DAIKIN[ATTR_HVAC_MODE]: HA_STATE_TO_DAIKIN[HVAC_MODE_OFF]} + {HA_ATTR_TO_DAIKIN[ATTR_HVAC_MODE]: HA_STATE_TO_DAIKIN[HVACMode.OFF]} ) @property