Use EntityFeature enum in components (l**) (#69412)
This commit is contained in:
parent
96819fff74
commit
95fb4695e4
9 changed files with 68 additions and 95 deletions
|
@ -11,21 +11,9 @@ from homeassistant.components.media_player import (
|
|||
PLATFORM_SCHEMA,
|
||||
MediaPlayerDeviceClass,
|
||||
MediaPlayerEntity,
|
||||
MediaPlayerEntityFeature,
|
||||
)
|
||||
from homeassistant.components.media_player.const import (
|
||||
MEDIA_TYPE_CHANNEL,
|
||||
SUPPORT_NEXT_TRACK,
|
||||
SUPPORT_PAUSE,
|
||||
SUPPORT_PLAY,
|
||||
SUPPORT_PLAY_MEDIA,
|
||||
SUPPORT_PREVIOUS_TRACK,
|
||||
SUPPORT_SELECT_SOURCE,
|
||||
SUPPORT_TURN_OFF,
|
||||
SUPPORT_TURN_ON,
|
||||
SUPPORT_VOLUME_MUTE,
|
||||
SUPPORT_VOLUME_SET,
|
||||
SUPPORT_VOLUME_STEP,
|
||||
)
|
||||
from homeassistant.components.media_player.const import MEDIA_TYPE_CHANNEL
|
||||
from homeassistant.const import (
|
||||
CONF_ACCESS_TOKEN,
|
||||
CONF_HOST,
|
||||
|
@ -47,16 +35,16 @@ DEFAULT_NAME = "LG TV Remote"
|
|||
CONF_ON_ACTION = "turn_on_action"
|
||||
|
||||
SUPPORT_LGTV = (
|
||||
SUPPORT_PAUSE
|
||||
| SUPPORT_VOLUME_STEP
|
||||
| SUPPORT_VOLUME_SET
|
||||
| SUPPORT_VOLUME_MUTE
|
||||
| SUPPORT_PREVIOUS_TRACK
|
||||
| SUPPORT_NEXT_TRACK
|
||||
| SUPPORT_TURN_OFF
|
||||
| SUPPORT_SELECT_SOURCE
|
||||
| SUPPORT_PLAY
|
||||
| SUPPORT_PLAY_MEDIA
|
||||
MediaPlayerEntityFeature.PAUSE
|
||||
| MediaPlayerEntityFeature.VOLUME_STEP
|
||||
| MediaPlayerEntityFeature.VOLUME_SET
|
||||
| MediaPlayerEntityFeature.VOLUME_MUTE
|
||||
| MediaPlayerEntityFeature.PREVIOUS_TRACK
|
||||
| MediaPlayerEntityFeature.NEXT_TRACK
|
||||
| MediaPlayerEntityFeature.TURN_OFF
|
||||
| MediaPlayerEntityFeature.SELECT_SOURCE
|
||||
| MediaPlayerEntityFeature.PLAY
|
||||
| MediaPlayerEntityFeature.PLAY_MEDIA
|
||||
)
|
||||
|
||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
|
||||
|
@ -221,7 +209,7 @@ class LgTVDevice(MediaPlayerEntity):
|
|||
def supported_features(self):
|
||||
"""Flag media player features that are supported."""
|
||||
if self._on_action_script:
|
||||
return SUPPORT_LGTV | SUPPORT_TURN_ON
|
||||
return SUPPORT_LGTV | MediaPlayerEntityFeature.TURN_ON
|
||||
return SUPPORT_LGTV
|
||||
|
||||
@property
|
||||
|
|
|
@ -3,25 +3,15 @@ from __future__ import annotations
|
|||
|
||||
import temescal
|
||||
|
||||
from homeassistant.components.media_player import MediaPlayerEntity
|
||||
from homeassistant.components.media_player.const import (
|
||||
SUPPORT_SELECT_SOUND_MODE,
|
||||
SUPPORT_SELECT_SOURCE,
|
||||
SUPPORT_VOLUME_MUTE,
|
||||
SUPPORT_VOLUME_SET,
|
||||
from homeassistant.components.media_player import (
|
||||
MediaPlayerEntity,
|
||||
MediaPlayerEntityFeature,
|
||||
)
|
||||
from homeassistant.const import STATE_ON
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||
|
||||
SUPPORT_LG = (
|
||||
SUPPORT_VOLUME_SET
|
||||
| SUPPORT_VOLUME_MUTE
|
||||
| SUPPORT_SELECT_SOURCE
|
||||
| SUPPORT_SELECT_SOUND_MODE
|
||||
)
|
||||
|
||||
|
||||
def setup_platform(
|
||||
hass: HomeAssistant,
|
||||
|
@ -37,6 +27,13 @@ def setup_platform(
|
|||
class LGDevice(MediaPlayerEntity):
|
||||
"""Representation of an LG soundbar device."""
|
||||
|
||||
_attr_supported_features = (
|
||||
MediaPlayerEntityFeature.VOLUME_SET
|
||||
| MediaPlayerEntityFeature.VOLUME_MUTE
|
||||
| MediaPlayerEntityFeature.SELECT_SOURCE
|
||||
| MediaPlayerEntityFeature.SELECT_SOUND_MODE
|
||||
)
|
||||
|
||||
def __init__(self, discovery_info):
|
||||
"""Initialize the LG speakers."""
|
||||
self._host = discovery_info["host"]
|
||||
|
@ -189,11 +186,6 @@ class LGDevice(MediaPlayerEntity):
|
|||
sources.append(temescal.functions[function])
|
||||
return sorted(sources)
|
||||
|
||||
@property
|
||||
def supported_features(self):
|
||||
"""Flag media player features that are supported."""
|
||||
return SUPPORT_LG
|
||||
|
||||
def set_volume_level(self, volume):
|
||||
"""Set volume level, range 0..1."""
|
||||
volume = volume * self._volume_max
|
||||
|
|
|
@ -6,8 +6,8 @@ from homeassistant.components.climate import (
|
|||
DEFAULT_MIN_TEMP,
|
||||
HVAC_MODE_HEAT,
|
||||
HVAC_MODE_OFF,
|
||||
SUPPORT_TARGET_TEMPERATURE,
|
||||
ClimateEntity,
|
||||
ClimateEntityFeature,
|
||||
)
|
||||
from homeassistant.components.climate.const import CURRENT_HVAC_HEAT, CURRENT_HVAC_OFF
|
||||
from homeassistant.const import ATTR_TEMPERATURE, CONF_NAME, TEMP_CELSIUS
|
||||
|
@ -46,7 +46,7 @@ class LightwaveTrv(ClimateEntity):
|
|||
_attr_hvac_modes = [HVAC_MODE_HEAT, HVAC_MODE_OFF]
|
||||
_attr_min_temp = DEFAULT_MIN_TEMP
|
||||
_attr_max_temp = DEFAULT_MAX_TEMP
|
||||
_attr_supported_features = SUPPORT_TARGET_TEMPERATURE
|
||||
_attr_supported_features = ClimateEntityFeature.TARGET_TEMPERATURE
|
||||
_attr_target_temperature_step = 0.5
|
||||
_attr_temperature_unit = TEMP_CELSIUS
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ from __future__ import annotations
|
|||
from datetime import timedelta
|
||||
import logging
|
||||
|
||||
from homeassistant.components.camera import SUPPORT_ON_OFF, Camera
|
||||
from homeassistant.components.camera import Camera, CameraEntityFeature
|
||||
from homeassistant.components.ffmpeg import get_ffmpeg_manager
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
|
@ -62,6 +62,8 @@ async def async_setup_entry(
|
|||
class LogiCam(Camera):
|
||||
"""An implementation of a Logi Circle camera."""
|
||||
|
||||
_attr_supported_features = CameraEntityFeature.ON_OFF
|
||||
|
||||
def __init__(self, camera, device_info, ffmpeg):
|
||||
"""Initialize Logi Circle camera."""
|
||||
super().__init__()
|
||||
|
@ -123,11 +125,6 @@ class LogiCam(Camera):
|
|||
"""Return the name of this camera."""
|
||||
return self._name
|
||||
|
||||
@property
|
||||
def supported_features(self):
|
||||
"""Logi Circle camera's support turning on and off ("soft" switch)."""
|
||||
return SUPPORT_ON_OFF
|
||||
|
||||
@property
|
||||
def device_info(self) -> DeviceInfo:
|
||||
"""Return information about the device."""
|
||||
|
|
|
@ -7,7 +7,7 @@ from typing import Any, Final, cast
|
|||
from aiolookin import Climate, MeteoSensor
|
||||
from aiolookin.models import UDPCommandType, UDPEvent
|
||||
|
||||
from homeassistant.components.climate import ClimateEntity
|
||||
from homeassistant.components.climate import ClimateEntity, ClimateEntityFeature
|
||||
from homeassistant.components.climate.const import (
|
||||
ATTR_HVAC_MODE,
|
||||
FAN_AUTO,
|
||||
|
@ -20,9 +20,6 @@ from homeassistant.components.climate.const import (
|
|||
HVAC_MODE_FAN_ONLY,
|
||||
HVAC_MODE_HEAT,
|
||||
HVAC_MODE_OFF,
|
||||
SUPPORT_FAN_MODE,
|
||||
SUPPORT_SWING_MODE,
|
||||
SUPPORT_TARGET_TEMPERATURE,
|
||||
SWING_BOTH,
|
||||
SWING_OFF,
|
||||
)
|
||||
|
@ -41,8 +38,6 @@ from .coordinator import LookinDataUpdateCoordinator
|
|||
from .entity import LookinCoordinatorEntity
|
||||
from .models import LookinData
|
||||
|
||||
SUPPORT_FLAGS: int = SUPPORT_TARGET_TEMPERATURE | SUPPORT_FAN_MODE | SUPPORT_SWING_MODE
|
||||
|
||||
LOOKIN_FAN_MODE_IDX_TO_HASS: Final = [FAN_AUTO, FAN_LOW, FAN_MIDDLE, FAN_HIGH]
|
||||
LOOKIN_SWING_MODE_IDX_TO_HASS: Final = [SWING_OFF, SWING_BOTH]
|
||||
LOOKIN_HVAC_MODE_IDX_TO_HASS: Final = [
|
||||
|
@ -102,7 +97,11 @@ class ConditionerEntity(LookinCoordinatorEntity, ClimateEntity):
|
|||
|
||||
_attr_current_humidity: float | None = None # type: ignore[assignment]
|
||||
_attr_temperature_unit = TEMP_CELSIUS
|
||||
_attr_supported_features: int = SUPPORT_FLAGS
|
||||
_attr_supported_features: int = (
|
||||
ClimateEntityFeature.TARGET_TEMPERATURE
|
||||
| ClimateEntityFeature.FAN_MODE
|
||||
| ClimateEntityFeature.SWING_MODE
|
||||
)
|
||||
_attr_fan_modes: list[str] = LOOKIN_FAN_MODE_IDX_TO_HASS
|
||||
_attr_swing_modes: list[str] = LOOKIN_SWING_MODE_IDX_TO_HASS
|
||||
_attr_hvac_modes: list[str] = LOOKIN_HVAC_MODE_IDX_TO_HASS
|
||||
|
|
|
@ -8,14 +8,7 @@ from aiolookin import Remote
|
|||
from homeassistant.components.media_player import (
|
||||
MediaPlayerDeviceClass,
|
||||
MediaPlayerEntity,
|
||||
)
|
||||
from homeassistant.components.media_player.const import (
|
||||
SUPPORT_NEXT_TRACK,
|
||||
SUPPORT_PREVIOUS_TRACK,
|
||||
SUPPORT_TURN_OFF,
|
||||
SUPPORT_TURN_ON,
|
||||
SUPPORT_VOLUME_MUTE,
|
||||
SUPPORT_VOLUME_STEP,
|
||||
MediaPlayerEntityFeature,
|
||||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import STATE_ON, STATE_STANDBY, Platform
|
||||
|
@ -35,13 +28,13 @@ _TYPE_TO_DEVICE_CLASS = {
|
|||
}
|
||||
|
||||
_FUNCTION_NAME_TO_FEATURE = {
|
||||
"power": SUPPORT_TURN_OFF,
|
||||
"poweron": SUPPORT_TURN_ON,
|
||||
"poweroff": SUPPORT_TURN_OFF,
|
||||
"mute": SUPPORT_VOLUME_MUTE,
|
||||
"volup": SUPPORT_VOLUME_STEP,
|
||||
"chup": SUPPORT_NEXT_TRACK,
|
||||
"chdown": SUPPORT_PREVIOUS_TRACK,
|
||||
"power": MediaPlayerEntityFeature.TURN_OFF,
|
||||
"poweron": MediaPlayerEntityFeature.TURN_ON,
|
||||
"poweroff": MediaPlayerEntityFeature.TURN_OFF,
|
||||
"mute": MediaPlayerEntityFeature.VOLUME_MUTE,
|
||||
"volup": MediaPlayerEntityFeature.VOLUME_STEP,
|
||||
"chup": MediaPlayerEntityFeature.NEXT_TRACK,
|
||||
"chdown": MediaPlayerEntityFeature.PREVIOUS_TRACK,
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3,10 +3,9 @@ from __future__ import annotations
|
|||
|
||||
from datetime import timedelta
|
||||
|
||||
from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity
|
||||
from homeassistant.components.alarm_control_panel.const import (
|
||||
SUPPORT_ALARM_ARM_AWAY,
|
||||
SUPPORT_ALARM_ARM_HOME,
|
||||
from homeassistant.components.alarm_control_panel import (
|
||||
AlarmControlPanelEntity,
|
||||
AlarmControlPanelEntityFeature,
|
||||
)
|
||||
from homeassistant.const import (
|
||||
STATE_ALARM_ARMED_AWAY,
|
||||
|
@ -45,6 +44,11 @@ def setup_platform(
|
|||
class LupusecAlarm(LupusecDevice, AlarmControlPanelEntity):
|
||||
"""An alarm_control_panel implementation for Lupusec."""
|
||||
|
||||
_attr_supported_features = (
|
||||
AlarmControlPanelEntityFeature.ARM_HOME
|
||||
| AlarmControlPanelEntityFeature.ARM_AWAY
|
||||
)
|
||||
|
||||
@property
|
||||
def icon(self):
|
||||
"""Return the icon."""
|
||||
|
@ -65,11 +69,6 @@ class LupusecAlarm(LupusecDevice, AlarmControlPanelEntity):
|
|||
state = None
|
||||
return state
|
||||
|
||||
@property
|
||||
def supported_features(self) -> int:
|
||||
"""Return the list of supported features."""
|
||||
return SUPPORT_ALARM_ARM_HOME | SUPPORT_ALARM_ARM_AWAY
|
||||
|
||||
def alarm_arm_away(self, code=None):
|
||||
"""Send arm away command."""
|
||||
self._device.set_away()
|
||||
|
|
|
@ -5,10 +5,8 @@ import logging
|
|||
|
||||
from homeassistant.components.cover import (
|
||||
ATTR_POSITION,
|
||||
SUPPORT_CLOSE,
|
||||
SUPPORT_OPEN,
|
||||
SUPPORT_SET_POSITION,
|
||||
CoverEntity,
|
||||
CoverEntityFeature,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
@ -37,10 +35,11 @@ def setup_platform(
|
|||
class LutronCover(LutronDevice, CoverEntity):
|
||||
"""Representation of a Lutron shade."""
|
||||
|
||||
@property
|
||||
def supported_features(self):
|
||||
"""Flag supported features."""
|
||||
return SUPPORT_OPEN | SUPPORT_CLOSE | SUPPORT_SET_POSITION
|
||||
_attr_supported_features = (
|
||||
CoverEntityFeature.OPEN
|
||||
| CoverEntityFeature.CLOSE
|
||||
| CoverEntityFeature.SET_POSITION
|
||||
)
|
||||
|
||||
@property
|
||||
def is_closed(self):
|
||||
|
|
|
@ -9,7 +9,11 @@ from aiolyric.objects.device import LyricDevice
|
|||
from aiolyric.objects.location import LyricLocation
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.climate import ClimateEntity, ClimateEntityDescription
|
||||
from homeassistant.components.climate import (
|
||||
ClimateEntity,
|
||||
ClimateEntityDescription,
|
||||
ClimateEntityFeature,
|
||||
)
|
||||
from homeassistant.components.climate.const import (
|
||||
ATTR_TARGET_TEMP_HIGH,
|
||||
ATTR_TARGET_TEMP_LOW,
|
||||
|
@ -21,9 +25,6 @@ from homeassistant.components.climate.const import (
|
|||
HVAC_MODE_HEAT,
|
||||
HVAC_MODE_HEAT_COOL,
|
||||
HVAC_MODE_OFF,
|
||||
SUPPORT_PRESET_MODE,
|
||||
SUPPORT_TARGET_TEMPERATURE,
|
||||
SUPPORT_TARGET_TEMPERATURE_RANGE,
|
||||
)
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import ATTR_TEMPERATURE
|
||||
|
@ -49,9 +50,14 @@ _LOGGER = logging.getLogger(__name__)
|
|||
|
||||
# Only LCC models support presets
|
||||
SUPPORT_FLAGS_LCC = (
|
||||
SUPPORT_TARGET_TEMPERATURE | SUPPORT_PRESET_MODE | SUPPORT_TARGET_TEMPERATURE_RANGE
|
||||
ClimateEntityFeature.TARGET_TEMPERATURE
|
||||
| ClimateEntityFeature.PRESET_MODE
|
||||
| ClimateEntityFeature.TARGET_TEMPERATURE_RANGE
|
||||
)
|
||||
SUPPORT_FLAGS_TCC = (
|
||||
ClimateEntityFeature.TARGET_TEMPERATURE
|
||||
| ClimateEntityFeature.TARGET_TEMPERATURE_RANGE
|
||||
)
|
||||
SUPPORT_FLAGS_TCC = SUPPORT_TARGET_TEMPERATURE | SUPPORT_TARGET_TEMPERATURE_RANGE
|
||||
|
||||
LYRIC_HVAC_ACTION_OFF = "EquipmentOff"
|
||||
LYRIC_HVAC_ACTION_HEAT = "Heat"
|
||||
|
|
Loading…
Add table
Reference in a new issue