mirror of
https://github.com/home-assistant/core.git
synced 2025-07-27 07:07:28 +00:00
Add dynamic media player features to Russound (#122475)
Add dynamic media player features
This commit is contained in:
parent
0a62a4459f
commit
d78327a72f
@ -3,6 +3,9 @@
|
||||
import asyncio
|
||||
|
||||
from aiorussound import CommandException
|
||||
from aiorussound.const import FeatureFlag
|
||||
|
||||
from homeassistant.components.media_player import MediaPlayerEntityFeature
|
||||
|
||||
DOMAIN = "russound_rio"
|
||||
|
||||
@ -19,3 +22,7 @@ class NoPrimaryControllerException(Exception):
|
||||
|
||||
|
||||
CONNECT_TIMEOUT = 5
|
||||
|
||||
MP_FEATURES_BY_FLAG = {
|
||||
FeatureFlag.COMMANDS_ZONE_MUTE_OFF_ON: MediaPlayerEntityFeature.VOLUME_MUTE
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ from homeassistant.helpers.issue_registry import IssueSeverity, async_create_iss
|
||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||
|
||||
from . import RussoundConfigEntry
|
||||
from .const import DOMAIN
|
||||
from .const import DOMAIN, MP_FEATURES_BY_FLAG
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
@ -115,8 +115,7 @@ class RussoundZoneDevice(MediaPlayerEntity):
|
||||
_attr_should_poll = False
|
||||
_attr_has_entity_name = True
|
||||
_attr_supported_features = (
|
||||
MediaPlayerEntityFeature.VOLUME_MUTE
|
||||
| MediaPlayerEntityFeature.VOLUME_SET
|
||||
MediaPlayerEntityFeature.VOLUME_SET
|
||||
| MediaPlayerEntityFeature.TURN_ON
|
||||
| MediaPlayerEntityFeature.TURN_OFF
|
||||
| MediaPlayerEntityFeature.SELECT_SOURCE
|
||||
@ -143,6 +142,9 @@ class RussoundZoneDevice(MediaPlayerEntity):
|
||||
DOMAIN,
|
||||
self._controller.parent_controller.mac_address,
|
||||
)
|
||||
for flag, feature in MP_FEATURES_BY_FLAG.items():
|
||||
if flag in zone.instance.supported_features:
|
||||
self._attr_supported_features |= feature
|
||||
|
||||
def _callback_handler(self, device_str, *args):
|
||||
if (
|
||||
|
Loading…
x
Reference in New Issue
Block a user