Use climate enums in fritzbox (#70650)
* Use climate enums in fritzbox * Adjust tests * Update homeassistant/components/fritzbox/climate.py Co-authored-by: Erik Montnemery <erik@montnemery.com> Co-authored-by: Erik Montnemery <erik@montnemery.com>
This commit is contained in:
parent
0fd2a7dc83
commit
d52234a57a
2 changed files with 15 additions and 16 deletions
|
@ -3,13 +3,13 @@ from __future__ import annotations
|
|||
|
||||
from typing import Any
|
||||
|
||||
from homeassistant.components.climate import ClimateEntity, ClimateEntityFeature
|
||||
from homeassistant.components.climate import ClimateEntity
|
||||
from homeassistant.components.climate.const import (
|
||||
ATTR_HVAC_MODE,
|
||||
HVAC_MODE_HEAT,
|
||||
HVAC_MODE_OFF,
|
||||
PRESET_COMFORT,
|
||||
PRESET_ECO,
|
||||
ClimateEntityFeature,
|
||||
HVACMode,
|
||||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
|
@ -32,7 +32,7 @@ from .const import (
|
|||
)
|
||||
from .model import ClimateExtraAttributes
|
||||
|
||||
OPERATION_LIST = [HVAC_MODE_HEAT, HVAC_MODE_OFF]
|
||||
OPERATION_LIST = [HVACMode.HEAT, HVACMode.OFF]
|
||||
|
||||
MIN_TEMPERATURE = 8
|
||||
MAX_TEMPERATURE = 28
|
||||
|
@ -113,18 +113,18 @@ class FritzboxThermostat(FritzBoxEntity, ClimateEntity):
|
|||
OFF_REPORT_SET_TEMPERATURE,
|
||||
OFF_API_TEMPERATURE,
|
||||
):
|
||||
return HVAC_MODE_OFF
|
||||
return HVACMode.OFF
|
||||
|
||||
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 operation modes."""
|
||||
return OPERATION_LIST
|
||||
|
||||
async def async_set_hvac_mode(self, hvac_mode: str) -> None:
|
||||
"""Set new operation mode."""
|
||||
if hvac_mode == HVAC_MODE_OFF:
|
||||
if hvac_mode == HVACMode.OFF:
|
||||
await self.async_set_temperature(temperature=OFF_REPORT_SET_TEMPERATURE)
|
||||
else:
|
||||
await self.async_set_temperature(
|
||||
|
|
|
@ -13,13 +13,12 @@ from homeassistant.components.climate.const import (
|
|||
ATTR_PRESET_MODE,
|
||||
ATTR_PRESET_MODES,
|
||||
DOMAIN,
|
||||
HVAC_MODE_HEAT,
|
||||
HVAC_MODE_OFF,
|
||||
PRESET_COMFORT,
|
||||
PRESET_ECO,
|
||||
SERVICE_SET_HVAC_MODE,
|
||||
SERVICE_SET_PRESET_MODE,
|
||||
SERVICE_SET_TEMPERATURE,
|
||||
HVACMode,
|
||||
)
|
||||
from homeassistant.components.fritzbox.const import (
|
||||
ATTR_STATE_BATTERY_LOW,
|
||||
|
@ -62,7 +61,7 @@ async def test_setup(hass: HomeAssistant, fritz: Mock):
|
|||
assert state.attributes[ATTR_BATTERY_LEVEL] == 23
|
||||
assert state.attributes[ATTR_CURRENT_TEMPERATURE] == 18
|
||||
assert state.attributes[ATTR_FRIENDLY_NAME] == CONF_FAKE_NAME
|
||||
assert state.attributes[ATTR_HVAC_MODES] == [HVAC_MODE_HEAT, HVAC_MODE_OFF]
|
||||
assert state.attributes[ATTR_HVAC_MODES] == [HVACMode.HEAT, HVACMode.OFF]
|
||||
assert state.attributes[ATTR_MAX_TEMP] == 28
|
||||
assert state.attributes[ATTR_MIN_TEMP] == 8
|
||||
assert state.attributes[ATTR_PRESET_MODE] is None
|
||||
|
@ -73,7 +72,7 @@ async def test_setup(hass: HomeAssistant, fritz: Mock):
|
|||
assert state.attributes[ATTR_STATE_WINDOW_OPEN] == "fake_window"
|
||||
assert state.attributes[ATTR_TEMPERATURE] == 19.5
|
||||
assert ATTR_STATE_CLASS not in state.attributes
|
||||
assert state.state == HVAC_MODE_HEAT
|
||||
assert state.state == HVACMode.HEAT
|
||||
|
||||
state = hass.states.get(f"{SENSOR_DOMAIN}.{CONF_FAKE_NAME}_battery")
|
||||
assert state
|
||||
|
@ -261,7 +260,7 @@ async def test_set_temperature_mode_off(hass: HomeAssistant, fritz: Mock):
|
|||
SERVICE_SET_TEMPERATURE,
|
||||
{
|
||||
ATTR_ENTITY_ID: ENTITY_ID,
|
||||
ATTR_HVAC_MODE: HVAC_MODE_OFF,
|
||||
ATTR_HVAC_MODE: HVACMode.OFF,
|
||||
ATTR_TEMPERATURE: 123,
|
||||
},
|
||||
True,
|
||||
|
@ -281,7 +280,7 @@ async def test_set_temperature_mode_heat(hass: HomeAssistant, fritz: Mock):
|
|||
SERVICE_SET_TEMPERATURE,
|
||||
{
|
||||
ATTR_ENTITY_ID: ENTITY_ID,
|
||||
ATTR_HVAC_MODE: HVAC_MODE_HEAT,
|
||||
ATTR_HVAC_MODE: HVACMode.HEAT,
|
||||
ATTR_TEMPERATURE: 123,
|
||||
},
|
||||
True,
|
||||
|
@ -299,7 +298,7 @@ async def test_set_hvac_mode_off(hass: HomeAssistant, fritz: Mock):
|
|||
assert await hass.services.async_call(
|
||||
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},
|
||||
True,
|
||||
)
|
||||
assert device.set_target_temperature.call_args_list == [call(0)]
|
||||
|
@ -315,7 +314,7 @@ async def test_set_hvac_mode_heat(hass: HomeAssistant, fritz: Mock):
|
|||
assert await hass.services.async_call(
|
||||
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},
|
||||
True,
|
||||
)
|
||||
assert device.set_target_temperature.call_args_list == [call(22)]
|
||||
|
|
Loading…
Add table
Reference in a new issue