From 705ee3032b68f51459f10736d17360810a3479fa Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Wed, 13 Sep 2023 13:13:27 +0200 Subject: [PATCH] Use shorthanded attrs for yamaha_musiccast select (#100273) --- .../components/yamaha_musiccast/select.py | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/homeassistant/components/yamaha_musiccast/select.py b/homeassistant/components/yamaha_musiccast/select.py index a8ca6162c91..8ef9df1ba2f 100644 --- a/homeassistant/components/yamaha_musiccast/select.py +++ b/homeassistant/components/yamaha_musiccast/select.py @@ -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: