Fix Airzone Cloud climate temperature range (#128740)

This commit is contained in:
Álvaro Fernández Rojas 2024-10-19 14:38:15 +02:00 committed by GitHub
parent e43bf3b05a
commit ca4f971eb4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 4 deletions

View File

@ -224,14 +224,20 @@ class AirzoneClimate(AirzoneEntity, ClimateEntity):
self._attr_hvac_mode = HVACMode.OFF self._attr_hvac_mode = HVACMode.OFF
self._attr_max_temp = self.get_airzone_value(AZD_TEMP_SET_MAX) self._attr_max_temp = self.get_airzone_value(AZD_TEMP_SET_MAX)
self._attr_min_temp = self.get_airzone_value(AZD_TEMP_SET_MIN) self._attr_min_temp = self.get_airzone_value(AZD_TEMP_SET_MIN)
if self.supported_features & ClimateEntityFeature.TARGET_TEMPERATURE_RANGE: if (
self.supported_features & ClimateEntityFeature.TARGET_TEMPERATURE_RANGE
and self._attr_hvac_mode == HVACMode.HEAT_COOL
):
self._attr_target_temperature_high = self.get_airzone_value( self._attr_target_temperature_high = self.get_airzone_value(
AZD_TEMP_SET_COOL_AIR AZD_TEMP_SET_COOL_AIR
) )
self._attr_target_temperature_low = self.get_airzone_value( self._attr_target_temperature_low = self.get_airzone_value(
AZD_TEMP_SET_HOT_AIR AZD_TEMP_SET_HOT_AIR
) )
self._attr_target_temperature = None
else: else:
self._attr_target_temperature_high = None
self._attr_target_temperature_low = None
self._attr_target_temperature = self.get_airzone_value(AZD_TEMP_SET) self._attr_target_temperature = self.get_airzone_value(AZD_TEMP_SET)

View File

@ -97,8 +97,7 @@ async def test_airzone_create_climates(hass: HomeAssistant) -> None:
assert state.attributes[ATTR_MAX_TEMP] == 30 assert state.attributes[ATTR_MAX_TEMP] == 30
assert state.attributes[ATTR_MIN_TEMP] == 15 assert state.attributes[ATTR_MIN_TEMP] == 15
assert state.attributes[ATTR_TARGET_TEMP_STEP] == API_DEFAULT_TEMP_STEP assert state.attributes[ATTR_TARGET_TEMP_STEP] == API_DEFAULT_TEMP_STEP
assert state.attributes.get(ATTR_TARGET_TEMP_HIGH) == 22.0 assert state.attributes.get(ATTR_TEMPERATURE) == 22.0
assert state.attributes.get(ATTR_TARGET_TEMP_LOW) == 18.0
# Groups # Groups
state = hass.states.get("climate.group") state = hass.states.get("climate.group")
@ -589,6 +588,7 @@ async def test_airzone_climate_set_temp(hass: HomeAssistant) -> None:
SERVICE_SET_TEMPERATURE, SERVICE_SET_TEMPERATURE,
{ {
ATTR_ENTITY_ID: "climate.bron_pro", ATTR_ENTITY_ID: "climate.bron_pro",
ATTR_HVAC_MODE: HVACMode.HEAT_COOL,
ATTR_TARGET_TEMP_HIGH: 25.0, ATTR_TARGET_TEMP_HIGH: 25.0,
ATTR_TARGET_TEMP_LOW: 20.0, ATTR_TARGET_TEMP_LOW: 20.0,
}, },
@ -596,7 +596,7 @@ async def test_airzone_climate_set_temp(hass: HomeAssistant) -> None:
) )
state = hass.states.get("climate.bron_pro") state = hass.states.get("climate.bron_pro")
assert state.state == HVACMode.HEAT assert state.state == HVACMode.HEAT_COOL
assert state.attributes.get(ATTR_TARGET_TEMP_HIGH) == 25.0 assert state.attributes.get(ATTR_TARGET_TEMP_HIGH) == 25.0
assert state.attributes.get(ATTR_TARGET_TEMP_LOW) == 20.0 assert state.attributes.get(ATTR_TARGET_TEMP_LOW) == 20.0