Use EntityFeature enum in components (y**) (#69470)

This commit is contained in:
epenet 2022-04-07 15:10:38 +02:00 committed by GitHub
parent 190ef4ee35
commit 3aeb53ec98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 51 additions and 65 deletions

View File

@ -9,10 +9,9 @@ from yalesmartalarmclient.const import (
YALE_STATE_DISARM, YALE_STATE_DISARM,
) )
from homeassistant.components.alarm_control_panel import AlarmControlPanelEntity from homeassistant.components.alarm_control_panel import (
from homeassistant.components.alarm_control_panel.const import ( AlarmControlPanelEntity,
SUPPORT_ALARM_ARM_AWAY, AlarmControlPanelEntityFeature,
SUPPORT_ALARM_ARM_HOME,
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_NAME from homeassistant.const import CONF_NAME
@ -40,7 +39,10 @@ class YaleAlarmDevice(YaleAlarmEntity, AlarmControlPanelEntity):
"""Represent a Yale Smart Alarm.""" """Represent a Yale Smart Alarm."""
_attr_code_arm_required = False _attr_code_arm_required = False
_attr_supported_features = SUPPORT_ALARM_ARM_HOME | SUPPORT_ALARM_ARM_AWAY _attr_supported_features = (
AlarmControlPanelEntityFeature.ARM_HOME
| AlarmControlPanelEntityFeature.ARM_AWAY
)
def __init__(self, coordinator: YaleDataUpdateCoordinator) -> None: def __init__(self, coordinator: YaleDataUpdateCoordinator) -> None:
"""Initialize the Yale Alarm Device.""" """Initialize the Yale Alarm Device."""

View File

@ -7,22 +7,12 @@ import requests
import rxv import rxv
import voluptuous as vol import voluptuous as vol
from homeassistant.components.media_player import PLATFORM_SCHEMA, MediaPlayerEntity from homeassistant.components.media_player import (
from homeassistant.components.media_player.const import ( PLATFORM_SCHEMA,
MEDIA_TYPE_MUSIC, MediaPlayerEntity,
SUPPORT_NEXT_TRACK, MediaPlayerEntityFeature,
SUPPORT_PAUSE,
SUPPORT_PLAY,
SUPPORT_PLAY_MEDIA,
SUPPORT_PREVIOUS_TRACK,
SUPPORT_SELECT_SOUND_MODE,
SUPPORT_SELECT_SOURCE,
SUPPORT_STOP,
SUPPORT_TURN_OFF,
SUPPORT_TURN_ON,
SUPPORT_VOLUME_MUTE,
SUPPORT_VOLUME_SET,
) )
from homeassistant.components.media_player.const import MEDIA_TYPE_MUSIC
from homeassistant.const import ( from homeassistant.const import (
CONF_HOST, CONF_HOST,
CONF_NAME, CONF_NAME,
@ -73,13 +63,13 @@ DATA_YAMAHA = "yamaha_known_receivers"
DEFAULT_NAME = "Yamaha Receiver" DEFAULT_NAME = "Yamaha Receiver"
SUPPORT_YAMAHA = ( SUPPORT_YAMAHA = (
SUPPORT_VOLUME_SET MediaPlayerEntityFeature.VOLUME_SET
| SUPPORT_VOLUME_MUTE | MediaPlayerEntityFeature.VOLUME_MUTE
| SUPPORT_TURN_ON | MediaPlayerEntityFeature.TURN_ON
| SUPPORT_TURN_OFF | MediaPlayerEntityFeature.TURN_OFF
| SUPPORT_SELECT_SOURCE | MediaPlayerEntityFeature.SELECT_SOURCE
| SUPPORT_PLAY | MediaPlayerEntityFeature.PLAY
| SUPPORT_SELECT_SOUND_MODE | MediaPlayerEntityFeature.SELECT_SOUND_MODE
) )
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
@ -332,11 +322,13 @@ class YamahaDevice(MediaPlayerEntity):
supports = self._playback_support supports = self._playback_support
mapping = { mapping = {
"play": (SUPPORT_PLAY | SUPPORT_PLAY_MEDIA), "play": (
"pause": SUPPORT_PAUSE, MediaPlayerEntityFeature.PLAY | MediaPlayerEntityFeature.PLAY_MEDIA
"stop": SUPPORT_STOP, ),
"skip_f": SUPPORT_NEXT_TRACK, "pause": MediaPlayerEntityFeature.PAUSE,
"skip_r": SUPPORT_PREVIOUS_TRACK, "stop": MediaPlayerEntityFeature.STOP,
"skip_f": MediaPlayerEntityFeature.NEXT_TRACK,
"skip_r": MediaPlayerEntityFeature.PREVIOUS_TRACK,
} }
for attr, feature in mapping.items(): for attr, feature in mapping.items():
if getattr(supports, attr, False): if getattr(supports, attr, False):

View File

@ -8,7 +8,11 @@ from aiomusiccast import MusicCastGroupException, MusicCastMediaContent
from aiomusiccast.features import ZoneFeature from aiomusiccast.features import ZoneFeature
from homeassistant.components import media_source from homeassistant.components import media_source
from homeassistant.components.media_player import BrowseMedia, MediaPlayerEntity from homeassistant.components.media_player import (
BrowseMedia,
MediaPlayerEntity,
MediaPlayerEntityFeature,
)
from homeassistant.components.media_player.browse_media import ( from homeassistant.components.media_player.browse_media import (
async_process_play_media_url, async_process_play_media_url,
) )
@ -17,23 +21,6 @@ from homeassistant.components.media_player.const import (
MEDIA_CLASS_TRACK, MEDIA_CLASS_TRACK,
MEDIA_TYPE_MUSIC, MEDIA_TYPE_MUSIC,
REPEAT_MODE_OFF, REPEAT_MODE_OFF,
SUPPORT_BROWSE_MEDIA,
SUPPORT_GROUPING,
SUPPORT_NEXT_TRACK,
SUPPORT_PAUSE,
SUPPORT_PLAY,
SUPPORT_PLAY_MEDIA,
SUPPORT_PREVIOUS_TRACK,
SUPPORT_REPEAT_SET,
SUPPORT_SELECT_SOUND_MODE,
SUPPORT_SELECT_SOURCE,
SUPPORT_SHUFFLE_SET,
SUPPORT_STOP,
SUPPORT_TURN_OFF,
SUPPORT_TURN_ON,
SUPPORT_VOLUME_MUTE,
SUPPORT_VOLUME_SET,
SUPPORT_VOLUME_STEP,
) )
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import STATE_IDLE, STATE_OFF, STATE_PAUSED, STATE_PLAYING from homeassistant.const import STATE_IDLE, STATE_OFF, STATE_PAUSED, STATE_PLAYING
@ -58,12 +45,12 @@ from .const import (
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
MUSIC_PLAYER_BASE_SUPPORT = ( MUSIC_PLAYER_BASE_SUPPORT = (
SUPPORT_SHUFFLE_SET MediaPlayerEntityFeature.SHUFFLE_SET
| SUPPORT_REPEAT_SET | MediaPlayerEntityFeature.REPEAT_SET
| SUPPORT_SELECT_SOUND_MODE | MediaPlayerEntityFeature.SELECT_SOUND_MODE
| SUPPORT_SELECT_SOURCE | MediaPlayerEntityFeature.SELECT_SOURCE
| SUPPORT_GROUPING | MediaPlayerEntityFeature.GROUPING
| SUPPORT_PLAY_MEDIA | MediaPlayerEntityFeature.PLAY_MEDIA
) )
@ -449,23 +436,28 @@ class MusicCastMediaPlayer(MusicCastDeviceEntity, MediaPlayerEntity):
zone = self.coordinator.data.zones[self._zone_id] zone = self.coordinator.data.zones[self._zone_id]
if ZoneFeature.POWER in zone.features: if ZoneFeature.POWER in zone.features:
supported_features |= SUPPORT_TURN_ON | SUPPORT_TURN_OFF supported_features |= (
MediaPlayerEntityFeature.TURN_ON | MediaPlayerEntityFeature.TURN_OFF
)
if ZoneFeature.VOLUME in zone.features: if ZoneFeature.VOLUME in zone.features:
supported_features |= SUPPORT_VOLUME_SET | SUPPORT_VOLUME_STEP supported_features |= (
MediaPlayerEntityFeature.VOLUME_SET
| MediaPlayerEntityFeature.VOLUME_STEP
)
if ZoneFeature.MUTE in zone.features: if ZoneFeature.MUTE in zone.features:
supported_features |= SUPPORT_VOLUME_MUTE supported_features |= MediaPlayerEntityFeature.VOLUME_MUTE
if self._is_netusb or self._is_tuner: if self._is_netusb or self._is_tuner:
supported_features |= SUPPORT_PREVIOUS_TRACK supported_features |= MediaPlayerEntityFeature.PREVIOUS_TRACK
supported_features |= SUPPORT_NEXT_TRACK supported_features |= MediaPlayerEntityFeature.NEXT_TRACK
if self._is_netusb: if self._is_netusb:
supported_features |= SUPPORT_PAUSE supported_features |= MediaPlayerEntityFeature.PAUSE
supported_features |= SUPPORT_PLAY supported_features |= MediaPlayerEntityFeature.PLAY
supported_features |= SUPPORT_STOP supported_features |= MediaPlayerEntityFeature.STOP
if self.state != STATE_OFF: if self.state != STATE_OFF:
supported_features |= SUPPORT_BROWSE_MEDIA supported_features |= MediaPlayerEntityFeature.BROWSE_MEDIA
return supported_features return supported_features