Use EntityFeature enum in evohome (#69385)

This commit is contained in:
epenet 2022-04-06 11:53:41 +02:00 committed by GitHub
parent dae2cf2827
commit 0b18459ab8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 14 deletions

View File

@ -524,7 +524,6 @@ class EvoDevice(Entity):
self._evo_tcs = evo_broker.tcs self._evo_tcs = evo_broker.tcs
self._unique_id = self._name = self._icon = self._precision = None self._unique_id = self._name = self._icon = self._precision = None
self._supported_features = None
self._device_state_attrs = {} self._device_state_attrs = {}
async def async_refresh(self, payload: dict | None = None) -> None: 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 the icon to use in the frontend UI."""
return self._icon 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: async def async_added_to_hass(self) -> None:
"""Run when entity about to be added to hass.""" """Run when entity about to be added to hass."""
async_dispatcher_connect(self.hass, DOMAIN, self.async_refresh) async_dispatcher_connect(self.hass, DOMAIN, self.async_refresh)

View File

@ -4,7 +4,7 @@ from __future__ import annotations
from datetime import datetime as dt from datetime import datetime as dt
import logging import logging
from homeassistant.components.climate import ClimateEntity from homeassistant.components.climate import ClimateEntity, ClimateEntityFeature
from homeassistant.components.climate.const import ( from homeassistant.components.climate.const import (
HVAC_MODE_AUTO, HVAC_MODE_AUTO,
HVAC_MODE_HEAT, HVAC_MODE_HEAT,
@ -13,8 +13,6 @@ from homeassistant.components.climate.const import (
PRESET_ECO, PRESET_ECO,
PRESET_HOME, PRESET_HOME,
PRESET_NONE, PRESET_NONE,
SUPPORT_PRESET_MODE,
SUPPORT_TARGET_TEMPERATURE,
) )
from homeassistant.const import PRECISION_TENTHS from homeassistant.const import PRECISION_TENTHS
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
@ -167,7 +165,9 @@ class EvoZone(EvoChild, EvoClimateEntity):
self._precision = self._evo_device.setpointCapabilities["valueResolution"] self._precision = self._evo_device.setpointCapabilities["valueResolution"]
self._preset_modes = list(HA_PRESET_TO_EVO) 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: async def async_zone_svc_request(self, service: dict, data: dict) -> None:
"""Process a service request (setpoint override) for a zone.""" """Process a service request (setpoint override) for a zone."""
@ -328,7 +328,9 @@ class EvoController(EvoClimateEntity):
self._preset_modes = [ self._preset_modes = [
TCS_PRESET_TO_HA[m] for m in modes if m in list(TCS_PRESET_TO_HA) 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: async def async_tcs_svc_request(self, service: dict, data: dict) -> None:
"""Process a service request (system mode) for a controller. """Process a service request (system mode) for a controller.

View File

@ -4,9 +4,8 @@ from __future__ import annotations
import logging import logging
from homeassistant.components.water_heater import ( from homeassistant.components.water_heater import (
SUPPORT_AWAY_MODE,
SUPPORT_OPERATION_MODE,
WaterHeaterEntity, WaterHeaterEntity,
WaterHeaterEntityFeature,
) )
from homeassistant.const import PRECISION_TENTHS, PRECISION_WHOLE, STATE_OFF, STATE_ON from homeassistant.const import PRECISION_TENTHS, PRECISION_WHOLE, STATE_OFF, STATE_ON
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
@ -61,7 +60,9 @@ class EvoDHW(EvoChild, WaterHeaterEntity):
self._icon = "mdi:thermometer-lines" self._icon = "mdi:thermometer-lines"
self._precision = PRECISION_TENTHS if evo_broker.client_v1 else PRECISION_WHOLE 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 @property
def current_operation(self) -> str: def current_operation(self) -> str: