mirror of
https://github.com/home-assistant/core.git
synced 2025-07-17 02:07:09 +00:00
Use climate enums in deconz (#70630)
* Use climate enums in deconz * Adjust tests * Adjust type hint * Update climate.py * Update climate.py * Update climate.py * Don't edit files in Github!
This commit is contained in:
parent
b2b99417c9
commit
9dcbc8469e
@ -25,7 +25,7 @@ from pydeconz.models.sensor.thermostat import (
|
|||||||
Thermostat,
|
Thermostat,
|
||||||
)
|
)
|
||||||
|
|
||||||
from homeassistant.components.climate import DOMAIN, ClimateEntity, ClimateEntityFeature
|
from homeassistant.components.climate import DOMAIN, ClimateEntity
|
||||||
from homeassistant.components.climate.const import (
|
from homeassistant.components.climate.const import (
|
||||||
FAN_AUTO,
|
FAN_AUTO,
|
||||||
FAN_HIGH,
|
FAN_HIGH,
|
||||||
@ -33,13 +33,11 @@ from homeassistant.components.climate.const import (
|
|||||||
FAN_MEDIUM,
|
FAN_MEDIUM,
|
||||||
FAN_OFF,
|
FAN_OFF,
|
||||||
FAN_ON,
|
FAN_ON,
|
||||||
HVAC_MODE_AUTO,
|
|
||||||
HVAC_MODE_COOL,
|
|
||||||
HVAC_MODE_HEAT,
|
|
||||||
HVAC_MODE_OFF,
|
|
||||||
PRESET_BOOST,
|
PRESET_BOOST,
|
||||||
PRESET_COMFORT,
|
PRESET_COMFORT,
|
||||||
PRESET_ECO,
|
PRESET_ECO,
|
||||||
|
ClimateEntityFeature,
|
||||||
|
HVACMode,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS
|
from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS
|
||||||
@ -64,11 +62,11 @@ FAN_MODE_TO_DECONZ = {
|
|||||||
}
|
}
|
||||||
DECONZ_TO_FAN_MODE = {value: key for key, value in FAN_MODE_TO_DECONZ.items()}
|
DECONZ_TO_FAN_MODE = {value: key for key, value in FAN_MODE_TO_DECONZ.items()}
|
||||||
|
|
||||||
HVAC_MODE_TO_DECONZ: dict[str, str] = {
|
HVAC_MODE_TO_DECONZ: dict[HVACMode, str] = {
|
||||||
HVAC_MODE_AUTO: THERMOSTAT_MODE_AUTO,
|
HVACMode.AUTO: THERMOSTAT_MODE_AUTO,
|
||||||
HVAC_MODE_COOL: THERMOSTAT_MODE_COOL,
|
HVACMode.COOL: THERMOSTAT_MODE_COOL,
|
||||||
HVAC_MODE_HEAT: THERMOSTAT_MODE_HEAT,
|
HVACMode.HEAT: THERMOSTAT_MODE_HEAT,
|
||||||
HVAC_MODE_OFF: THERMOSTAT_MODE_OFF,
|
HVACMode.OFF: THERMOSTAT_MODE_OFF,
|
||||||
}
|
}
|
||||||
|
|
||||||
DECONZ_PRESET_AUTO = "auto"
|
DECONZ_PRESET_AUTO = "auto"
|
||||||
@ -146,14 +144,14 @@ class DeconzThermostat(DeconzDevice, ClimateEntity):
|
|||||||
super().__init__(device, gateway)
|
super().__init__(device, gateway)
|
||||||
|
|
||||||
self._attr_hvac_modes = [
|
self._attr_hvac_modes = [
|
||||||
HVAC_MODE_HEAT,
|
HVACMode.HEAT,
|
||||||
HVAC_MODE_OFF,
|
HVACMode.OFF,
|
||||||
]
|
]
|
||||||
if device.mode:
|
if device.mode:
|
||||||
self._attr_hvac_modes.append(HVAC_MODE_AUTO)
|
self._attr_hvac_modes.append(HVACMode.AUTO)
|
||||||
|
|
||||||
if "coolsetpoint" in device.raw["config"]:
|
if "coolsetpoint" in device.raw["config"]:
|
||||||
self._attr_hvac_modes.append(HVAC_MODE_COOL)
|
self._attr_hvac_modes.append(HVACMode.COOL)
|
||||||
|
|
||||||
self._deconz_to_hvac_mode = {
|
self._deconz_to_hvac_mode = {
|
||||||
HVAC_MODE_TO_DECONZ[item]: item for item in self._attr_hvac_modes
|
HVAC_MODE_TO_DECONZ[item]: item for item in self._attr_hvac_modes
|
||||||
@ -188,22 +186,22 @@ class DeconzThermostat(DeconzDevice, ClimateEntity):
|
|||||||
# HVAC control
|
# HVAC control
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def hvac_mode(self) -> str:
|
def hvac_mode(self) -> HVACMode:
|
||||||
"""Return hvac operation ie. heat, cool mode.
|
"""Return hvac operation ie. heat, cool mode.
|
||||||
|
|
||||||
Need to be one of HVAC_MODE_*.
|
Need to be one of HVAC_MODE_*.
|
||||||
"""
|
"""
|
||||||
if self._device.mode in self._deconz_to_hvac_mode:
|
if self._device.mode in self._deconz_to_hvac_mode:
|
||||||
return self._deconz_to_hvac_mode[self._device.mode]
|
return self._deconz_to_hvac_mode[self._device.mode]
|
||||||
return HVAC_MODE_HEAT if self._device.state_on else HVAC_MODE_OFF
|
return HVACMode.HEAT if self._device.state_on else HVACMode.OFF
|
||||||
|
|
||||||
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."""
|
"""Set new target hvac mode."""
|
||||||
if hvac_mode not in self._attr_hvac_modes:
|
if hvac_mode not in self._attr_hvac_modes:
|
||||||
raise ValueError(f"Unsupported HVAC mode {hvac_mode}")
|
raise ValueError(f"Unsupported HVAC mode {hvac_mode}")
|
||||||
|
|
||||||
if len(self._attr_hvac_modes) == 2: # Only allow turn on and off thermostat
|
if len(self._attr_hvac_modes) == 2: # Only allow turn on and off thermostat
|
||||||
await self._device.set_config(on=hvac_mode != HVAC_MODE_OFF)
|
await self._device.set_config(on=hvac_mode != HVACMode.OFF)
|
||||||
else:
|
else:
|
||||||
await self._device.set_config(mode=HVAC_MODE_TO_DECONZ[hvac_mode])
|
await self._device.set_config(mode=HVAC_MODE_TO_DECONZ[hvac_mode])
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
"""deCONZ climate platform tests."""
|
"""deCONZ climate platform tests."""
|
||||||
|
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
@ -23,13 +22,10 @@ from homeassistant.components.climate.const import (
|
|||||||
FAN_MEDIUM,
|
FAN_MEDIUM,
|
||||||
FAN_OFF,
|
FAN_OFF,
|
||||||
FAN_ON,
|
FAN_ON,
|
||||||
HVAC_MODE_AUTO,
|
|
||||||
HVAC_MODE_COOL,
|
|
||||||
HVAC_MODE_HEAT,
|
|
||||||
HVAC_MODE_OFF,
|
|
||||||
PRESET_BOOST,
|
PRESET_BOOST,
|
||||||
PRESET_COMFORT,
|
PRESET_COMFORT,
|
||||||
PRESET_ECO,
|
PRESET_ECO,
|
||||||
|
HVACMode,
|
||||||
)
|
)
|
||||||
from homeassistant.components.deconz.climate import (
|
from homeassistant.components.deconz.climate import (
|
||||||
DECONZ_FAN_SMART,
|
DECONZ_FAN_SMART,
|
||||||
@ -103,10 +99,10 @@ async def test_simple_climate_device(hass, aioclient_mock, mock_deconz_websocket
|
|||||||
|
|
||||||
assert len(hass.states.async_all()) == 2
|
assert len(hass.states.async_all()) == 2
|
||||||
climate_thermostat = hass.states.get("climate.thermostat")
|
climate_thermostat = hass.states.get("climate.thermostat")
|
||||||
assert climate_thermostat.state == HVAC_MODE_HEAT
|
assert climate_thermostat.state == HVACMode.HEAT
|
||||||
assert climate_thermostat.attributes["hvac_modes"] == [
|
assert climate_thermostat.attributes["hvac_modes"] == [
|
||||||
HVAC_MODE_HEAT,
|
HVACMode.HEAT,
|
||||||
HVAC_MODE_OFF,
|
HVACMode.OFF,
|
||||||
]
|
]
|
||||||
assert climate_thermostat.attributes["current_temperature"] == 21.0
|
assert climate_thermostat.attributes["current_temperature"] == 21.0
|
||||||
assert climate_thermostat.attributes["temperature"] == 21.0
|
assert climate_thermostat.attributes["temperature"] == 21.0
|
||||||
@ -139,7 +135,7 @@ async def test_simple_climate_device(hass, aioclient_mock, mock_deconz_websocket
|
|||||||
await mock_deconz_websocket(data=event_changed_sensor)
|
await mock_deconz_websocket(data=event_changed_sensor)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
assert hass.states.get("climate.thermostat").state == HVAC_MODE_HEAT
|
assert hass.states.get("climate.thermostat").state == HVACMode.HEAT
|
||||||
|
|
||||||
# Verify service calls
|
# Verify service calls
|
||||||
|
|
||||||
@ -150,7 +146,7 @@ async def test_simple_climate_device(hass, aioclient_mock, mock_deconz_websocket
|
|||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
CLIMATE_DOMAIN,
|
CLIMATE_DOMAIN,
|
||||||
SERVICE_SET_HVAC_MODE,
|
SERVICE_SET_HVAC_MODE,
|
||||||
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVAC_MODE_HEAT},
|
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVACMode.HEAT},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert aioclient_mock.mock_calls[1][2] == {"on": True}
|
assert aioclient_mock.mock_calls[1][2] == {"on": True}
|
||||||
@ -160,7 +156,7 @@ async def test_simple_climate_device(hass, aioclient_mock, mock_deconz_websocket
|
|||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
CLIMATE_DOMAIN,
|
CLIMATE_DOMAIN,
|
||||||
SERVICE_SET_HVAC_MODE,
|
SERVICE_SET_HVAC_MODE,
|
||||||
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVAC_MODE_OFF},
|
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVACMode.OFF},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert aioclient_mock.mock_calls[2][2] == {"on": False}
|
assert aioclient_mock.mock_calls[2][2] == {"on": False}
|
||||||
@ -171,7 +167,7 @@ async def test_simple_climate_device(hass, aioclient_mock, mock_deconz_websocket
|
|||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
CLIMATE_DOMAIN,
|
CLIMATE_DOMAIN,
|
||||||
SERVICE_SET_HVAC_MODE,
|
SERVICE_SET_HVAC_MODE,
|
||||||
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVAC_MODE_AUTO},
|
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVACMode.AUTO},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -202,11 +198,11 @@ async def test_climate_device_without_cooling_support(
|
|||||||
|
|
||||||
assert len(hass.states.async_all()) == 2
|
assert len(hass.states.async_all()) == 2
|
||||||
climate_thermostat = hass.states.get("climate.thermostat")
|
climate_thermostat = hass.states.get("climate.thermostat")
|
||||||
assert climate_thermostat.state == HVAC_MODE_AUTO
|
assert climate_thermostat.state == HVACMode.AUTO
|
||||||
assert climate_thermostat.attributes["hvac_modes"] == [
|
assert climate_thermostat.attributes["hvac_modes"] == [
|
||||||
HVAC_MODE_HEAT,
|
HVACMode.HEAT,
|
||||||
HVAC_MODE_OFF,
|
HVACMode.OFF,
|
||||||
HVAC_MODE_AUTO,
|
HVACMode.AUTO,
|
||||||
]
|
]
|
||||||
assert climate_thermostat.attributes["current_temperature"] == 22.6
|
assert climate_thermostat.attributes["current_temperature"] == 22.6
|
||||||
assert climate_thermostat.attributes["temperature"] == 22.0
|
assert climate_thermostat.attributes["temperature"] == 22.0
|
||||||
@ -242,7 +238,7 @@ async def test_climate_device_without_cooling_support(
|
|||||||
await mock_deconz_websocket(data=event_changed_sensor)
|
await mock_deconz_websocket(data=event_changed_sensor)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
assert hass.states.get("climate.thermostat").state == HVAC_MODE_HEAT
|
assert hass.states.get("climate.thermostat").state == HVACMode.HEAT
|
||||||
|
|
||||||
# Event signals thermostat state off
|
# Event signals thermostat state off
|
||||||
|
|
||||||
@ -267,7 +263,7 @@ async def test_climate_device_without_cooling_support(
|
|||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
CLIMATE_DOMAIN,
|
CLIMATE_DOMAIN,
|
||||||
SERVICE_SET_HVAC_MODE,
|
SERVICE_SET_HVAC_MODE,
|
||||||
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVAC_MODE_AUTO},
|
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVACMode.AUTO},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert aioclient_mock.mock_calls[1][2] == {"mode": "auto"}
|
assert aioclient_mock.mock_calls[1][2] == {"mode": "auto"}
|
||||||
@ -277,7 +273,7 @@ async def test_climate_device_without_cooling_support(
|
|||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
CLIMATE_DOMAIN,
|
CLIMATE_DOMAIN,
|
||||||
SERVICE_SET_HVAC_MODE,
|
SERVICE_SET_HVAC_MODE,
|
||||||
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVAC_MODE_HEAT},
|
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVACMode.HEAT},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert aioclient_mock.mock_calls[2][2] == {"mode": "heat"}
|
assert aioclient_mock.mock_calls[2][2] == {"mode": "heat"}
|
||||||
@ -287,7 +283,7 @@ async def test_climate_device_without_cooling_support(
|
|||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
CLIMATE_DOMAIN,
|
CLIMATE_DOMAIN,
|
||||||
SERVICE_SET_HVAC_MODE,
|
SERVICE_SET_HVAC_MODE,
|
||||||
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVAC_MODE_OFF},
|
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVACMode.OFF},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
assert aioclient_mock.mock_calls[3][2] == {"mode": "off"}
|
assert aioclient_mock.mock_calls[3][2] == {"mode": "off"}
|
||||||
@ -298,7 +294,7 @@ async def test_climate_device_without_cooling_support(
|
|||||||
await hass.services.async_call(
|
await hass.services.async_call(
|
||||||
CLIMATE_DOMAIN,
|
CLIMATE_DOMAIN,
|
||||||
SERVICE_SET_HVAC_MODE,
|
SERVICE_SET_HVAC_MODE,
|
||||||
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVAC_MODE_COOL},
|
{ATTR_ENTITY_ID: "climate.thermostat", ATTR_HVAC_MODE: HVACMode.COOL},
|
||||||
blocking=True,
|
blocking=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -376,12 +372,12 @@ async def test_climate_device_with_cooling_support(
|
|||||||
|
|
||||||
assert len(hass.states.async_all()) == 2
|
assert len(hass.states.async_all()) == 2
|
||||||
climate_thermostat = hass.states.get("climate.zen_01")
|
climate_thermostat = hass.states.get("climate.zen_01")
|
||||||
assert climate_thermostat.state == HVAC_MODE_HEAT
|
assert climate_thermostat.state == HVACMode.HEAT
|
||||||
assert climate_thermostat.attributes["hvac_modes"] == [
|
assert climate_thermostat.attributes["hvac_modes"] == [
|
||||||
HVAC_MODE_HEAT,
|
HVACMode.HEAT,
|
||||||
HVAC_MODE_OFF,
|
HVACMode.OFF,
|
||||||
HVAC_MODE_AUTO,
|
HVACMode.AUTO,
|
||||||
HVAC_MODE_COOL,
|
HVACMode.COOL,
|
||||||
]
|
]
|
||||||
assert climate_thermostat.attributes["current_temperature"] == 23.2
|
assert climate_thermostat.attributes["current_temperature"] == 23.2
|
||||||
assert climate_thermostat.attributes["temperature"] == 22.2
|
assert climate_thermostat.attributes["temperature"] == 22.2
|
||||||
@ -400,7 +396,7 @@ async def test_climate_device_with_cooling_support(
|
|||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
assert hass.states.get("climate.zen_01").state == HVAC_MODE_COOL
|
assert hass.states.get("climate.zen_01").state == HVACMode.COOL
|
||||||
assert hass.states.get("climate.zen_01").attributes["temperature"] == 11.1
|
assert hass.states.get("climate.zen_01").attributes["temperature"] == 11.1
|
||||||
|
|
||||||
# Verify service calls
|
# Verify service calls
|
||||||
@ -456,7 +452,7 @@ async def test_climate_device_with_fan_support(
|
|||||||
|
|
||||||
assert len(hass.states.async_all()) == 2
|
assert len(hass.states.async_all()) == 2
|
||||||
climate_thermostat = hass.states.get("climate.zen_01")
|
climate_thermostat = hass.states.get("climate.zen_01")
|
||||||
assert climate_thermostat.state == HVAC_MODE_HEAT
|
assert climate_thermostat.state == HVACMode.HEAT
|
||||||
assert climate_thermostat.attributes["fan_mode"] == FAN_AUTO
|
assert climate_thermostat.attributes["fan_mode"] == FAN_AUTO
|
||||||
assert climate_thermostat.attributes["fan_modes"] == [
|
assert climate_thermostat.attributes["fan_modes"] == [
|
||||||
DECONZ_FAN_SMART,
|
DECONZ_FAN_SMART,
|
||||||
@ -584,7 +580,7 @@ async def test_climate_device_with_preset(hass, aioclient_mock, mock_deconz_webs
|
|||||||
assert len(hass.states.async_all()) == 2
|
assert len(hass.states.async_all()) == 2
|
||||||
|
|
||||||
climate_zen_01 = hass.states.get("climate.zen_01")
|
climate_zen_01 = hass.states.get("climate.zen_01")
|
||||||
assert climate_zen_01.state == HVAC_MODE_HEAT
|
assert climate_zen_01.state == HVACMode.HEAT
|
||||||
assert climate_zen_01.attributes["current_temperature"] == 23.2
|
assert climate_zen_01.attributes["current_temperature"] == 23.2
|
||||||
assert climate_zen_01.attributes["temperature"] == 22.2
|
assert climate_zen_01.attributes["temperature"] == 22.2
|
||||||
assert climate_zen_01.attributes["preset_mode"] == DECONZ_PRESET_AUTO
|
assert climate_zen_01.attributes["preset_mode"] == DECONZ_PRESET_AUTO
|
||||||
@ -696,7 +692,7 @@ async def test_clip_climate_device(hass, aioclient_mock):
|
|||||||
)
|
)
|
||||||
|
|
||||||
assert len(hass.states.async_all()) == 3
|
assert len(hass.states.async_all()) == 3
|
||||||
assert hass.states.get("climate.clip_thermostat").state == HVAC_MODE_HEAT
|
assert hass.states.get("climate.clip_thermostat").state == HVACMode.HEAT
|
||||||
|
|
||||||
# Disallow clip sensors
|
# Disallow clip sensors
|
||||||
|
|
||||||
@ -716,7 +712,7 @@ async def test_clip_climate_device(hass, aioclient_mock):
|
|||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
assert len(hass.states.async_all()) == 3
|
assert len(hass.states.async_all()) == 3
|
||||||
assert hass.states.get("climate.clip_thermostat").state == HVAC_MODE_HEAT
|
assert hass.states.get("climate.clip_thermostat").state == HVACMode.HEAT
|
||||||
|
|
||||||
|
|
||||||
async def test_verify_state_update(hass, aioclient_mock, mock_deconz_websocket):
|
async def test_verify_state_update(hass, aioclient_mock, mock_deconz_websocket):
|
||||||
@ -741,7 +737,7 @@ async def test_verify_state_update(hass, aioclient_mock, mock_deconz_websocket):
|
|||||||
with patch.dict(DECONZ_WEB_REQUEST, data):
|
with patch.dict(DECONZ_WEB_REQUEST, data):
|
||||||
await setup_deconz_integration(hass, aioclient_mock)
|
await setup_deconz_integration(hass, aioclient_mock)
|
||||||
|
|
||||||
assert hass.states.get("climate.thermostat").state == HVAC_MODE_AUTO
|
assert hass.states.get("climate.thermostat").state == HVACMode.AUTO
|
||||||
|
|
||||||
event_changed_sensor = {
|
event_changed_sensor = {
|
||||||
"t": "event",
|
"t": "event",
|
||||||
@ -753,7 +749,7 @@ async def test_verify_state_update(hass, aioclient_mock, mock_deconz_websocket):
|
|||||||
await mock_deconz_websocket(data=event_changed_sensor)
|
await mock_deconz_websocket(data=event_changed_sensor)
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
assert hass.states.get("climate.thermostat").state == HVAC_MODE_AUTO
|
assert hass.states.get("climate.thermostat").state == HVACMode.AUTO
|
||||||
|
|
||||||
|
|
||||||
async def test_add_new_climate_device(hass, aioclient_mock, mock_deconz_websocket):
|
async def test_add_new_climate_device(hass, aioclient_mock, mock_deconz_websocket):
|
||||||
@ -786,7 +782,7 @@ async def test_add_new_climate_device(hass, aioclient_mock, mock_deconz_websocke
|
|||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
|
|
||||||
assert len(hass.states.async_all()) == 2
|
assert len(hass.states.async_all()) == 2
|
||||||
assert hass.states.get("climate.thermostat").state == HVAC_MODE_AUTO
|
assert hass.states.get("climate.thermostat").state == HVACMode.AUTO
|
||||||
assert hass.states.get("sensor.thermostat_battery").state == "100"
|
assert hass.states.get("sensor.thermostat_battery").state == "100"
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user