mirror of
https://github.com/home-assistant/core.git
synced 2025-07-15 09:17:10 +00:00
Use shorthanded attrs for yamaha_musiccast select (#100273)
This commit is contained in:
parent
7fe78fe9e4
commit
705ee3032b
@ -24,37 +24,39 @@ async def async_setup_entry(
|
||||
|
||||
for capability in coordinator.data.capabilities:
|
||||
if isinstance(capability, OptionSetter):
|
||||
select_entities.append(SelectableCapapility(coordinator, capability))
|
||||
select_entities.append(SelectableCapability(coordinator, capability))
|
||||
|
||||
for zone, data in coordinator.data.zones.items():
|
||||
for capability in data.capabilities:
|
||||
if isinstance(capability, OptionSetter):
|
||||
select_entities.append(
|
||||
SelectableCapapility(coordinator, capability, zone)
|
||||
SelectableCapability(coordinator, capability, zone)
|
||||
)
|
||||
|
||||
async_add_entities(select_entities)
|
||||
|
||||
|
||||
class SelectableCapapility(MusicCastCapabilityEntity, SelectEntity):
|
||||
class SelectableCapability(MusicCastCapabilityEntity, SelectEntity):
|
||||
"""Representation of a MusicCast Select entity."""
|
||||
|
||||
capability: OptionSetter
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
coordinator: MusicCastDataUpdateCoordinator,
|
||||
capability: OptionSetter,
|
||||
zone_id: str | None = None,
|
||||
) -> None:
|
||||
"""Initialize the MusicCast Select entity."""
|
||||
MusicCastCapabilityEntity.__init__(self, coordinator, capability, zone_id)
|
||||
self._attr_options = list(capability.options.values())
|
||||
self._attr_translation_key = TRANSLATION_KEY_MAPPING.get(capability.id)
|
||||
|
||||
async def async_select_option(self, option: str) -> None:
|
||||
"""Select the given option."""
|
||||
value = {val: key for key, val in self.capability.options.items()}[option]
|
||||
await self.capability.set(value)
|
||||
|
||||
@property
|
||||
def translation_key(self) -> str | None:
|
||||
"""Return the translation key to translate the entity's states."""
|
||||
return TRANSLATION_KEY_MAPPING.get(self.capability.id)
|
||||
|
||||
@property
|
||||
def options(self) -> list[str]:
|
||||
"""Return the list possible options."""
|
||||
return list(self.capability.options.values())
|
||||
self._attr_translation_key = TRANSLATION_KEY_MAPPING.get(self.capability.id)
|
||||
|
||||
@property
|
||||
def current_option(self) -> str | None:
|
||||
|
Loading…
x
Reference in New Issue
Block a user