diff --git a/homeassistant/components/balboa/climate.py b/homeassistant/components/balboa/climate.py index 2d275460d66..98acf88649e 100644 --- a/homeassistant/components/balboa/climate.py +++ b/homeassistant/components/balboa/climate.py @@ -3,17 +3,15 @@ from __future__ import annotations import asyncio -from homeassistant.components.climate import ClimateEntity, ClimateEntityFeature +from homeassistant.components.climate import ClimateEntity from homeassistant.components.climate.const import ( - CURRENT_HVAC_HEAT, - CURRENT_HVAC_IDLE, FAN_HIGH, FAN_LOW, FAN_MEDIUM, FAN_OFF, - HVAC_MODE_AUTO, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, + ClimateEntityFeature, + HVACAction, + HVACMode, ) from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( @@ -67,9 +65,9 @@ class BalboaSpaClimate(BalboaEntity, ClimateEntity): value: key for key, value in self._balboa_to_ha_blower_map.items() } self._balboa_to_ha_heatmode_map = { - self._client.HEATMODE_READY: HVAC_MODE_HEAT, - self._client.HEATMODE_RNR: HVAC_MODE_AUTO, - self._client.HEATMODE_REST: HVAC_MODE_OFF, + self._client.HEATMODE_READY: HVACMode.HEAT, + self._client.HEATMODE_RNR: HVACMode.AUTO, + self._client.HEATMODE_REST: HVACMode.OFF, } self._ha_heatmode_to_balboa_map = { value: key for key, value in self._balboa_to_ha_heatmode_map.items() @@ -99,8 +97,8 @@ class BalboaSpaClimate(BalboaEntity, ClimateEntity): def hvac_action(self) -> str: """Return the current operation mode.""" if self._client.get_heatstate() >= self._client.ON: - return CURRENT_HVAC_HEAT - return CURRENT_HVAC_IDLE + return HVACAction.HEATING + return HVACAction.IDLE @property def fan_mode(self) -> str: diff --git a/homeassistant/components/balboa/const.py b/homeassistant/components/balboa/const.py index 9fb0b34d003..9a2d6b704ff 100644 --- a/homeassistant/components/balboa/const.py +++ b/homeassistant/components/balboa/const.py @@ -1,4 +1,6 @@ """Constants for the Balboa Spa Client integration.""" +from __future__ import annotations + import logging from homeassistant.components.climate.const import ( @@ -6,9 +8,7 @@ from homeassistant.components.climate.const import ( FAN_LOW, FAN_MEDIUM, FAN_OFF, - HVAC_MODE_AUTO, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, + HVACMode, ) from homeassistant.const import Platform @@ -17,7 +17,7 @@ _LOGGER = logging.getLogger(__name__) DOMAIN = "balboa" CLIMATE_SUPPORTED_FANSTATES = [FAN_OFF, FAN_LOW, FAN_MEDIUM, FAN_HIGH] -CLIMATE_SUPPORTED_MODES = [HVAC_MODE_AUTO, HVAC_MODE_HEAT, HVAC_MODE_OFF] +CLIMATE_SUPPORTED_MODES = [HVACMode.AUTO, HVACMode.HEAT, HVACMode.OFF] CONF_SYNC_TIME = "sync_time" DEFAULT_SYNC_TIME = False PLATFORMS = [Platform.BINARY_SENSOR, Platform.CLIMATE] diff --git a/tests/components/balboa/test_climate.py b/tests/components/balboa/test_climate.py index 94a5b612f2c..ce3498c1d9f 100644 --- a/tests/components/balboa/test_climate.py +++ b/tests/components/balboa/test_climate.py @@ -13,18 +13,13 @@ from homeassistant.components.climate.const import ( ATTR_MIN_TEMP, ATTR_PRESET_MODE, ATTR_PRESET_MODES, - CURRENT_HVAC_HEAT, - CURRENT_HVAC_IDLE, FAN_HIGH, FAN_LOW, FAN_MEDIUM, FAN_OFF, - HVAC_MODE_AUTO, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, - SUPPORT_FAN_MODE, - SUPPORT_PRESET_MODE, - SUPPORT_TARGET_TEMPERATURE, + ClimateEntityFeature, + HVACAction, + HVACMode, ) from homeassistant.const import ATTR_TEMPERATURE, TEMP_FAHRENHEIT from homeassistant.core import HomeAssistant @@ -41,9 +36,9 @@ FAN_SETTINGS = [ ] HVAC_SETTINGS = [ - HVAC_MODE_HEAT, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.OFF, + HVACMode.AUTO, ] ENTITY_CLIMATE = "climate.fakespa_climate" @@ -58,13 +53,13 @@ async def test_spa_defaults(hass: HomeAssistant, client: MagicMock) -> None: assert state assert ( state.attributes["supported_features"] - == SUPPORT_TARGET_TEMPERATURE | SUPPORT_PRESET_MODE + == ClimateEntityFeature.TARGET_TEMPERATURE | ClimateEntityFeature.PRESET_MODE ) - assert state.state == HVAC_MODE_HEAT + assert state.state == HVACMode.HEAT assert state.attributes[ATTR_MIN_TEMP] == 10.0 assert state.attributes[ATTR_MAX_TEMP] == 40.0 assert state.attributes[ATTR_PRESET_MODE] == "Ready" - assert state.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert state.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE async def test_spa_defaults_fake_tscale(hass: HomeAssistant, client: MagicMock) -> None: @@ -78,13 +73,13 @@ async def test_spa_defaults_fake_tscale(hass: HomeAssistant, client: MagicMock) assert state assert ( state.attributes["supported_features"] - == SUPPORT_TARGET_TEMPERATURE | SUPPORT_PRESET_MODE + == ClimateEntityFeature.TARGET_TEMPERATURE | ClimateEntityFeature.PRESET_MODE ) - assert state.state == HVAC_MODE_HEAT + assert state.state == HVACMode.HEAT assert state.attributes[ATTR_MIN_TEMP] == 10.0 assert state.attributes[ATTR_MAX_TEMP] == 40.0 assert state.attributes[ATTR_PRESET_MODE] == "Ready" - assert state.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert state.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE async def test_spa_with_blower(hass: HomeAssistant, client: MagicMock) -> None: @@ -102,7 +97,9 @@ async def test_spa_with_blower(hass: HomeAssistant, client: MagicMock) -> None: assert state assert ( state.attributes["supported_features"] - == SUPPORT_TARGET_TEMPERATURE | SUPPORT_PRESET_MODE | SUPPORT_FAN_MODE + == ClimateEntityFeature.TARGET_TEMPERATURE + | ClimateEntityFeature.PRESET_MODE + | ClimateEntityFeature.FAN_MODE ) for fan_state in range(4): @@ -151,7 +148,7 @@ async def test_spa_hvac_modes(hass: HomeAssistant, client: MagicMock) -> None: state = await _patch_spa_heatmode(hass, config_entry, heat_mode, client) assert state modes = state.attributes.get(ATTR_HVAC_MODES) - assert [HVAC_MODE_AUTO, HVAC_MODE_HEAT, HVAC_MODE_OFF] == modes + assert [HVACMode.AUTO, HVACMode.HEAT, HVACMode.OFF] == modes assert state.state == HVAC_SETTINGS[heat_mode] with pytest.raises(ValueError): @@ -166,10 +163,10 @@ async def test_spa_hvac_action(hass: HomeAssistant, client: MagicMock) -> None: # try out the different heat states state = await _patch_spa_heatstate(hass, config_entry, 1, client) assert state - assert state.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_HEAT + assert state.attributes[ATTR_HVAC_ACTION] == HVACAction.HEATING state = await _patch_spa_heatstate(hass, config_entry, 0, client) - assert state.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert state.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE async def test_spa_preset_modes(hass: HomeAssistant, client: MagicMock) -> None: