Move Device Class definition to Home Assistant for MusicCast Select Entities (#61218)

* Add a device class mapping to the consts to map from capability IDs to HA device classes.

* Use python3.8 compliant typing

* Fix return type

* Use relative import for musiccast const
pull/62298/head
micha91 2021-12-19 00:18:42 +01:00 committed by GitHub
parent 4dc70536b6
commit ba79de56ab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 3 deletions

View File

@ -56,3 +56,14 @@ ENTITY_CATEGORY_MAPPING = {
EntityType.DIAGNOSTIC: ENTITY_CATEGORY_DIAGNOSTIC,
EntityType.SYSTEM: ENTITY_CATEGORY_SYSTEM,
}
DEVICE_CLASS_MAPPING = {
"DIMMER": "yamaha_musiccast__dimmer",
"zone_SLEEP": "yamaha_musiccast__zone_sleep",
"zone_TONE_CONTROL_mode": "yamaha_musiccast__zone_tone_control_mode",
"zone_SURR_DECODER_TYPE": "yamaha_musiccast__zone_surr_decoder_type",
"zone_EQUALIZER_mode": "yamaha_musiccast__zone_equalizer_mode",
"zone_LINK_AUDIO_QUALITY": "yamaha_musiccast__zone_link_audio_quality",
"zone_LINK_CONTROL": "yamaha_musiccast__zone_link_control",
"zone_LINK_AUDIO_DELAY": "yamaha_musiccast__zone_link_audio_delay",
}

View File

@ -1,4 +1,5 @@
"""The select entities for musiccast."""
from __future__ import annotations
from aiomusiccast.capabilities import OptionSetter
@ -8,6 +9,7 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import DOMAIN, MusicCastCapabilityEntity, MusicCastDataUpdateCoordinator
from .const import DEVICE_CLASS_MAPPING
async def async_setup_entry(
@ -45,9 +47,9 @@ class SelectableCapapility(MusicCastCapabilityEntity, SelectEntity):
await self.capability.set(value)
@property
def device_class(self) -> str:
"""Return the ID of the capability, to identify the entity for translations."""
return f"{DOMAIN}__{self.capability.id.lower()}"
def device_class(self) -> str | None:
"""Return the device class, to identify the entity for translations."""
return DEVICE_CLASS_MAPPING.get(self.capability.id)
@property
def options(self):