diff --git a/homeassistant/components/nexia/climate.py b/homeassistant/components/nexia/climate.py index e14ef7efdd4f..fc85f72e503b 100644 --- a/homeassistant/components/nexia/climate.py +++ b/homeassistant/components/nexia/climate.py @@ -18,21 +18,15 @@ from nexia.util import find_humidity_setpoint from nexia.zone import NexiaThermostatZone import voluptuous as vol -from homeassistant.components.climate import ClimateEntity, ClimateEntityFeature +from homeassistant.components.climate import ClimateEntity from homeassistant.components.climate.const import ( ATTR_HUMIDITY, ATTR_HVAC_MODE, ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW, - CURRENT_HVAC_COOL, - CURRENT_HVAC_HEAT, - CURRENT_HVAC_IDLE, - CURRENT_HVAC_OFF, - HVAC_MODE_AUTO, - HVAC_MODE_COOL, - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + ClimateEntityFeature, + HVACAction, + HVACMode, ) from homeassistant.config_entries import ConfigEntry from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS, TEMP_FAHRENHEIT @@ -75,7 +69,7 @@ SET_HVAC_RUN_MODE_SCHEMA = vol.All( { vol.Optional(ATTR_RUN_MODE): vol.In([HOLD_PERMANENT, HOLD_RESUME_SCHEDULE]), vol.Optional(ATTR_HVAC_MODE): vol.In( - [HVAC_MODE_HEAT, HVAC_MODE_COOL, HVAC_MODE_AUTO] + [HVACMode.HEAT, HVACMode.COOL, HVACMode.AUTO] ), } ), @@ -91,22 +85,22 @@ SET_HVAC_RUN_MODE_SCHEMA = vol.All( # # HA_TO_NEXIA_HVAC_MODE_MAP = { - HVAC_MODE_HEAT: OPERATION_MODE_HEAT, - HVAC_MODE_COOL: OPERATION_MODE_COOL, - HVAC_MODE_HEAT_COOL: OPERATION_MODE_AUTO, - HVAC_MODE_AUTO: OPERATION_MODE_AUTO, - HVAC_MODE_OFF: OPERATION_MODE_OFF, + HVACMode.HEAT: OPERATION_MODE_HEAT, + HVACMode.COOL: OPERATION_MODE_COOL, + HVACMode.HEAT_COOL: OPERATION_MODE_AUTO, + HVACMode.AUTO: OPERATION_MODE_AUTO, + HVACMode.OFF: OPERATION_MODE_OFF, } NEXIA_TO_HA_HVAC_MODE_MAP = { value: key for key, value in HA_TO_NEXIA_HVAC_MODE_MAP.items() } HVAC_MODES = [ - HVAC_MODE_OFF, - HVAC_MODE_AUTO, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_HEAT, - HVAC_MODE_COOL, + HVACMode.OFF, + HVACMode.AUTO, + HVACMode.HEAT_COOL, + HVACMode.HEAT, + HVACMode.COOL, ] NEXIA_SUPPORTED = ( @@ -275,25 +269,25 @@ class NexiaZone(NexiaThermostatZoneEntity, ClimateEntity): return self._zone.get_heating_setpoint() @property - def hvac_action(self) -> str: + def hvac_action(self) -> HVACAction: """Operation ie. heat, cool, idle.""" system_status = self._thermostat.get_system_status() zone_called = self._zone.is_calling() if self._zone.get_requested_mode() == OPERATION_MODE_OFF: - return CURRENT_HVAC_OFF + return HVACAction.OFF if not zone_called: - return CURRENT_HVAC_IDLE + return HVACAction.IDLE if system_status == SYSTEM_STATUS_COOL: - return CURRENT_HVAC_COOL + return HVACAction.COOLING if system_status == SYSTEM_STATUS_HEAT: - return CURRENT_HVAC_HEAT + return HVACAction.HEATING if system_status == SYSTEM_STATUS_IDLE: - return CURRENT_HVAC_IDLE - return CURRENT_HVAC_IDLE + return HVACAction.IDLE + return HVACAction.IDLE @property - def hvac_mode(self): + def hvac_mode(self) -> HVACMode: """Return current mode, as the user-visible name.""" mode = self._zone.get_requested_mode() hold = self._zone.is_in_permanent_hold() @@ -304,7 +298,7 @@ class NexiaZone(NexiaThermostatZoneEntity, ClimateEntity): # heating and cooling to the # temp range. if hold and mode == OPERATION_MODE_AUTO: - return HVAC_MODE_HEAT_COOL + return HVACMode.HEAT_COOL return NEXIA_TO_HA_HVAC_MODE_MAP[mode] @@ -406,9 +400,9 @@ class NexiaZone(NexiaThermostatZoneEntity, ClimateEntity): self.set_hvac_mode(OPERATION_MODE_AUTO) self._signal_zone_update() - def set_hvac_mode(self, hvac_mode: str) -> None: + def set_hvac_mode(self, hvac_mode: HVACMode) -> None: """Set the system mode (Auto, Heat_Cool, Cool, Heat, etc).""" - if hvac_mode == HVAC_MODE_AUTO: + if hvac_mode == HVACMode.AUTO: self._zone.call_return_to_schedule() self._zone.set_mode(mode=OPERATION_MODE_AUTO) else: diff --git a/tests/components/nexia/test_climate.py b/tests/components/nexia/test_climate.py index fe47ceeffe46..edd5d56e79a6 100644 --- a/tests/components/nexia/test_climate.py +++ b/tests/components/nexia/test_climate.py @@ -1,6 +1,5 @@ """The lock tests for the august platform.""" - -from homeassistant.components.climate.const import HVAC_MODE_HEAT_COOL +from homeassistant.components.climate.const import HVACMode from .util import async_init_integration @@ -11,7 +10,7 @@ async def test_climate_zones(hass): await async_init_integration(hass) state = hass.states.get("climate.nick_office") - assert state.state == HVAC_MODE_HEAT_COOL + assert state.state == HVACMode.HEAT_COOL expected_attributes = { "attribution": "Data provided by mynexia.com", "current_humidity": 52.0, @@ -45,7 +44,7 @@ async def test_climate_zones(hass): ) state = hass.states.get("climate.kitchen") - assert state.state == HVAC_MODE_HEAT_COOL + assert state.state == HVACMode.HEAT_COOL expected_attributes = { "attribution": "Data provided by mynexia.com",