From f453726b1862d1d247f6aefdd5f23455b87c11cf Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Tue, 20 Sep 2022 20:30:54 +0200 Subject: [PATCH] Cleanup HVACAction and HVACMode in tests (#78813) --- .../components/climate/test_device_action.py | 14 +- .../climate/test_device_condition.py | 14 +- .../components/climate/test_device_trigger.py | 34 +- tests/components/climate/test_init.py | 13 +- .../climate/test_reproduce_state.py | 16 +- tests/components/emulated_hue/test_hue_api.py | 2 +- .../google_assistant/test_smart_home.py | 8 +- .../homekit/test_type_thermostats.py | 560 +++++++++--------- .../maxcube/test_maxcube_climate.py | 61 +- tests/components/nest/test_climate_sdm.py | 269 ++++----- tests/components/prometheus/test_init.py | 21 +- 11 files changed, 497 insertions(+), 515 deletions(-) diff --git a/tests/components/climate/test_device_action.py b/tests/components/climate/test_device_action.py index 15e06835924..b0cd115362a 100644 --- a/tests/components/climate/test_device_action.py +++ b/tests/components/climate/test_device_action.py @@ -3,7 +3,7 @@ import pytest import voluptuous_serialize import homeassistant.components.automation as automation -from homeassistant.components.climate import DOMAIN, const, device_action +from homeassistant.components.climate import DOMAIN, HVACMode, const, device_action from homeassistant.components.device_automation import DeviceAutomationType from homeassistant.helpers import config_validation as cv, device_registry from homeassistant.helpers.entity import EntityCategory @@ -152,9 +152,9 @@ async def test_action(hass): """Test for actions.""" hass.states.async_set( "climate.entity", - const.HVAC_MODE_COOL, + HVACMode.COOL, { - const.ATTR_HVAC_MODES: [const.HVAC_MODE_COOL, const.HVAC_MODE_OFF], + const.ATTR_HVAC_MODES: [HVACMode.COOL, HVACMode.OFF], const.ATTR_PRESET_MODES: [const.PRESET_HOME, const.PRESET_AWAY], }, ) @@ -174,7 +174,7 @@ async def test_action(hass): "device_id": "abcdefgh", "entity_id": "climate.entity", "type": "set_hvac_mode", - "hvac_mode": const.HVAC_MODE_OFF, + "hvac_mode": HVACMode.OFF, }, }, { @@ -213,7 +213,7 @@ async def test_action(hass): [ ( False, - {const.ATTR_HVAC_MODES: [const.HVAC_MODE_COOL, const.HVAC_MODE_OFF]}, + {const.ATTR_HVAC_MODES: [HVACMode.COOL, HVACMode.OFF]}, {}, "set_hvac_mode", [ @@ -242,7 +242,7 @@ async def test_action(hass): ( True, {}, - {const.ATTR_HVAC_MODES: [const.HVAC_MODE_COOL, const.HVAC_MODE_OFF]}, + {const.ATTR_HVAC_MODES: [HVACMode.COOL, HVACMode.OFF]}, "set_hvac_mode", [ { @@ -296,7 +296,7 @@ async def test_capabilities( if set_state: hass.states.async_set( f"{DOMAIN}.test_5678", - const.HVAC_MODE_COOL, + HVACMode.COOL, capabilities_state, ) diff --git a/tests/components/climate/test_device_condition.py b/tests/components/climate/test_device_condition.py index ce496812105..72298042ee8 100644 --- a/tests/components/climate/test_device_condition.py +++ b/tests/components/climate/test_device_condition.py @@ -3,7 +3,7 @@ import pytest import voluptuous_serialize import homeassistant.components.automation as automation -from homeassistant.components.climate import DOMAIN, const, device_condition +from homeassistant.components.climate import DOMAIN, HVACMode, const, device_condition from homeassistant.components.device_automation import DeviceAutomationType from homeassistant.helpers import config_validation as cv, device_registry from homeassistant.helpers.entity import EntityCategory @@ -207,7 +207,7 @@ async def test_if_state(hass, calls): hass.states.async_set( "climate.entity", - const.HVAC_MODE_COOL, + HVACMode.COOL, { const.ATTR_PRESET_MODE: const.PRESET_AWAY, }, @@ -220,7 +220,7 @@ async def test_if_state(hass, calls): hass.states.async_set( "climate.entity", - const.HVAC_MODE_AUTO, + HVACMode.AUTO, { const.ATTR_PRESET_MODE: const.PRESET_AWAY, }, @@ -239,7 +239,7 @@ async def test_if_state(hass, calls): hass.states.async_set( "climate.entity", - const.HVAC_MODE_AUTO, + HVACMode.AUTO, { const.ATTR_PRESET_MODE: const.PRESET_HOME, }, @@ -256,7 +256,7 @@ async def test_if_state(hass, calls): [ ( False, - {const.ATTR_HVAC_MODES: [const.HVAC_MODE_COOL, const.HVAC_MODE_OFF]}, + {const.ATTR_HVAC_MODES: [HVACMode.COOL, HVACMode.OFF]}, {}, "is_hvac_mode", [ @@ -285,7 +285,7 @@ async def test_if_state(hass, calls): ( True, {}, - {const.ATTR_HVAC_MODES: [const.HVAC_MODE_COOL, const.HVAC_MODE_OFF]}, + {const.ATTR_HVAC_MODES: [HVACMode.COOL, HVACMode.OFF]}, "is_hvac_mode", [ { @@ -339,7 +339,7 @@ async def test_capabilities( if set_state: hass.states.async_set( f"{DOMAIN}.test_5678", - const.HVAC_MODE_COOL, + HVACMode.COOL, capabilities_state, ) diff --git a/tests/components/climate/test_device_trigger.py b/tests/components/climate/test_device_trigger.py index c66d5bcf468..25e1a9d920d 100644 --- a/tests/components/climate/test_device_trigger.py +++ b/tests/components/climate/test_device_trigger.py @@ -3,7 +3,13 @@ import pytest import voluptuous_serialize import homeassistant.components.automation as automation -from homeassistant.components.climate import DOMAIN, const, device_trigger +from homeassistant.components.climate import ( + DOMAIN, + HVACAction, + HVACMode, + const, + device_trigger, +) from homeassistant.components.device_automation import DeviceAutomationType from homeassistant.const import TEMP_CELSIUS from homeassistant.helpers import config_validation as cv, device_registry @@ -52,9 +58,9 @@ async def test_get_triggers(hass, device_reg, entity_reg): entity_id = f"{DOMAIN}.test_5678" hass.states.async_set( entity_id, - const.HVAC_MODE_COOL, + HVACMode.COOL, { - const.ATTR_HVAC_ACTION: const.HVACAction.IDLE, + const.ATTR_HVAC_ACTION: HVACAction.IDLE, const.ATTR_CURRENT_HUMIDITY: 23, const.ATTR_CURRENT_TEMPERATURE: 18, }, @@ -114,9 +120,9 @@ async def test_get_triggers_hidden_auxiliary( entity_id = f"{DOMAIN}.test_5678" hass.states.async_set( entity_id, - const.HVAC_MODE_COOL, + HVACMode.COOL, { - const.ATTR_HVAC_ACTION: const.CURRENT_HVAC_IDLE, + const.ATTR_HVAC_ACTION: HVACAction.IDLE, const.ATTR_CURRENT_HUMIDITY: 23, const.ATTR_CURRENT_TEMPERATURE: 18, }, @@ -146,9 +152,9 @@ async def test_if_fires_on_state_change(hass, calls): """Test for turn_on and turn_off triggers firing.""" hass.states.async_set( "climate.entity", - const.HVAC_MODE_COOL, + HVACMode.COOL, { - const.ATTR_HVAC_ACTION: const.HVACAction.IDLE, + const.ATTR_HVAC_ACTION: HVACAction.IDLE, const.ATTR_CURRENT_HUMIDITY: 23, const.ATTR_CURRENT_TEMPERATURE: 18, }, @@ -166,7 +172,7 @@ async def test_if_fires_on_state_change(hass, calls): "device_id": "", "entity_id": "climate.entity", "type": "hvac_mode_changed", - "to": const.HVAC_MODE_AUTO, + "to": HVACMode.AUTO, }, "action": { "service": "test.automation", @@ -208,9 +214,9 @@ async def test_if_fires_on_state_change(hass, calls): # Fake that the HVAC mode is changing hass.states.async_set( "climate.entity", - const.HVAC_MODE_AUTO, + HVACMode.AUTO, { - const.ATTR_HVAC_ACTION: const.HVACAction.COOLING, + const.ATTR_HVAC_ACTION: HVACAction.COOLING, const.ATTR_CURRENT_HUMIDITY: 23, const.ATTR_CURRENT_TEMPERATURE: 18, }, @@ -222,9 +228,9 @@ async def test_if_fires_on_state_change(hass, calls): # Fake that the temperature is changing hass.states.async_set( "climate.entity", - const.HVAC_MODE_AUTO, + HVACMode.AUTO, { - const.ATTR_HVAC_ACTION: const.HVACAction.COOLING, + const.ATTR_HVAC_ACTION: HVACAction.COOLING, const.ATTR_CURRENT_HUMIDITY: 23, const.ATTR_CURRENT_TEMPERATURE: 23, }, @@ -236,9 +242,9 @@ async def test_if_fires_on_state_change(hass, calls): # Fake that the humidity is changing hass.states.async_set( "climate.entity", - const.HVAC_MODE_AUTO, + HVACMode.AUTO, { - const.ATTR_HVAC_ACTION: const.HVACAction.COOLING, + const.ATTR_HVAC_ACTION: HVACAction.COOLING, const.ATTR_CURRENT_HUMIDITY: 7, const.ATTR_CURRENT_TEMPERATURE: 23, }, diff --git a/tests/components/climate/test_init.py b/tests/components/climate/test_init.py index 1109704e1c4..7f780fb05c2 100644 --- a/tests/components/climate/test_init.py +++ b/tests/components/climate/test_init.py @@ -7,10 +7,9 @@ import pytest import voluptuous as vol from homeassistant.components.climate import ( - HVAC_MODE_HEAT, - HVAC_MODE_OFF, SET_TEMPERATURE_SCHEMA, ClimateEntity, + HVACMode, ) from tests.common import async_mock_service @@ -50,20 +49,20 @@ class MockClimateEntity(ClimateEntity): """Mock Climate device to use in tests.""" @property - def hvac_mode(self) -> str: + def hvac_mode(self) -> HVACMode: """Return hvac operation ie. heat, cool mode. - Need to be one of HVAC_MODE_*. + Need to be one of HVACMode.*. """ - return HVAC_MODE_HEAT + return HVACMode.HEAT @property - def hvac_modes(self) -> list[str]: + def hvac_modes(self) -> list[HVACMode]: """Return the list of available hvac operation modes. Need to be a subset of HVAC_MODES. """ - return [HVAC_MODE_OFF, HVAC_MODE_HEAT] + return [HVACMode.OFF, HVACMode.HEAT] def turn_on(self) -> None: """Turn on.""" diff --git a/tests/components/climate/test_reproduce_state.py b/tests/components/climate/test_reproduce_state.py index a6839043e62..c91340b43cb 100644 --- a/tests/components/climate/test_reproduce_state.py +++ b/tests/components/climate/test_reproduce_state.py @@ -11,9 +11,6 @@ from homeassistant.components.climate.const import ( ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW, DOMAIN, - HVAC_MODE_AUTO, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, SERVICE_SET_AUX_HEAT, SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY, @@ -21,6 +18,7 @@ from homeassistant.components.climate.const import ( SERVICE_SET_PRESET_MODE, SERVICE_SET_SWING_MODE, SERVICE_SET_TEMPERATURE, + HVACMode, ) from homeassistant.components.climate.reproduce_state import async_reproduce_states from homeassistant.const import ATTR_TEMPERATURE @@ -32,7 +30,7 @@ ENTITY_1 = "climate.test1" ENTITY_2 = "climate.test2" -@pytest.mark.parametrize("state", [HVAC_MODE_AUTO, HVAC_MODE_HEAT, HVAC_MODE_OFF]) +@pytest.mark.parametrize("state", [HVACMode.AUTO, HVACMode.HEAT, HVACMode.OFF]) async def test_with_hvac_mode(hass, state): """Test that state different hvac states.""" calls = async_mock_service(hass, DOMAIN, SERVICE_SET_HVAC_MODE) @@ -50,7 +48,7 @@ async def test_multiple_state(hass): calls_1 = async_mock_service(hass, DOMAIN, SERVICE_SET_HVAC_MODE) await async_reproduce_states( - hass, [State(ENTITY_1, HVAC_MODE_HEAT), State(ENTITY_2, HVAC_MODE_AUTO)] + hass, [State(ENTITY_1, HVACMode.HEAT), State(ENTITY_2, HVACMode.AUTO)] ) await hass.async_block_till_done() @@ -58,11 +56,11 @@ async def test_multiple_state(hass): assert len(calls_1) == 2 # order is not guaranteed assert any( - call.data == {"entity_id": ENTITY_1, "hvac_mode": HVAC_MODE_HEAT} + call.data == {"entity_id": ENTITY_1, "hvac_mode": HVACMode.HEAT} for call in calls_1 ) assert any( - call.data == {"entity_id": ENTITY_2, "hvac_mode": HVAC_MODE_AUTO} + call.data == {"entity_id": ENTITY_2, "hvac_mode": HVACMode.AUTO} for call in calls_1 ) @@ -85,13 +83,13 @@ async def test_state_with_context(hass): context = Context() await async_reproduce_states( - hass, [State(ENTITY_1, HVAC_MODE_HEAT)], context=context + hass, [State(ENTITY_1, HVACMode.HEAT)], context=context ) await hass.async_block_till_done() assert len(calls) == 1 - assert calls[0].data == {"entity_id": ENTITY_1, "hvac_mode": HVAC_MODE_HEAT} + assert calls[0].data == {"entity_id": ENTITY_1, "hvac_mode": HVACMode.HEAT} assert calls[0].context == context diff --git a/tests/components/emulated_hue/test_hue_api.py b/tests/components/emulated_hue/test_hue_api.py index e36903983fe..58303ce54a6 100644 --- a/tests/components/emulated_hue/test_hue_api.py +++ b/tests/components/emulated_hue/test_hue_api.py @@ -829,7 +829,7 @@ async def test_put_light_state_climate_set_temperature(hass_hue, hue_client): assert len(hvac_result_json) == 2 hvac = hass_hue.states.get("climate.hvac") - assert hvac.state == climate.const.HVAC_MODE_COOL + assert hvac.state == climate.HVACMode.COOL assert hvac.attributes[climate.ATTR_TEMPERATURE] == temperature # Make sure we can't change the ecobee temperature since it's not exposed diff --git a/tests/components/google_assistant/test_smart_home.py b/tests/components/google_assistant/test_smart_home.py index 3306cbbaf5a..af61cfedf40 100644 --- a/tests/components/google_assistant/test_smart_home.py +++ b/tests/components/google_assistant/test_smart_home.py @@ -5,11 +5,7 @@ from unittest.mock import ANY, call, patch import pytest from homeassistant.components import camera -from homeassistant.components.climate.const import ( - ATTR_MAX_TEMP, - ATTR_MIN_TEMP, - HVAC_MODE_HEAT, -) +from homeassistant.components.climate import ATTR_MAX_TEMP, ATTR_MIN_TEMP, HVACMode from homeassistant.components.demo.binary_sensor import DemoBinarySensor from homeassistant.components.demo.cover import DemoCover from homeassistant.components.demo.light import LIGHT_EFFECT_LIST, DemoLight @@ -807,7 +803,7 @@ async def test_raising_error_trait(hass): """Test raising an error while executing a trait command.""" hass.states.async_set( "climate.bla", - HVAC_MODE_HEAT, + HVACMode.HEAT, {ATTR_MIN_TEMP: 15, ATTR_MAX_TEMP: 30, ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS}, ) diff --git a/tests/components/homekit/test_type_thermostats.py b/tests/components/homekit/test_type_thermostats.py index 5f002fbbf6c..f0c21acd54c 100644 --- a/tests/components/homekit/test_type_thermostats.py +++ b/tests/components/homekit/test_type_thermostats.py @@ -4,7 +4,7 @@ from unittest.mock import patch from pyhap.const import HAP_REPR_AID, HAP_REPR_CHARS, HAP_REPR_IID, HAP_REPR_VALUE import pytest -from homeassistant.components.climate.const import ( +from homeassistant.components.climate import ( ATTR_CURRENT_HUMIDITY, ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE, @@ -22,11 +22,6 @@ from homeassistant.components.climate.const import ( ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW, ATTR_TARGET_TEMP_STEP, - CURRENT_HVAC_COOL, - CURRENT_HVAC_DRY, - CURRENT_HVAC_FAN, - CURRENT_HVAC_HEAT, - CURRENT_HVAC_IDLE, DEFAULT_MAX_TEMP, DEFAULT_MIN_HUMIDITY, DOMAIN as DOMAIN_CLIMATE, @@ -36,13 +31,6 @@ from homeassistant.components.climate.const import ( FAN_MEDIUM, FAN_OFF, FAN_ON, - HVAC_MODE_AUTO, - HVAC_MODE_COOL, - HVAC_MODE_DRY, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, SERVICE_SET_FAN_MODE, SERVICE_SET_SWING_MODE, SUPPORT_FAN_MODE, @@ -52,6 +40,8 @@ from homeassistant.components.climate.const import ( SWING_BOTH, SWING_HORIZONTAL, SWING_OFF, + HVACAction, + HVACMode, ) from homeassistant.components.homekit.const import ( ATTR_VALUE, @@ -96,16 +86,16 @@ async def test_thermostat(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -136,18 +126,18 @@ async def test_thermostat(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_HEAT, + HVACMode.HEAT, { ATTR_TEMPERATURE: 22.2, ATTR_CURRENT_TEMPERATURE: 17.8, - ATTR_HVAC_ACTION: CURRENT_HVAC_HEAT, + ATTR_HVAC_ACTION: HVACAction.HEATING, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -160,18 +150,18 @@ async def test_thermostat(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_HEAT, + HVACMode.HEAT, { ATTR_TEMPERATURE: 22.0, ATTR_CURRENT_TEMPERATURE: 23.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -184,18 +174,18 @@ async def test_thermostat(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_FAN_ONLY, + HVACMode.FAN_ONLY, { ATTR_TEMPERATURE: 20.0, ATTR_CURRENT_TEMPERATURE: 25.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_COOL, + ATTR_HVAC_ACTION: HVACAction.COOLING, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -208,11 +198,11 @@ async def test_thermostat(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_COOL, + HVACMode.COOL, { ATTR_TEMPERATURE: 20.0, ATTR_CURRENT_TEMPERATURE: 19.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, }, ) await hass.async_block_till_done() @@ -224,7 +214,7 @@ async def test_thermostat(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, {ATTR_TEMPERATURE: 22.0, ATTR_CURRENT_TEMPERATURE: 18.0}, ) await hass.async_block_till_done() @@ -236,18 +226,18 @@ async def test_thermostat(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_AUTO, + HVACMode.AUTO, { ATTR_TEMPERATURE: 22.0, ATTR_CURRENT_TEMPERATURE: 18.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_HEAT, + ATTR_HVAC_ACTION: HVACAction.HEATING, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -260,18 +250,18 @@ async def test_thermostat(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_HEAT_COOL, + HVACMode.HEAT_COOL, { ATTR_TEMPERATURE: 22.0, ATTR_CURRENT_TEMPERATURE: 25.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_COOL, + ATTR_HVAC_ACTION: HVACAction.COOLING, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -284,18 +274,18 @@ async def test_thermostat(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_AUTO, + HVACMode.AUTO, { ATTR_TEMPERATURE: 22.0, ATTR_CURRENT_TEMPERATURE: 22.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -308,18 +298,18 @@ async def test_thermostat(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_FAN_ONLY, + HVACMode.FAN_ONLY, { ATTR_TEMPERATURE: 22.0, ATTR_CURRENT_TEMPERATURE: 22.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_FAN, + ATTR_HVAC_ACTION: HVACAction.FAN, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -332,12 +322,12 @@ async def test_thermostat(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_DRY, + HVACMode.DRY, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE, ATTR_TEMPERATURE: 22.0, ATTR_CURRENT_TEMPERATURE: 22.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_DRY, + ATTR_HVAC_ACTION: HVACAction.DRYING, }, ) await hass.async_block_till_done() @@ -404,7 +394,7 @@ async def test_thermostat(hass, hk_driver, events): await hass.async_block_till_done() assert call_set_hvac_mode assert call_set_hvac_mode[0].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVAC_MODE_HEAT + assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVACMode.HEAT assert acc.char_target_heat_cool.value == 1 assert len(events) == 2 assert events[-1].data[ATTR_VALUE] == "TargetHeatingCoolingState to 1" @@ -424,7 +414,7 @@ async def test_thermostat(hass, hk_driver, events): await hass.async_block_till_done() assert call_set_hvac_mode assert call_set_hvac_mode[1].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[1].data[ATTR_HVAC_MODE] == HVAC_MODE_HEAT_COOL + assert call_set_hvac_mode[1].data[ATTR_HVAC_MODE] == HVACMode.HEAT_COOL assert acc.char_target_heat_cool.value == 3 assert len(events) == 3 assert events[-1].data[ATTR_VALUE] == "TargetHeatingCoolingState to 3" @@ -437,17 +427,17 @@ async def test_thermostat_auto(hass, hk_driver, events): # support_auto = True hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -470,19 +460,19 @@ async def test_thermostat_auto(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_HEAT_COOL, + HVACMode.HEAT_COOL, { ATTR_TARGET_TEMP_HIGH: 22.0, ATTR_TARGET_TEMP_LOW: 20.0, ATTR_CURRENT_TEMPERATURE: 18.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_HEAT, + ATTR_HVAC_ACTION: HVACAction.HEATING, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -496,19 +486,19 @@ async def test_thermostat_auto(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_COOL, + HVACMode.COOL, { ATTR_TARGET_TEMP_HIGH: 23.0, ATTR_TARGET_TEMP_LOW: 19.0, ATTR_CURRENT_TEMPERATURE: 24.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_COOL, + ATTR_HVAC_ACTION: HVACAction.COOLING, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -522,19 +512,19 @@ async def test_thermostat_auto(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_AUTO, + HVACMode.AUTO, { ATTR_TARGET_TEMP_HIGH: 23.0, ATTR_TARGET_TEMP_LOW: 19.0, ATTR_CURRENT_TEMPERATURE: 21.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -591,17 +581,17 @@ async def test_thermostat_mode_and_temp_change(hass, hk_driver, events): # support_auto = True hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -624,19 +614,19 @@ async def test_thermostat_mode_and_temp_change(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_COOL, + HVACMode.COOL, { ATTR_TARGET_TEMP_HIGH: 23.0, ATTR_TARGET_TEMP_LOW: 19.0, ATTR_CURRENT_TEMPERATURE: 21.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_COOL, + ATTR_HVAC_ACTION: HVACAction.COOLING, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -682,7 +672,7 @@ async def test_thermostat_mode_and_temp_change(hass, hk_driver, events): await hass.async_block_till_done() assert call_set_hvac_mode[0] assert call_set_hvac_mode[0].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVAC_MODE_HEAT_COOL + assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVACMode.HEAT_COOL assert call_set_temperature[0] assert call_set_temperature[0].data[ATTR_ENTITY_ID] == entity_id assert call_set_temperature[0].data[ATTR_TARGET_TEMP_LOW] == 20.0 @@ -702,7 +692,7 @@ async def test_thermostat_humidity(hass, hk_driver, events): entity_id = "climate.test" # support_auto = True - hass.states.async_set(entity_id, HVAC_MODE_OFF, {ATTR_SUPPORTED_FEATURES: 4}) + hass.states.async_set(entity_id, HVACMode.OFF, {ATTR_SUPPORTED_FEATURES: 4}) await hass.async_block_till_done() acc = Thermostat(hass, hk_driver, "Climate", entity_id, 1, None) hk_driver.add_accessory(acc) @@ -716,14 +706,14 @@ async def test_thermostat_humidity(hass, hk_driver, events): assert acc.char_target_humidity.properties[PROP_MIN_VALUE] == DEFAULT_MIN_HUMIDITY hass.states.async_set( - entity_id, HVAC_MODE_HEAT_COOL, {ATTR_HUMIDITY: 65, ATTR_CURRENT_HUMIDITY: 40} + entity_id, HVACMode.HEAT_COOL, {ATTR_HUMIDITY: 65, ATTR_CURRENT_HUMIDITY: 40} ) await hass.async_block_till_done() assert acc.char_current_humidity.value == 40 assert acc.char_target_humidity.value == 65 hass.states.async_set( - entity_id, HVAC_MODE_COOL, {ATTR_HUMIDITY: 35, ATTR_CURRENT_HUMIDITY: 70} + entity_id, HVACMode.COOL, {ATTR_HUMIDITY: 35, ATTR_CURRENT_HUMIDITY: 70} ) await hass.async_block_till_done() assert acc.char_current_humidity.value == 70 @@ -763,18 +753,18 @@ async def test_thermostat_power_state(hass, hk_driver, events): # SUPPORT_ON_OFF = True hass.states.async_set( entity_id, - HVAC_MODE_HEAT, + HVACMode.HEAT, { ATTR_SUPPORTED_FEATURES: 4096, ATTR_TEMPERATURE: 23.0, ATTR_CURRENT_TEMPERATURE: 18.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_HEAT, + ATTR_HVAC_ACTION: HVACAction.HEATING, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT_COOL, - HVAC_MODE_COOL, - HVAC_MODE_AUTO, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, + HVACMode.HEAT_COOL, + HVACMode.COOL, + HVACMode.AUTO, + HVACMode.HEAT, + HVACMode.OFF, ], }, ) @@ -790,17 +780,17 @@ async def test_thermostat_power_state(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_TEMPERATURE: 23.0, ATTR_CURRENT_TEMPERATURE: 18.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT_COOL, - HVAC_MODE_COOL, - HVAC_MODE_AUTO, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, + HVACMode.HEAT_COOL, + HVACMode.COOL, + HVACMode.AUTO, + HVACMode.HEAT, + HVACMode.OFF, ], }, ) @@ -810,17 +800,17 @@ async def test_thermostat_power_state(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_TEMPERATURE: 23.0, ATTR_CURRENT_TEMPERATURE: 18.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT_COOL, - HVAC_MODE_COOL, - HVAC_MODE_AUTO, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, + HVACMode.HEAT_COOL, + HVACMode.COOL, + HVACMode.AUTO, + HVACMode.HEAT, + HVACMode.OFF, ], }, ) @@ -849,7 +839,7 @@ async def test_thermostat_power_state(hass, hk_driver, events): await hass.async_block_till_done() assert call_set_hvac_mode assert call_set_hvac_mode[0].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVAC_MODE_HEAT + assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVACMode.HEAT assert acc.char_target_heat_cool.value == 1 assert len(events) == 1 assert events[-1].data[ATTR_VALUE] == "TargetHeatingCoolingState to 1" @@ -870,7 +860,7 @@ async def test_thermostat_power_state(hass, hk_driver, events): await hass.async_block_till_done() assert call_set_hvac_mode assert call_set_hvac_mode[1].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[1].data[ATTR_HVAC_MODE] == HVAC_MODE_COOL + assert call_set_hvac_mode[1].data[ATTR_HVAC_MODE] == HVACMode.COOL assert len(events) == 2 assert events[-1].data[ATTR_VALUE] == "TargetHeatingCoolingState to 2" assert acc.char_target_heat_cool.value == 2 @@ -883,7 +873,7 @@ async def test_thermostat_fahrenheit(hass, hk_driver, events): # support_ = True hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE @@ -898,7 +888,7 @@ async def test_thermostat_fahrenheit(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_HEAT_COOL, + HVACMode.HEAT_COOL, { ATTR_TARGET_TEMP_HIGH: 75.2, ATTR_TARGET_TEMP_LOW: 68.1, @@ -989,19 +979,19 @@ async def test_thermostat_get_temperature_range(hass, hk_driver): """Test if temperature range is evaluated correctly.""" entity_id = "climate.test" - hass.states.async_set(entity_id, HVAC_MODE_OFF) + hass.states.async_set(entity_id, HVACMode.OFF) await hass.async_block_till_done() acc = Thermostat(hass, hk_driver, "Climate", entity_id, 2, None) hass.states.async_set( - entity_id, HVAC_MODE_OFF, {ATTR_MIN_TEMP: 20, ATTR_MAX_TEMP: 25} + entity_id, HVACMode.OFF, {ATTR_MIN_TEMP: 20, ATTR_MAX_TEMP: 25} ) await hass.async_block_till_done() assert acc.get_temperature_range() == (20, 25) acc._unit = TEMP_FAHRENHEIT hass.states.async_set( - entity_id, HVAC_MODE_OFF, {ATTR_MIN_TEMP: 60, ATTR_MAX_TEMP: 70} + entity_id, HVACMode.OFF, {ATTR_MIN_TEMP: 60, ATTR_MAX_TEMP: 70} ) await hass.async_block_till_done() assert acc.get_temperature_range() == (15.5, 21.0) @@ -1011,7 +1001,7 @@ async def test_thermostat_temperature_step_whole(hass, hk_driver): """Test climate device with single digit precision.""" entity_id = "climate.test" - hass.states.async_set(entity_id, HVAC_MODE_OFF, {ATTR_TARGET_TEMP_STEP: 1}) + hass.states.async_set(entity_id, HVACMode.OFF, {ATTR_TARGET_TEMP_STEP: 1}) await hass.async_block_till_done() acc = Thermostat(hass, hk_driver, "Climate", entity_id, 1, None) hk_driver.add_accessory(acc) @@ -1039,7 +1029,7 @@ async def test_thermostat_restore(hass, hk_driver, events): capabilities={ ATTR_MIN_TEMP: 60, ATTR_MAX_TEMP: 70, - ATTR_HVAC_MODES: [HVAC_MODE_HEAT_COOL, HVAC_MODE_OFF], + ATTR_HVAC_MODES: [HVACMode.HEAT_COOL, HVACMode.OFF], }, supported_features=0, original_device_class="mock-device-class", @@ -1072,7 +1062,7 @@ async def test_thermostat_hvac_modes(hass, hk_driver): entity_id = "climate.test" hass.states.async_set( - entity_id, HVAC_MODE_OFF, {ATTR_HVAC_MODES: [HVAC_MODE_HEAT, HVAC_MODE_OFF]} + entity_id, HVACMode.OFF, {ATTR_HVAC_MODES: [HVACMode.HEAT, HVACMode.OFF]} ) await hass.async_block_till_done() @@ -1106,13 +1096,13 @@ async def test_thermostat_hvac_modes_with_auto_heat_cool(hass, hk_driver): hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT_COOL, - HVAC_MODE_AUTO, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, + HVACMode.HEAT_COOL, + HVACMode.AUTO, + HVACMode.HEAT, + HVACMode.OFF, ] }, ) @@ -1159,7 +1149,7 @@ async def test_thermostat_hvac_modes_with_auto_heat_cool(hass, hk_driver): await hass.async_block_till_done() assert call_set_hvac_mode assert call_set_hvac_mode[0].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVAC_MODE_HEAT_COOL + assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVACMode.HEAT_COOL assert acc.char_target_heat_cool.value == 3 @@ -1169,8 +1159,8 @@ async def test_thermostat_hvac_modes_with_auto_no_heat_cool(hass, hk_driver): hass.states.async_set( entity_id, - HVAC_MODE_HEAT, - {ATTR_HVAC_MODES: [HVAC_MODE_AUTO, HVAC_MODE_HEAT, HVAC_MODE_OFF]}, + HVACMode.HEAT, + {ATTR_HVAC_MODES: [HVACMode.AUTO, HVACMode.HEAT, HVACMode.OFF]}, ) call_set_hvac_mode = async_mock_service(hass, DOMAIN_CLIMATE, "set_hvac_mode") await hass.async_block_till_done() @@ -1216,7 +1206,7 @@ async def test_thermostat_hvac_modes_with_auto_no_heat_cool(hass, hk_driver): await hass.async_block_till_done() assert call_set_hvac_mode assert call_set_hvac_mode[0].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVAC_MODE_AUTO + assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVACMode.AUTO assert acc.char_target_heat_cool.value == 3 @@ -1225,7 +1215,7 @@ async def test_thermostat_hvac_modes_with_auto_only(hass, hk_driver): entity_id = "climate.test" hass.states.async_set( - entity_id, HVAC_MODE_AUTO, {ATTR_HVAC_MODES: [HVAC_MODE_AUTO, HVAC_MODE_OFF]} + entity_id, HVACMode.AUTO, {ATTR_HVAC_MODES: [HVACMode.AUTO, HVACMode.OFF]} ) await hass.async_block_till_done() @@ -1271,7 +1261,7 @@ async def test_thermostat_hvac_modes_with_auto_only(hass, hk_driver): await hass.async_block_till_done() assert call_set_hvac_mode assert call_set_hvac_mode[0].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVAC_MODE_AUTO + assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVACMode.AUTO async def test_thermostat_hvac_modes_with_heat_only(hass, hk_driver): @@ -1279,7 +1269,7 @@ async def test_thermostat_hvac_modes_with_heat_only(hass, hk_driver): entity_id = "climate.test" hass.states.async_set( - entity_id, HVAC_MODE_HEAT, {ATTR_HVAC_MODES: [HVAC_MODE_HEAT, HVAC_MODE_OFF]} + entity_id, HVACMode.HEAT, {ATTR_HVAC_MODES: [HVACMode.HEAT, HVACMode.OFF]} ) await hass.async_block_till_done() @@ -1326,13 +1316,13 @@ async def test_thermostat_hvac_modes_with_heat_only(hass, hk_driver): await hass.async_block_till_done() assert call_set_hvac_mode assert call_set_hvac_mode[0].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVAC_MODE_HEAT + assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVACMode.HEAT acc.char_target_heat_cool.client_update_value(HC_HEAT_COOL_OFF) await hass.async_block_till_done() assert acc.char_target_heat_cool.value == HC_HEAT_COOL_OFF hass.states.async_set( - entity_id, HVAC_MODE_OFF, {ATTR_HVAC_MODES: [HVAC_MODE_HEAT, HVAC_MODE_OFF]} + entity_id, HVACMode.OFF, {ATTR_HVAC_MODES: [HVACMode.HEAT, HVACMode.OFF]} ) await hass.async_block_till_done() @@ -1357,7 +1347,7 @@ async def test_thermostat_hvac_modes_with_cool_only(hass, hk_driver): entity_id = "climate.test" hass.states.async_set( - entity_id, HVAC_MODE_COOL, {ATTR_HVAC_MODES: [HVAC_MODE_COOL, HVAC_MODE_OFF]} + entity_id, HVACMode.COOL, {ATTR_HVAC_MODES: [HVACMode.COOL, HVACMode.OFF]} ) await hass.async_block_till_done() @@ -1402,7 +1392,7 @@ async def test_thermostat_hvac_modes_with_cool_only(hass, hk_driver): await hass.async_block_till_done() assert call_set_hvac_mode assert call_set_hvac_mode[0].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVAC_MODE_COOL + assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVACMode.COOL async def test_thermostat_hvac_modes_with_heat_cool_only(hass, hk_driver): @@ -1411,10 +1401,10 @@ async def test_thermostat_hvac_modes_with_heat_cool_only(hass, hk_driver): hass.states.async_set( entity_id, - HVAC_MODE_COOL, + HVACMode.COOL, { ATTR_CURRENT_TEMPERATURE: 30, - ATTR_HVAC_MODES: [HVAC_MODE_HEAT, HVAC_MODE_COOL, HVAC_MODE_OFF], + ATTR_HVAC_MODES: [HVACMode.HEAT, HVACMode.COOL, HVACMode.OFF], }, ) @@ -1468,7 +1458,7 @@ async def test_thermostat_hvac_modes_with_heat_cool_only(hass, hk_driver): await hass.async_block_till_done() assert call_set_hvac_mode assert call_set_hvac_mode[0].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVAC_MODE_COOL + assert call_set_hvac_mode[0].data[ATTR_HVAC_MODE] == HVACMode.COOL hk_driver.set_characteristics( { HAP_REPR_CHARS: [ @@ -1490,7 +1480,7 @@ async def test_thermostat_hvac_modes_with_heat_cool_only(hass, hk_driver): await hass.async_block_till_done() assert call_set_hvac_mode assert call_set_hvac_mode[1].data[ATTR_ENTITY_ID] == entity_id - assert call_set_hvac_mode[1].data[ATTR_HVAC_MODE] == HVAC_MODE_HEAT + assert call_set_hvac_mode[1].data[ATTR_HVAC_MODE] == HVACMode.HEAT async def test_thermostat_hvac_modes_without_off(hass, hk_driver): @@ -1498,7 +1488,7 @@ async def test_thermostat_hvac_modes_without_off(hass, hk_driver): entity_id = "climate.test" hass.states.async_set( - entity_id, HVAC_MODE_AUTO, {ATTR_HVAC_MODES: [HVAC_MODE_AUTO, HVAC_MODE_HEAT]} + entity_id, HVACMode.AUTO, {ATTR_HVAC_MODES: [HVACMode.AUTO, HVACMode.HEAT]} ) await hass.async_block_till_done() @@ -1537,7 +1527,7 @@ async def test_thermostat_without_target_temp_only_range(hass, hk_driver, events # support_auto = True hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, {ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE_RANGE}, ) await hass.async_block_till_done() @@ -1559,20 +1549,20 @@ async def test_thermostat_without_target_temp_only_range(hass, hk_driver, events hass.states.async_set( entity_id, - HVAC_MODE_HEAT_COOL, + HVACMode.HEAT_COOL, { ATTR_TARGET_TEMP_HIGH: 22.0, ATTR_TARGET_TEMP_LOW: 20.0, ATTR_CURRENT_TEMPERATURE: 18.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_HEAT, + ATTR_HVAC_ACTION: HVACAction.HEATING, ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE_RANGE, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -1586,20 +1576,20 @@ async def test_thermostat_without_target_temp_only_range(hass, hk_driver, events hass.states.async_set( entity_id, - HVAC_MODE_COOL, + HVACMode.COOL, { ATTR_TARGET_TEMP_HIGH: 23.0, ATTR_TARGET_TEMP_LOW: 19.0, ATTR_CURRENT_TEMPERATURE: 24.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_COOL, + ATTR_HVAC_ACTION: HVACAction.COOLING, ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE_RANGE, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -1613,20 +1603,20 @@ async def test_thermostat_without_target_temp_only_range(hass, hk_driver, events hass.states.async_set( entity_id, - HVAC_MODE_COOL, + HVACMode.COOL, { ATTR_TARGET_TEMP_HIGH: 23.0, ATTR_TARGET_TEMP_LOW: 19.0, ATTR_CURRENT_TEMPERATURE: 21.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE_RANGE, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -1667,12 +1657,12 @@ async def test_thermostat_without_target_temp_only_range(hass, hk_driver, events hass.states.async_set( entity_id, - HVAC_MODE_HEAT, + HVACMode.HEAT, { ATTR_TARGET_TEMP_HIGH: 23.0, ATTR_TARGET_TEMP_LOW: 19.0, ATTR_CURRENT_TEMPERATURE: 21.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE_RANGE, }, ) @@ -1716,7 +1706,7 @@ async def test_water_heater(hass, hk_driver, events): """Test if accessory and HA are updated accordingly.""" entity_id = "water_heater.test" - hass.states.async_set(entity_id, HVAC_MODE_HEAT) + hass.states.async_set(entity_id, HVACMode.HEAT) await hass.async_block_till_done() acc = WaterHeater(hass, hk_driver, "WaterHeater", entity_id, 2, None) await acc.run() @@ -1741,9 +1731,9 @@ async def test_water_heater(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_HEAT, + HVACMode.HEAT, { - ATTR_HVAC_MODE: HVAC_MODE_HEAT, + ATTR_HVAC_MODE: HVACMode.HEAT, ATTR_TEMPERATURE: 56.0, ATTR_CURRENT_TEMPERATURE: 35.0, }, @@ -1756,7 +1746,7 @@ async def test_water_heater(hass, hk_driver, events): assert acc.char_display_units.value == 0 hass.states.async_set( - entity_id, HVAC_MODE_HEAT_COOL, {ATTR_HVAC_MODE: HVAC_MODE_HEAT_COOL} + entity_id, HVACMode.HEAT_COOL, {ATTR_HVAC_MODE: HVACMode.HEAT_COOL} ) await hass.async_block_till_done() assert acc.char_target_heat_cool.value == 1 @@ -1790,14 +1780,14 @@ async def test_water_heater_fahrenheit(hass, hk_driver, events): """Test if accessory and HA are update accordingly.""" entity_id = "water_heater.test" - hass.states.async_set(entity_id, HVAC_MODE_HEAT) + hass.states.async_set(entity_id, HVACMode.HEAT) await hass.async_block_till_done() with patch.object(hass.config.units, CONF_TEMPERATURE_UNIT, new=TEMP_FAHRENHEIT): acc = WaterHeater(hass, hk_driver, "WaterHeater", entity_id, 2, None) await acc.run() await hass.async_block_till_done() - hass.states.async_set(entity_id, HVAC_MODE_HEAT, {ATTR_TEMPERATURE: 131}) + hass.states.async_set(entity_id, HVACMode.HEAT, {ATTR_TEMPERATURE: 131}) await hass.async_block_till_done() assert acc.char_target_temp.value == 55.0 assert acc.char_current_temp.value == 50 @@ -1822,19 +1812,19 @@ async def test_water_heater_get_temperature_range(hass, hk_driver): """Test if temperature range is evaluated correctly.""" entity_id = "water_heater.test" - hass.states.async_set(entity_id, HVAC_MODE_HEAT) + hass.states.async_set(entity_id, HVACMode.HEAT) await hass.async_block_till_done() acc = WaterHeater(hass, hk_driver, "WaterHeater", entity_id, 2, None) hass.states.async_set( - entity_id, HVAC_MODE_HEAT, {ATTR_MIN_TEMP: 20, ATTR_MAX_TEMP: 25} + entity_id, HVACMode.HEAT, {ATTR_MIN_TEMP: 20, ATTR_MAX_TEMP: 25} ) await hass.async_block_till_done() assert acc.get_temperature_range() == (20, 25) acc._unit = TEMP_FAHRENHEIT hass.states.async_set( - entity_id, HVAC_MODE_OFF, {ATTR_MIN_TEMP: 60, ATTR_MAX_TEMP: 70} + entity_id, HVACMode.OFF, {ATTR_MIN_TEMP: 60, ATTR_MAX_TEMP: 70} ) await hass.async_block_till_done() assert acc.get_temperature_range() == (15.5, 21.0) @@ -1890,7 +1880,7 @@ async def test_thermostat_with_no_modes_when_we_first_see(hass, hk_driver, event # support_auto = True hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE, @@ -1918,13 +1908,13 @@ async def test_thermostat_with_no_modes_when_we_first_see(hass, hk_driver, event hass.states.async_set( entity_id, - HVAC_MODE_HEAT_COOL, + HVACMode.HEAT_COOL, { ATTR_TARGET_TEMP_HIGH: 22.0, ATTR_TARGET_TEMP_LOW: 20.0, ATTR_CURRENT_TEMPERATURE: 18.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_HEAT, - ATTR_HVAC_MODES: [HVAC_MODE_HEAT_COOL, HVAC_MODE_OFF, HVAC_MODE_AUTO], + ATTR_HVAC_ACTION: HVACAction.HEATING, + ATTR_HVAC_MODES: [HVACMode.HEAT_COOL, HVACMode.OFF, HVACMode.AUTO], }, ) await hass.async_block_till_done() @@ -1943,7 +1933,7 @@ async def test_thermostat_with_no_off_after_recheck(hass, hk_driver, events): # support_auto = True hass.states.async_set( entity_id, - HVAC_MODE_COOL, + HVACMode.COOL, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE, @@ -1971,13 +1961,13 @@ async def test_thermostat_with_no_off_after_recheck(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_HEAT_COOL, + HVACMode.HEAT_COOL, { ATTR_TARGET_TEMP_HIGH: 22.0, ATTR_TARGET_TEMP_LOW: 20.0, ATTR_CURRENT_TEMPERATURE: 18.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_HEAT, - ATTR_HVAC_MODES: [HVAC_MODE_HEAT_COOL, HVAC_MODE_AUTO], + ATTR_HVAC_ACTION: HVACAction.HEATING, + ATTR_HVAC_MODES: [HVACMode.HEAT_COOL, HVACMode.AUTO], }, ) await hass.async_block_till_done() @@ -1995,7 +1985,7 @@ async def test_thermostat_with_temp_clamps(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_COOL, + HVACMode.COOL, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE, @@ -2025,13 +2015,13 @@ async def test_thermostat_with_temp_clamps(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_HEAT_COOL, + HVACMode.HEAT_COOL, { ATTR_TARGET_TEMP_HIGH: 822.0, ATTR_TARGET_TEMP_LOW: 20.0, ATTR_CURRENT_TEMPERATURE: 9918.0, - ATTR_HVAC_ACTION: CURRENT_HVAC_HEAT, - ATTR_HVAC_MODES: [HVAC_MODE_HEAT_COOL, HVAC_MODE_AUTO], + ATTR_HVAC_ACTION: HVACAction.HEATING, + ATTR_HVAC_MODES: [HVACMode.HEAT_COOL, HVACMode.AUTO], }, ) await hass.async_block_till_done() @@ -2048,7 +2038,7 @@ async def test_thermostat_with_fan_modes_with_auto(hass, hk_driver, events): entity_id = "climate.test" hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE @@ -2056,16 +2046,16 @@ async def test_thermostat_with_fan_modes_with_auto(hass, hk_driver, events): | SUPPORT_SWING_MODE, ATTR_FAN_MODES: [FAN_AUTO, FAN_LOW, FAN_MEDIUM, FAN_HIGH], ATTR_SWING_MODES: [SWING_BOTH, SWING_OFF, SWING_HORIZONTAL], - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_FAN_MODE: FAN_AUTO, ATTR_SWING_MODE: SWING_BOTH, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -2087,7 +2077,7 @@ async def test_thermostat_with_fan_modes_with_auto(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE @@ -2095,16 +2085,16 @@ async def test_thermostat_with_fan_modes_with_auto(hass, hk_driver, events): | SUPPORT_SWING_MODE, ATTR_FAN_MODES: [FAN_AUTO, FAN_LOW, FAN_MEDIUM, FAN_HIGH], ATTR_SWING_MODES: [SWING_BOTH, SWING_OFF, SWING_HORIZONTAL], - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_FAN_MODE: FAN_LOW, ATTR_SWING_MODE: SWING_BOTH, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -2252,7 +2242,7 @@ async def test_thermostat_with_fan_modes_with_off(hass, hk_driver, events): entity_id = "climate.test" hass.states.async_set( entity_id, - HVAC_MODE_COOL, + HVACMode.COOL, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE @@ -2260,16 +2250,16 @@ async def test_thermostat_with_fan_modes_with_off(hass, hk_driver, events): | SUPPORT_SWING_MODE, ATTR_FAN_MODES: [FAN_ON, FAN_OFF], ATTR_SWING_MODES: [SWING_BOTH, SWING_OFF, SWING_HORIZONTAL], - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_FAN_MODE: FAN_ON, ATTR_SWING_MODE: SWING_BOTH, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -2291,7 +2281,7 @@ async def test_thermostat_with_fan_modes_with_off(hass, hk_driver, events): hass.states.async_set( entity_id, - HVAC_MODE_COOL, + HVACMode.COOL, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE @@ -2299,16 +2289,16 @@ async def test_thermostat_with_fan_modes_with_off(hass, hk_driver, events): | SUPPORT_SWING_MODE, ATTR_FAN_MODES: [FAN_ON, FAN_OFF], ATTR_SWING_MODES: [SWING_BOTH, SWING_OFF, SWING_HORIZONTAL], - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_FAN_MODE: FAN_OFF, ATTR_SWING_MODE: SWING_BOTH, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -2359,7 +2349,7 @@ async def test_thermostat_with_fan_modes_set_to_none(hass, hk_driver, events): entity_id = "climate.test" hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE @@ -2367,16 +2357,16 @@ async def test_thermostat_with_fan_modes_set_to_none(hass, hk_driver, events): | SUPPORT_SWING_MODE, ATTR_FAN_MODES: None, ATTR_SWING_MODES: [SWING_BOTH, SWING_OFF, SWING_HORIZONTAL], - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_FAN_MODE: FAN_AUTO, ATTR_SWING_MODE: SWING_BOTH, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -2403,23 +2393,23 @@ async def test_thermostat_with_fan_modes_set_to_none_not_supported( entity_id = "climate.test" hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE | SUPPORT_SWING_MODE, ATTR_FAN_MODES: None, ATTR_SWING_MODES: [SWING_BOTH, SWING_OFF, SWING_HORIZONTAL], - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_FAN_MODE: FAN_AUTO, ATTR_SWING_MODE: SWING_BOTH, ATTR_HVAC_MODES: [ - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_FAN_ONLY, - HVAC_MODE_COOL, - HVAC_MODE_OFF, - HVAC_MODE_AUTO, + HVACMode.HEAT, + HVACMode.HEAT_COOL, + HVACMode.FAN_ONLY, + HVACMode.COOL, + HVACMode.OFF, + HVACMode.AUTO, ], }, ) @@ -2446,7 +2436,7 @@ async def test_thermostat_with_supported_features_target_temp_but_fan_mode_set( entity_id = "climate.test" hass.states.async_set( entity_id, - HVAC_MODE_OFF, + HVACMode.OFF, { ATTR_SUPPORTED_FEATURES: SUPPORT_TARGET_TEMPERATURE, ATTR_MIN_TEMP: 44.6, @@ -2457,13 +2447,13 @@ async def test_thermostat_with_supported_features_target_temp_but_fan_mode_set( ATTR_TARGET_TEMP_LOW: None, ATTR_FAN_MODE: FAN_AUTO, ATTR_FAN_MODES: None, - ATTR_HVAC_ACTION: CURRENT_HVAC_IDLE, + ATTR_HVAC_ACTION: HVACAction.IDLE, ATTR_FAN_MODE: FAN_AUTO, ATTR_PRESET_MODE: "home", ATTR_FRIENDLY_NAME: "Rec Room", ATTR_HVAC_MODES: [ - HVAC_MODE_OFF, - HVAC_MODE_HEAT, + HVACMode.OFF, + HVACMode.HEAT, ], }, ) diff --git a/tests/components/maxcube/test_maxcube_climate.py b/tests/components/maxcube/test_maxcube_climate.py index 1a3cd4945ce..f3c3eb17158 100644 --- a/tests/components/maxcube/test_maxcube_climate.py +++ b/tests/components/maxcube/test_maxcube_climate.py @@ -12,7 +12,7 @@ from maxcube.thermostat import MaxThermostat from maxcube.wallthermostat import MaxWallThermostat import pytest -from homeassistant.components.climate.const import ( +from homeassistant.components.climate import ( ATTR_CURRENT_TEMPERATURE, ATTR_HVAC_ACTION, ATTR_HVAC_MODE, @@ -23,14 +23,7 @@ from homeassistant.components.climate.const import ( ATTR_PRESET_MODES, ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW, - CURRENT_HVAC_HEAT, - CURRENT_HVAC_IDLE, - CURRENT_HVAC_OFF, DOMAIN as CLIMATE_DOMAIN, - HVAC_MODE_AUTO, - HVAC_MODE_DRY, - HVAC_MODE_HEAT, - HVAC_MODE_OFF, PRESET_AWAY, PRESET_BOOST, PRESET_COMFORT, @@ -40,6 +33,8 @@ from homeassistant.components.climate.const import ( SERVICE_SET_PRESET_MODE, SERVICE_SET_TEMPERATURE, ClimateEntityFeature, + HVACAction, + HVACMode, ) from homeassistant.components.maxcube.climate import ( MAX_TEMPERATURE, @@ -72,13 +67,13 @@ async def test_setup_thermostat(hass, cube: MaxCube): assert entity.unique_id == "AABBCCDD01" state = hass.states.get(ENTITY_ID) - assert state.state == HVAC_MODE_AUTO + assert state.state == HVACMode.AUTO assert state.attributes.get(ATTR_FRIENDLY_NAME) == "TestRoom TestThermostat" - assert state.attributes.get(ATTR_HVAC_ACTION) == CURRENT_HVAC_HEAT + assert state.attributes.get(ATTR_HVAC_ACTION) == HVACAction.HEATING assert state.attributes.get(ATTR_HVAC_MODES) == [ - HVAC_MODE_OFF, - HVAC_MODE_AUTO, - HVAC_MODE_HEAT, + HVACMode.OFF, + HVACMode.AUTO, + HVACMode.HEAT, ] assert state.attributes.get(ATTR_PRESET_MODES) == [ PRESET_NONE, @@ -108,9 +103,9 @@ async def test_setup_wallthermostat(hass, cube: MaxCube): assert entity.unique_id == "AABBCCDD02" state = hass.states.get(WALL_ENTITY_ID) - assert state.state == HVAC_MODE_OFF + assert state.state == HVACMode.OFF assert state.attributes.get(ATTR_FRIENDLY_NAME) == "TestRoom TestWallThermostat" - assert state.attributes.get(ATTR_HVAC_ACTION) == CURRENT_HVAC_HEAT + assert state.attributes.get(ATTR_HVAC_ACTION) == HVACAction.HEATING assert state.attributes.get(ATTR_PRESET_MODE) == PRESET_NONE assert state.attributes.get(ATTR_MAX_TEMP) == 29.0 assert state.attributes.get(ATTR_MIN_TEMP) == 5.0 @@ -125,7 +120,7 @@ async def test_thermostat_set_hvac_mode_off( await hass.services.async_call( CLIMATE_DOMAIN, SERVICE_SET_HVAC_MODE, - {ATTR_ENTITY_ID: ENTITY_ID, ATTR_HVAC_MODE: HVAC_MODE_OFF}, + {ATTR_ENTITY_ID: ENTITY_ID, ATTR_HVAC_MODE: HVACMode.OFF}, blocking=True, ) cube.set_temperature_mode.assert_called_once_with( @@ -140,13 +135,13 @@ async def test_thermostat_set_hvac_mode_off( await hass.async_block_till_done() state = hass.states.get(ENTITY_ID) - assert state.state == HVAC_MODE_OFF + assert state.state == HVACMode.OFF assert state.attributes.get(ATTR_TEMPERATURE) is None - assert state.attributes.get(ATTR_HVAC_ACTION) == CURRENT_HVAC_OFF + assert state.attributes.get(ATTR_HVAC_ACTION) == HVACAction.OFF assert state.attributes.get(VALVE_POSITION) == 0 wall_state = hass.states.get(WALL_ENTITY_ID) - assert wall_state.attributes.get(ATTR_HVAC_ACTION) == CURRENT_HVAC_OFF + assert wall_state.attributes.get(ATTR_HVAC_ACTION) == HVACAction.OFF async def test_thermostat_set_hvac_mode_heat( @@ -156,7 +151,7 @@ async def test_thermostat_set_hvac_mode_heat( await hass.services.async_call( CLIMATE_DOMAIN, SERVICE_SET_HVAC_MODE, - {ATTR_ENTITY_ID: ENTITY_ID, ATTR_HVAC_MODE: HVAC_MODE_HEAT}, + {ATTR_ENTITY_ID: ENTITY_ID, ATTR_HVAC_MODE: HVACMode.HEAT}, blocking=True, ) cube.set_temperature_mode.assert_called_once_with( @@ -169,7 +164,7 @@ async def test_thermostat_set_hvac_mode_heat( await hass.async_block_till_done() state = hass.states.get(ENTITY_ID) - assert state.state == HVAC_MODE_HEAT + assert state.state == HVACMode.HEAT async def test_thermostat_set_invalid_hvac_mode( @@ -180,7 +175,7 @@ async def test_thermostat_set_invalid_hvac_mode( await hass.services.async_call( CLIMATE_DOMAIN, SERVICE_SET_HVAC_MODE, - {ATTR_ENTITY_ID: ENTITY_ID, ATTR_HVAC_MODE: HVAC_MODE_DRY}, + {ATTR_ENTITY_ID: ENTITY_ID, ATTR_HVAC_MODE: HVACMode.DRY}, blocking=True, ) cube.set_temperature_mode.assert_not_called() @@ -204,9 +199,9 @@ async def test_thermostat_set_temperature( await hass.async_block_till_done() state = hass.states.get(ENTITY_ID) - assert state.state == HVAC_MODE_AUTO + assert state.state == HVACMode.AUTO assert state.attributes.get(ATTR_TEMPERATURE) == 10.0 - assert state.attributes.get(ATTR_HVAC_ACTION) == CURRENT_HVAC_IDLE + assert state.attributes.get(ATTR_HVAC_ACTION) == HVACAction.IDLE async def test_thermostat_set_no_temperature( @@ -246,7 +241,7 @@ async def test_thermostat_set_preset_on(hass, cube: MaxCube, thermostat: MaxTher await hass.async_block_till_done() state = hass.states.get(ENTITY_ID) - assert state.state == HVAC_MODE_HEAT + assert state.state == HVACMode.HEAT assert state.attributes.get(ATTR_TEMPERATURE) is None assert state.attributes.get(ATTR_PRESET_MODE) == PRESET_ON @@ -271,7 +266,7 @@ async def test_thermostat_set_preset_comfort( await hass.async_block_till_done() state = hass.states.get(ENTITY_ID) - assert state.state == HVAC_MODE_HEAT + assert state.state == HVACMode.HEAT assert state.attributes.get(ATTR_TEMPERATURE) == thermostat.comfort_temperature assert state.attributes.get(ATTR_PRESET_MODE) == PRESET_COMFORT @@ -296,7 +291,7 @@ async def test_thermostat_set_preset_eco( await hass.async_block_till_done() state = hass.states.get(ENTITY_ID) - assert state.state == HVAC_MODE_HEAT + assert state.state == HVACMode.HEAT assert state.attributes.get(ATTR_TEMPERATURE) == thermostat.eco_temperature assert state.attributes.get(ATTR_PRESET_MODE) == PRESET_ECO @@ -321,7 +316,7 @@ async def test_thermostat_set_preset_away( await hass.async_block_till_done() state = hass.states.get(ENTITY_ID) - assert state.state == HVAC_MODE_HEAT + assert state.state == HVACMode.HEAT assert state.attributes.get(ATTR_TEMPERATURE) == thermostat.eco_temperature assert state.attributes.get(ATTR_PRESET_MODE) == PRESET_AWAY @@ -346,7 +341,7 @@ async def test_thermostat_set_preset_boost( await hass.async_block_till_done() state = hass.states.get(ENTITY_ID) - assert state.state == HVAC_MODE_AUTO + assert state.state == HVACMode.AUTO assert state.attributes.get(ATTR_TEMPERATURE) == thermostat.eco_temperature assert state.attributes.get(ATTR_PRESET_MODE) == PRESET_BOOST @@ -387,7 +382,7 @@ async def test_wallthermostat_set_hvac_mode_heat( await hass.services.async_call( CLIMATE_DOMAIN, SERVICE_SET_HVAC_MODE, - {ATTR_ENTITY_ID: WALL_ENTITY_ID, ATTR_HVAC_MODE: HVAC_MODE_HEAT}, + {ATTR_ENTITY_ID: WALL_ENTITY_ID, ATTR_HVAC_MODE: HVACMode.HEAT}, blocking=True, ) cube.set_temperature_mode.assert_called_once_with( @@ -399,7 +394,7 @@ async def test_wallthermostat_set_hvac_mode_heat( await hass.async_block_till_done() state = hass.states.get(WALL_ENTITY_ID) - assert state.state == HVAC_MODE_HEAT + assert state.state == HVACMode.HEAT assert state.attributes.get(ATTR_TEMPERATURE) == MIN_TEMPERATURE @@ -410,7 +405,7 @@ async def test_wallthermostat_set_hvac_mode_auto( await hass.services.async_call( CLIMATE_DOMAIN, SERVICE_SET_HVAC_MODE, - {ATTR_ENTITY_ID: WALL_ENTITY_ID, ATTR_HVAC_MODE: HVAC_MODE_AUTO}, + {ATTR_ENTITY_ID: WALL_ENTITY_ID, ATTR_HVAC_MODE: HVACMode.AUTO}, blocking=True, ) cube.set_temperature_mode.assert_called_once_with( @@ -423,5 +418,5 @@ async def test_wallthermostat_set_hvac_mode_auto( await hass.async_block_till_done() state = hass.states.get(WALL_ENTITY_ID) - assert state.state == HVAC_MODE_AUTO + assert state.state == HVACMode.AUTO assert state.attributes.get(ATTR_TEMPERATURE) == 23.0 diff --git a/tests/components/nest/test_climate_sdm.py b/tests/components/nest/test_climate_sdm.py index c271687a348..440855f6ab7 100644 --- a/tests/components/nest/test_climate_sdm.py +++ b/tests/components/nest/test_climate_sdm.py @@ -14,7 +14,7 @@ from google_nest_sdm.auth import AbstractAuth from google_nest_sdm.event import EventMessage import pytest -from homeassistant.components.climate.const import ( +from homeassistant.components.climate import ( ATTR_CURRENT_TEMPERATURE, ATTR_FAN_MODE, ATTR_FAN_MODES, @@ -24,22 +24,15 @@ from homeassistant.components.climate.const import ( ATTR_PRESET_MODES, ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW, - CURRENT_HVAC_COOL, - CURRENT_HVAC_HEAT, - CURRENT_HVAC_IDLE, - CURRENT_HVAC_OFF, FAN_LOW, FAN_OFF, FAN_ON, - HVAC_MODE_COOL, - HVAC_MODE_DRY, - HVAC_MODE_HEAT, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, PRESET_ECO, PRESET_NONE, PRESET_SLEEP, ClimateEntityFeature, + HVACAction, + HVACMode, ) from homeassistant.const import ATTR_SUPPORTED_FEATURES, ATTR_TEMPERATURE from homeassistant.core import HomeAssistant @@ -136,14 +129,14 @@ async def test_thermostat_off( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_OFF + assert thermostat.state == HVACMode.OFF + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.OFF assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] == 16.2 assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_TEMPERATURE] is None assert thermostat.attributes[ATTR_TARGET_TEMP_LOW] is None @@ -180,14 +173,14 @@ async def test_thermostat_heat( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_HEAT + assert thermostat.state == HVACMode.HEAT + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.HEATING assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] == 16.2 assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_TEMPERATURE] == 22.0 assert thermostat.attributes[ATTR_TARGET_TEMP_LOW] is None @@ -222,14 +215,14 @@ async def test_thermostat_cool( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_COOL - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_COOL + assert thermostat.state == HVACMode.COOL + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.COOLING assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] == 29.9 assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_TEMPERATURE] == 28.0 assert thermostat.attributes[ATTR_TARGET_TEMP_LOW] is None @@ -265,14 +258,14 @@ async def test_thermostat_heatcool( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT_COOL - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_COOL + assert thermostat.state == HVACMode.HEAT_COOL + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.COOLING assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] == 29.9 assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_TARGET_TEMP_LOW] == 22.0 assert thermostat.attributes[ATTR_TARGET_TEMP_HIGH] == 28.0 @@ -314,14 +307,14 @@ async def test_thermostat_eco_off( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT_COOL - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_COOL + assert thermostat.state == HVACMode.HEAT_COOL + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.COOLING assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] == 29.9 assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_TARGET_TEMP_LOW] == 22.0 assert thermostat.attributes[ATTR_TARGET_TEMP_HIGH] == 28.0 @@ -363,14 +356,14 @@ async def test_thermostat_eco_on( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT_COOL - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_COOL + assert thermostat.state == HVACMode.HEAT_COOL + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.COOLING assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] == 29.9 assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_TARGET_TEMP_LOW] == 21.0 assert thermostat.attributes[ATTR_TARGET_TEMP_HIGH] == 29.0 @@ -409,12 +402,12 @@ async def test_thermostat_eco_heat_only( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert thermostat.state == HVACMode.HEAT + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] == 29.9 assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.OFF, } assert thermostat.attributes[ATTR_TEMPERATURE] == 21.0 assert ATTR_TARGET_TEMP_LOW not in thermostat.attributes @@ -445,10 +438,10 @@ async def test_thermostat_set_hvac_mode( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_OFF + assert thermostat.state == HVACMode.OFF + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.OFF - await common.async_set_hvac_mode(hass, HVAC_MODE_HEAT) + await common.async_set_hvac_mode(hass, HVACMode.HEAT) await hass.async_block_till_done() assert auth.method == "post" @@ -461,8 +454,8 @@ async def test_thermostat_set_hvac_mode( # Local state does not reflect the update thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_OFF + assert thermostat.state == HVACMode.OFF + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.OFF # Simulate pubsub message when mode changes await create_event( @@ -476,8 +469,8 @@ async def test_thermostat_set_hvac_mode( thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert thermostat.state == HVACMode.HEAT + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE # Simulate pubsub message when the thermostat starts heating await create_event( @@ -490,8 +483,8 @@ async def test_thermostat_set_hvac_mode( thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_HEAT + assert thermostat.state == HVACMode.HEAT + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.HEATING async def test_thermostat_invalid_hvac_mode( @@ -515,14 +508,14 @@ async def test_thermostat_invalid_hvac_mode( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_OFF + assert thermostat.state == HVACMode.OFF + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.OFF with pytest.raises(ValueError): - await common.async_set_hvac_mode(hass, HVAC_MODE_DRY) + await common.async_set_hvac_mode(hass, HVACMode.DRY) await hass.async_block_till_done() - assert thermostat.state == HVAC_MODE_OFF + assert thermostat.state == HVACMode.OFF assert auth.method is None # No communication with API @@ -554,8 +547,8 @@ async def test_thermostat_set_eco_preset( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_OFF + assert thermostat.state == HVACMode.OFF + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.OFF assert thermostat.attributes[ATTR_PRESET_MODE] == PRESET_NONE # Turn on eco mode @@ -572,8 +565,8 @@ async def test_thermostat_set_eco_preset( # Local state does not reflect the update thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_OFF + assert thermostat.state == HVACMode.OFF + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.OFF assert thermostat.attributes[ATTR_PRESET_MODE] == PRESET_NONE # Simulate pubsub message when mode changes @@ -590,8 +583,8 @@ async def test_thermostat_set_eco_preset( thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_OFF + assert thermostat.state == HVACMode.OFF + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.OFF assert thermostat.attributes[ATTR_PRESET_MODE] == PRESET_ECO # Turn off eco mode @@ -630,7 +623,7 @@ async def test_thermostat_set_cool( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_COOL + assert thermostat.state == HVACMode.COOL await common.async_set_temperature(hass, temperature=24.0) await hass.async_block_till_done() @@ -667,7 +660,7 @@ async def test_thermostat_set_heat( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT + assert thermostat.state == HVACMode.HEAT await common.async_set_temperature(hass, temperature=20.0) await hass.async_block_till_done() @@ -704,9 +697,9 @@ async def test_thermostat_set_temperature_hvac_mode( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF + assert thermostat.state == HVACMode.OFF - await common.async_set_temperature(hass, temperature=24.0, hvac_mode=HVAC_MODE_COOL) + await common.async_set_temperature(hass, temperature=24.0, hvac_mode=HVACMode.COOL) await hass.async_block_till_done() assert auth.method == "post" @@ -716,7 +709,7 @@ async def test_thermostat_set_temperature_hvac_mode( "params": {"coolCelsius": 24.0}, } - await common.async_set_temperature(hass, temperature=26.0, hvac_mode=HVAC_MODE_HEAT) + await common.async_set_temperature(hass, temperature=26.0, hvac_mode=HVACMode.HEAT) await hass.async_block_till_done() assert auth.method == "post" @@ -727,7 +720,7 @@ async def test_thermostat_set_temperature_hvac_mode( } await common.async_set_temperature( - hass, target_temp_low=20.0, target_temp_high=24.0, hvac_mode=HVAC_MODE_HEAT_COOL + hass, target_temp_low=20.0, target_temp_high=24.0, hvac_mode=HVACMode.HEAT_COOL ) await hass.async_block_till_done() @@ -764,7 +757,7 @@ async def test_thermostat_set_heat_cool( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT_COOL + assert thermostat.state == HVACMode.HEAT_COOL await common.async_set_temperature( hass, target_temp_low=20.0, target_temp_high=24.0 @@ -806,14 +799,14 @@ async def test_thermostat_fan_off( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_COOL - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert thermostat.state == HVACMode.COOL + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] == 16.2 assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_FAN_MODE] == FAN_OFF assert thermostat.attributes[ATTR_FAN_MODES] == [FAN_ON, FAN_OFF] @@ -853,14 +846,14 @@ async def test_thermostat_fan_on( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_COOL - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert thermostat.state == HVACMode.COOL + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] == 16.2 assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_FAN_MODE] == FAN_ON assert thermostat.attributes[ATTR_FAN_MODES] == [FAN_ON, FAN_OFF] @@ -897,13 +890,13 @@ async def test_thermostat_cool_with_fan( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_COOL - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert thermostat.state == HVACMode.COOL + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_FAN_MODE] == FAN_ON assert thermostat.attributes[ATTR_FAN_MODES] == [FAN_ON, FAN_OFF] @@ -941,7 +934,7 @@ async def test_thermostat_set_fan( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT + assert thermostat.state == HVACMode.HEAT assert thermostat.attributes[ATTR_FAN_MODE] == FAN_ON assert thermostat.attributes[ATTR_FAN_MODES] == [FAN_ON, FAN_OFF] assert thermostat.attributes[ATTR_SUPPORTED_FEATURES] == ( @@ -1003,7 +996,7 @@ async def test_thermostat_set_fan_when_off( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF + assert thermostat.state == HVACMode.OFF assert thermostat.attributes[ATTR_FAN_MODE] == FAN_ON assert thermostat.attributes[ATTR_FAN_MODES] == [FAN_ON, FAN_OFF] assert thermostat.attributes[ATTR_SUPPORTED_FEATURES] == ( @@ -1041,14 +1034,14 @@ async def test_thermostat_fan_empty( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_OFF + assert thermostat.state == HVACMode.OFF + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.OFF assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] == 16.2 assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert ATTR_FAN_MODE not in thermostat.attributes assert ATTR_FAN_MODES not in thermostat.attributes @@ -1092,14 +1085,14 @@ async def test_thermostat_invalid_fan_mode( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_COOL - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert thermostat.state == HVACMode.COOL + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] == 16.2 assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_FAN_MODE] == FAN_ON assert thermostat.attributes[ATTR_FAN_MODES] == [FAN_ON, FAN_OFF] @@ -1138,7 +1131,7 @@ async def test_thermostat_target_temp( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT + assert thermostat.state == HVACMode.HEAT assert thermostat.attributes[ATTR_TEMPERATURE] == 23.0 assert thermostat.attributes[ATTR_TARGET_TEMP_LOW] is None assert thermostat.attributes[ATTR_TARGET_TEMP_HIGH] is None @@ -1159,7 +1152,7 @@ async def test_thermostat_target_temp( thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT_COOL + assert thermostat.state == HVACMode.HEAT_COOL assert thermostat.attributes[ATTR_TARGET_TEMP_LOW] == 22.0 assert thermostat.attributes[ATTR_TARGET_TEMP_HIGH] == 28.0 assert thermostat.attributes[ATTR_TEMPERATURE] is None @@ -1181,8 +1174,8 @@ async def test_thermostat_missing_mode_traits( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_OFF + assert thermostat.state == HVACMode.OFF + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.OFF assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] is None assert set(thermostat.attributes[ATTR_HVAC_MODES]) == set() assert ATTR_TEMPERATURE not in thermostat.attributes @@ -1222,14 +1215,14 @@ async def test_thermostat_missing_temperature_trait( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert thermostat.state == HVACMode.HEAT + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] is None assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_TEMPERATURE] is None assert thermostat.attributes[ATTR_TARGET_TEMP_LOW] is None @@ -1260,7 +1253,7 @@ async def test_thermostat_unexpected_hvac_status( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF + assert thermostat.state == HVACMode.OFF assert ATTR_HVAC_ACTION not in thermostat.attributes assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] is None assert set(thermostat.attributes[ATTR_HVAC_MODES]) == set() @@ -1273,9 +1266,9 @@ async def test_thermostat_unexpected_hvac_status( assert ATTR_FAN_MODES not in thermostat.attributes with pytest.raises(ValueError): - await common.async_set_hvac_mode(hass, HVAC_MODE_DRY) + await common.async_set_hvac_mode(hass, HVACMode.DRY) await hass.async_block_till_done() - assert thermostat.state == HVAC_MODE_OFF + assert thermostat.state == HVACMode.OFF async def test_thermostat_missing_set_point( @@ -1298,14 +1291,14 @@ async def test_thermostat_missing_set_point( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_HEAT_COOL - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert thermostat.state == HVACMode.HEAT_COOL + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] is None assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_TEMPERATURE] is None assert thermostat.attributes[ATTR_TARGET_TEMP_LOW] is None @@ -1336,14 +1329,14 @@ async def test_thermostat_unexepected_hvac_mode( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_OFF + assert thermostat.state == HVACMode.OFF + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.OFF assert thermostat.attributes[ATTR_CURRENT_TEMPERATURE] is None assert set(thermostat.attributes[ATTR_HVAC_MODES]) == { - HVAC_MODE_HEAT, - HVAC_MODE_COOL, - HVAC_MODE_HEAT_COOL, - HVAC_MODE_OFF, + HVACMode.HEAT, + HVACMode.COOL, + HVACMode.HEAT_COOL, + HVACMode.OFF, } assert thermostat.attributes[ATTR_TEMPERATURE] is None assert thermostat.attributes[ATTR_TARGET_TEMP_LOW] is None @@ -1377,7 +1370,7 @@ async def test_thermostat_invalid_set_preset_mode( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_OFF + assert thermostat.state == HVACMode.OFF assert thermostat.attributes[ATTR_PRESET_MODE] == PRESET_NONE assert thermostat.attributes[ATTR_PRESET_MODES] == [PRESET_ECO, PRESET_NONE] @@ -1425,18 +1418,18 @@ async def test_thermostat_hvac_mode_failure( assert len(hass.states.async_all()) == 1 thermostat = hass.states.get("climate.my_thermostat") assert thermostat is not None - assert thermostat.state == HVAC_MODE_COOL - assert thermostat.attributes[ATTR_HVAC_ACTION] == CURRENT_HVAC_IDLE + assert thermostat.state == HVACMode.COOL + assert thermostat.attributes[ATTR_HVAC_ACTION] == HVACAction.IDLE auth.responses = [aiohttp.web.Response(status=HTTPStatus.BAD_REQUEST)] with pytest.raises(HomeAssistantError): - await common.async_set_hvac_mode(hass, HVAC_MODE_HEAT) + await common.async_set_hvac_mode(hass, HVACMode.HEAT) await hass.async_block_till_done() auth.responses = [aiohttp.web.Response(status=HTTPStatus.BAD_REQUEST)] with pytest.raises(HomeAssistantError): await common.async_set_temperature( - hass, hvac_mode=HVAC_MODE_HEAT, temperature=25.0 + hass, hvac_mode=HVACMode.HEAT, temperature=25.0 ) await hass.async_block_till_done() diff --git a/tests/components/prometheus/test_init.py b/tests/components/prometheus/test_init.py index 8fa38664935..1730e6c3f23 100644 --- a/tests/components/prometheus/test_init.py +++ b/tests/components/prometheus/test_init.py @@ -22,14 +22,12 @@ from homeassistant.components import ( sensor, switch, ) -from homeassistant.components.climate.const import ( +from homeassistant.components.climate import ( ATTR_CURRENT_TEMPERATURE, ATTR_HUMIDITY, ATTR_HVAC_ACTION, ATTR_TARGET_TEMP_HIGH, ATTR_TARGET_TEMP_LOW, - CURRENT_HVAC_COOL, - CURRENT_HVAC_HEAT, ) from homeassistant.components.humidifier import ATTR_AVAILABLE_MODES from homeassistant.components.sensor import SensorDeviceClass @@ -520,7 +518,10 @@ async def test_renaming_entity_name( ATTR_FRIENDLY_NAME: "HeatPump Renamed", } set_state_with_entry( - hass, data["climate_1"], CURRENT_HVAC_HEAT, data["climate_1_attributes"] + hass, + data["climate_1"], + climate.HVACAction.HEATING, + data["climate_1_attributes"], ) await hass.async_block_till_done() @@ -971,9 +972,11 @@ async def climate_fixture(hass, registry): climate_1_attributes = { ATTR_TEMPERATURE: 20, ATTR_CURRENT_TEMPERATURE: 25, - ATTR_HVAC_ACTION: CURRENT_HVAC_HEAT, + ATTR_HVAC_ACTION: climate.HVACAction.HEATING, } - set_state_with_entry(hass, climate_1, CURRENT_HVAC_HEAT, climate_1_attributes) + set_state_with_entry( + hass, climate_1, climate.HVACAction.HEATING, climate_1_attributes + ) data["climate_1"] = climate_1 data["climate_1_attributes"] = climate_1_attributes @@ -990,9 +993,11 @@ async def climate_fixture(hass, registry): ATTR_CURRENT_TEMPERATURE: 22, ATTR_TARGET_TEMP_LOW: 21, ATTR_TARGET_TEMP_HIGH: 24, - ATTR_HVAC_ACTION: CURRENT_HVAC_COOL, + ATTR_HVAC_ACTION: climate.HVACAction.COOLING, } - set_state_with_entry(hass, climate_2, CURRENT_HVAC_HEAT, climate_2_attributes) + set_state_with_entry( + hass, climate_2, climate.HVACAction.HEATING, climate_2_attributes + ) data["climate_2"] = climate_2 data["climate_2_attributes"] = climate_2_attributes