diff --git a/homeassistant/components/oem/climate.py b/homeassistant/components/oem/climate.py index babd93953db..846113fb586 100644 --- a/homeassistant/components/oem/climate.py +++ b/homeassistant/components/oem/climate.py @@ -5,18 +5,11 @@ from oemthermostat import Thermostat import requests import voluptuous as vol -from homeassistant.components.climate import ( - PLATFORM_SCHEMA, - ClimateEntity, - ClimateEntityFeature, -) +from homeassistant.components.climate import PLATFORM_SCHEMA, ClimateEntity from homeassistant.components.climate.const import ( - CURRENT_HVAC_HEAT, - CURRENT_HVAC_IDLE, - CURRENT_HVAC_OFF, - HVAC_MODE_AUTO, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, + ClimateEntityFeature, + HVACAction, + HVACMode, ) from homeassistant.const import ( ATTR_TEMPERATURE, @@ -42,7 +35,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( } ) -SUPPORT_HVAC = [HVAC_MODE_AUTO, HVAC_MODE_HEAT, HVAC_MODE_OFF] +SUPPORT_HVAC = [HVACMode.AUTO, HVACMode.HEAT, HVACMode.OFF] def setup_platform( @@ -69,6 +62,7 @@ def setup_platform( class ThermostatDevice(ClimateEntity): """Interface class for the oemthermostat module.""" + _attr_hvac_modes = SUPPORT_HVAC _attr_supported_features = ClimateEntityFeature.TARGET_TEMPERATURE def __init__(self, thermostat, name): @@ -83,24 +77,16 @@ class ThermostatDevice(ClimateEntity): self._mode = None @property - def hvac_mode(self): + def hvac_mode(self) -> HVACMode: """Return hvac operation ie. heat, cool mode. Need to be one of HVAC_MODE_*. """ if self._mode == 2: - return HVAC_MODE_HEAT + return HVACMode.HEAT if self._mode == 1: - return HVAC_MODE_AUTO - return HVAC_MODE_OFF - - @property - def hvac_modes(self): - """Return the list of available hvac operation modes. - - Need to be a subset of HVAC_MODES. - """ - return SUPPORT_HVAC + return HVACMode.AUTO + return HVACMode.OFF @property def name(self): @@ -113,13 +99,13 @@ class ThermostatDevice(ClimateEntity): return TEMP_CELSIUS @property - def hvac_action(self): + def hvac_action(self) -> HVACAction: """Return current hvac i.e. heat, cool, idle.""" if not self._mode: - return CURRENT_HVAC_OFF + return HVACAction.OFF if self._state: - return CURRENT_HVAC_HEAT - return CURRENT_HVAC_IDLE + return HVACAction.HEATING + return HVACAction.IDLE @property def current_temperature(self): @@ -131,13 +117,13 @@ class ThermostatDevice(ClimateEntity): """Return the temperature we try to reach.""" return self._setpoint - def set_hvac_mode(self, hvac_mode): + def set_hvac_mode(self, hvac_mode: HVACMode) -> None: """Set new target hvac mode.""" - if hvac_mode == HVAC_MODE_AUTO: + if hvac_mode == HVACMode.AUTO: self.thermostat.mode = 1 - elif hvac_mode == HVAC_MODE_HEAT: + elif hvac_mode == HVACMode.HEAT: self.thermostat.mode = 2 - elif hvac_mode == HVAC_MODE_OFF: + elif hvac_mode == HVACMode.OFF: self.thermostat.mode = 0 def set_temperature(self, **kwargs):