From 09393d6f64f055ea4c87d118f4b4770eba2fc0d0 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 26 Apr 2022 09:18:00 +0200 Subject: [PATCH] Use climate enums in modbus (#70693) --- homeassistant/components/modbus/climate.py | 10 +++++----- tests/components/modbus/test_climate.py | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/modbus/climate.py b/homeassistant/components/modbus/climate.py index 622308444f6..eb2706c6334 100644 --- a/homeassistant/components/modbus/climate.py +++ b/homeassistant/components/modbus/climate.py @@ -5,8 +5,8 @@ from datetime import datetime import struct from typing import Any -from homeassistant.components.climate import ClimateEntity, ClimateEntityFeature -from homeassistant.components.climate.const import HVAC_MODE_AUTO +from homeassistant.components.climate import ClimateEntity +from homeassistant.components.climate.const import ClimateEntityFeature, HVACMode from homeassistant.const import ( ATTR_TEMPERATURE, CONF_NAME, @@ -60,6 +60,8 @@ async def async_setup_platform( class ModbusThermostat(BaseStructPlatform, RestoreEntity, ClimateEntity): """Representation of a Modbus Thermostat.""" + _attr_hvac_mode = HVACMode.AUTO + _attr_hvac_modes = [HVACMode.AUTO] _attr_supported_features = ClimateEntityFeature.TARGET_TEMPERATURE def __init__( @@ -72,8 +74,6 @@ class ModbusThermostat(BaseStructPlatform, RestoreEntity, ClimateEntity): self._target_temperature_register = config[CONF_TARGET_TEMP] self._unit = config[CONF_TEMPERATURE_UNIT] - self._attr_hvac_mode = HVAC_MODE_AUTO - self._attr_hvac_modes = [HVAC_MODE_AUTO] self._attr_current_temperature = None self._attr_target_temperature = None self._attr_temperature_unit = ( @@ -94,7 +94,7 @@ class ModbusThermostat(BaseStructPlatform, RestoreEntity, ClimateEntity): if state and state.attributes.get(ATTR_TEMPERATURE): self._attr_target_temperature = float(state.attributes[ATTR_TEMPERATURE]) - async def async_set_hvac_mode(self, hvac_mode: str) -> None: + async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: """Set new target hvac mode.""" # Home Assistant expects this method. # We'll keep it here to avoid getting exceptions. diff --git a/tests/components/modbus/test_climate.py b/tests/components/modbus/test_climate.py index a2c83a60640..e19a2b18186 100644 --- a/tests/components/modbus/test_climate.py +++ b/tests/components/modbus/test_climate.py @@ -2,7 +2,7 @@ import pytest from homeassistant.components.climate import DOMAIN as CLIMATE_DOMAIN -from homeassistant.components.climate.const import HVAC_MODE_AUTO +from homeassistant.components.climate.const import HVACMode from homeassistant.components.modbus.const import ( CONF_CLIMATES, CONF_DATA_TYPE, @@ -223,7 +223,7 @@ test_value.attributes = {ATTR_TEMPERATURE: 37} async def test_restore_state_climate(hass, mock_test_state, mock_modbus): """Run test for sensor restore state.""" state = hass.states.get(ENTITY_ID) - assert state.state == HVAC_MODE_AUTO + assert state.state == HVACMode.AUTO assert state.attributes[ATTR_TEMPERATURE] == 37