Add translatable states to SmartThings media playback (#139354)

Add translatable states to media playback
This commit is contained in:
Joost Lekkerkerker 2025-02-26 16:49:00 +01:00 committed by GitHub
parent 998757f09e
commit 775a81829b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 74 additions and 6 deletions

View File

@ -49,6 +49,10 @@ JOB_STATE_MAP = {
"unknown": None,
}
MEDIA_PLAYBACK_STATE_MAP = {
"fast forwarding": "fast_forwarding",
}
def power_attributes(status: dict[str, Any]) -> dict[str, Any]:
"""Return the power attributes."""
@ -404,6 +408,16 @@ CAPABILITY_TO_SENSORS: dict[
SmartThingsSensorEntityDescription(
key=Attribute.PLAYBACK_STATUS,
translation_key="media_playback_status",
options=[
"paused",
"playing",
"stopped",
"fast_forwarding",
"rewinding",
"buffering",
],
device_class=SensorDeviceClass.ENUM,
value_fn=lambda value: MEDIA_PLAYBACK_STATE_MAP.get(value, value),
)
]
},

View File

@ -4293,7 +4293,16 @@
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'capabilities': dict({
'options': list([
'paused',
'playing',
'stopped',
'fast_forwarding',
'rewinding',
'buffering',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
@ -4311,7 +4320,7 @@
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Media playback status',
'platform': 'smartthings',
@ -4325,7 +4334,16 @@
# name: test_all_entities[sonos_player][sensor.elliots_rum_media_playback_status-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'Elliots Rum Media playback status',
'options': list([
'paused',
'playing',
'stopped',
'fast_forwarding',
'rewinding',
'buffering',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.elliots_rum_media_playback_status',
@ -4388,7 +4406,16 @@
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'capabilities': dict({
'options': list([
'paused',
'playing',
'stopped',
'fast_forwarding',
'rewinding',
'buffering',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
@ -4406,7 +4433,7 @@
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Media playback status',
'platform': 'smartthings',
@ -4420,7 +4447,16 @@
# name: test_all_entities[vd_network_audio_002s][sensor.soundbar_living_media_playback_status-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'Soundbar Living Media playback status',
'options': list([
'paused',
'playing',
'stopped',
'fast_forwarding',
'rewinding',
'buffering',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.soundbar_living_media_playback_status',
@ -4544,7 +4580,16 @@
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'capabilities': dict({
'options': list([
'paused',
'playing',
'stopped',
'fast_forwarding',
'rewinding',
'buffering',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
@ -4562,7 +4607,7 @@
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Media playback status',
'platform': 'smartthings',
@ -4576,7 +4621,16 @@
# name: test_all_entities[vd_stv_2017_k][sensor.tv_samsung_8_series_49_media_playback_status-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': '[TV] Samsung 8 Series (49) Media playback status',
'options': list([
'paused',
'playing',
'stopped',
'fast_forwarding',
'rewinding',
'buffering',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.tv_samsung_8_series_49_media_playback_status',