Add hvac_action to Daikin AC (#52035)

This commit is contained in:
myhomeiot 2021-06-28 12:10:53 +03:00 committed by GitHub
parent e4fc76ac2c
commit 922b195ebf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -9,6 +9,10 @@ from homeassistant.components.climate.const import (
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,
@ -60,6 +64,12 @@ DAIKIN_TO_HA_STATE = {
"off": HVAC_MODE_OFF,
}
HA_STATE_TO_CURRENT_HVAC = {
HVAC_MODE_COOL: CURRENT_HVAC_COOL,
HVAC_MODE_HEAT: CURRENT_HVAC_HEAT,
HVAC_MODE_OFF: CURRENT_HVAC_OFF,
}
HA_PRESET_TO_DAIKIN = {
PRESET_AWAY: "on",
PRESET_NONE: "off",
@ -188,6 +198,18 @@ class DaikinClimate(ClimateEntity):
"""Set new target temperature."""
await self._set(kwargs)
@property
def hvac_action(self):
"""Return the current state."""
ret = HA_STATE_TO_CURRENT_HVAC.get(self.hvac_mode)
if (
ret in (CURRENT_HVAC_COOL, CURRENT_HVAC_HEAT)
and self._api.device.support_compressor_frequency
and self._api.device.compressor_frequency == 0
):
return CURRENT_HVAC_IDLE
return ret
@property
def hvac_mode(self):
"""Return current operation ie. heat, cool, idle."""