Use EntityFeature enum in evohome (#69385)
parent
dae2cf2827
commit
0b18459ab8
|
@ -524,7 +524,6 @@ class EvoDevice(Entity):
|
|||
self._evo_tcs = evo_broker.tcs
|
||||
|
||||
self._unique_id = self._name = self._icon = self._precision = None
|
||||
self._supported_features = None
|
||||
self._device_state_attrs = {}
|
||||
|
||||
async def async_refresh(self, payload: dict | None = None) -> None:
|
||||
|
@ -580,11 +579,6 @@ class EvoDevice(Entity):
|
|||
"""Return the icon to use in the frontend UI."""
|
||||
return self._icon
|
||||
|
||||
@property
|
||||
def supported_features(self) -> int:
|
||||
"""Get the flag of supported features of the device."""
|
||||
return self._supported_features
|
||||
|
||||
async def async_added_to_hass(self) -> None:
|
||||
"""Run when entity about to be added to hass."""
|
||||
async_dispatcher_connect(self.hass, DOMAIN, self.async_refresh)
|
||||
|
|
|
@ -4,7 +4,7 @@ from __future__ import annotations
|
|||
from datetime import datetime as dt
|
||||
import logging
|
||||
|
||||
from homeassistant.components.climate import ClimateEntity
|
||||
from homeassistant.components.climate import ClimateEntity, ClimateEntityFeature
|
||||
from homeassistant.components.climate.const import (
|
||||
HVAC_MODE_AUTO,
|
||||
HVAC_MODE_HEAT,
|
||||
|
@ -13,8 +13,6 @@ from homeassistant.components.climate.const import (
|
|||
PRESET_ECO,
|
||||
PRESET_HOME,
|
||||
PRESET_NONE,
|
||||
SUPPORT_PRESET_MODE,
|
||||
SUPPORT_TARGET_TEMPERATURE,
|
||||
)
|
||||
from homeassistant.const import PRECISION_TENTHS
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
@ -167,7 +165,9 @@ class EvoZone(EvoChild, EvoClimateEntity):
|
|||
self._precision = self._evo_device.setpointCapabilities["valueResolution"]
|
||||
|
||||
self._preset_modes = list(HA_PRESET_TO_EVO)
|
||||
self._supported_features = SUPPORT_PRESET_MODE | SUPPORT_TARGET_TEMPERATURE
|
||||
self._attr_supported_features = (
|
||||
ClimateEntityFeature.PRESET_MODE | ClimateEntityFeature.TARGET_TEMPERATURE
|
||||
)
|
||||
|
||||
async def async_zone_svc_request(self, service: dict, data: dict) -> None:
|
||||
"""Process a service request (setpoint override) for a zone."""
|
||||
|
@ -328,7 +328,9 @@ class EvoController(EvoClimateEntity):
|
|||
self._preset_modes = [
|
||||
TCS_PRESET_TO_HA[m] for m in modes if m in list(TCS_PRESET_TO_HA)
|
||||
]
|
||||
self._supported_features = SUPPORT_PRESET_MODE if self._preset_modes else 0
|
||||
self._attr_supported_features = (
|
||||
ClimateEntityFeature.PRESET_MODE if self._preset_modes else 0
|
||||
)
|
||||
|
||||
async def async_tcs_svc_request(self, service: dict, data: dict) -> None:
|
||||
"""Process a service request (system mode) for a controller.
|
||||
|
|
|
@ -4,9 +4,8 @@ from __future__ import annotations
|
|||
import logging
|
||||
|
||||
from homeassistant.components.water_heater import (
|
||||
SUPPORT_AWAY_MODE,
|
||||
SUPPORT_OPERATION_MODE,
|
||||
WaterHeaterEntity,
|
||||
WaterHeaterEntityFeature,
|
||||
)
|
||||
from homeassistant.const import PRECISION_TENTHS, PRECISION_WHOLE, STATE_OFF, STATE_ON
|
||||
from homeassistant.core import HomeAssistant
|
||||
|
@ -61,7 +60,9 @@ class EvoDHW(EvoChild, WaterHeaterEntity):
|
|||
self._icon = "mdi:thermometer-lines"
|
||||
|
||||
self._precision = PRECISION_TENTHS if evo_broker.client_v1 else PRECISION_WHOLE
|
||||
self._supported_features = SUPPORT_AWAY_MODE | SUPPORT_OPERATION_MODE
|
||||
self._attr_supported_features = (
|
||||
WaterHeaterEntityFeature.AWAY_MODE | WaterHeaterEntityFeature.OPERATION_MODE
|
||||
)
|
||||
|
||||
@property
|
||||
def current_operation(self) -> str:
|
||||
|
|
Loading…
Reference in New Issue