diff --git a/custom_components/versatile_thermostat/base_thermostat.py b/custom_components/versatile_thermostat/base_thermostat.py index d0b0e9e..8fde216 100644 --- a/custom_components/versatile_thermostat/base_thermostat.py +++ b/custom_components/versatile_thermostat/base_thermostat.py @@ -338,7 +338,7 @@ class BaseThermostat(ClimateEntity, RestoreEntity): self._presence_on = self._presence_sensor_entity_id is not None if self._ac_mode: - self._hvac_list = [HVACMode.COOL, HVACMode.OFF] + self._hvac_list = [HVACMode.HEAT, HVACMode.COOL, HVACMode.OFF] else: self._hvac_list = [HVACMode.HEAT, HVACMode.OFF] diff --git a/tests/test_switch_ac.py b/tests/test_switch_ac.py index 8608205..0d18cd9 100644 --- a/tests/test_switch_ac.py +++ b/tests/test_switch_ac.py @@ -56,7 +56,7 @@ async def test_over_switch_ac_full_start(hass: HomeAssistant, skip_hass_states_i assert entity.ac_mode is True assert entity.hvac_action is HVACAction.OFF assert entity.hvac_mode is HVACMode.OFF - assert entity.hvac_modes == [HVACMode.COOL, HVACMode.OFF] + assert entity.hvac_modes == [HVACMode.HEAT, HVACMode.COOL, HVACMode.OFF] assert entity.target_temperature == entity.max_temp assert entity.preset_modes == [ PRESET_NONE, @@ -138,3 +138,15 @@ async def test_over_switch_ac_full_start(hass: HomeAssistant, skip_hass_states_i assert entity.hvac_mode is HVACMode.COOL assert (entity.hvac_action is HVACAction.OFF or entity.hvac_action is HVACAction.IDLE) assert entity.target_temperature == 27 # eco_ac_away + + await entity.async_set_hvac_mode(HVACMode.HEAT) + assert entity.hvac_mode is HVACMode.HEAT + + await entity.async_set_preset_mode(PRESET_COMFORT) + assert entity.preset_mode is PRESET_COMFORT + assert entity.target_temperature == 26 + + # switch to Eco + await entity.async_set_preset_mode(PRESET_ECO) + assert entity.preset_mode is PRESET_ECO + assert entity.target_temperature == 27