Migrate media player services to support translations (#96408)

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
This commit is contained in:
Franck Nijhof 2023-07-12 16:25:43 +02:00 committed by GitHub
parent 7ca539fcd0
commit 18cc56ae96
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 182 additions and 89 deletions

View File

@ -1,8 +1,6 @@
# Describes the format for available media player services
turn_on:
name: Turn on
description: Turn a media player power on.
target:
entity:
domain: media_player
@ -10,8 +8,6 @@ turn_on:
- media_player.MediaPlayerEntityFeature.TURN_ON
turn_off:
name: Turn off
description: Turn a media player power off.
target:
entity:
domain: media_player
@ -19,8 +15,6 @@ turn_off:
- media_player.MediaPlayerEntityFeature.TURN_OFF
toggle:
name: Toggle
description: Toggles a media player power state.
target:
entity:
domain: media_player
@ -29,8 +23,6 @@ toggle:
- media_player.MediaPlayerEntityFeature.TURN_ON
volume_up:
name: Turn up volume
description: Turn a media player volume up.
target:
entity:
domain: media_player
@ -39,8 +31,6 @@ volume_up:
- media_player.MediaPlayerEntityFeature.VOLUME_STEP
volume_down:
name: Turn down volume
description: Turn a media player volume down.
target:
entity:
domain: media_player
@ -49,8 +39,6 @@ volume_down:
- media_player.MediaPlayerEntityFeature.VOLUME_STEP
volume_mute:
name: Mute volume
description: Mute a media player's volume.
target:
entity:
domain: media_player
@ -58,15 +46,11 @@ volume_mute:
- media_player.MediaPlayerEntityFeature.VOLUME_MUTE
fields:
is_volume_muted:
name: Muted
description: True/false for mute/unmute.
required: true
selector:
boolean:
volume_set:
name: Set volume
description: Set a media player's volume level.
target:
entity:
domain: media_player
@ -74,8 +58,6 @@ volume_set:
- media_player.MediaPlayerEntityFeature.VOLUME_SET
fields:
volume_level:
name: Level
description: Volume level to set as float.
required: true
selector:
number:
@ -84,8 +66,6 @@ volume_set:
step: 0.01
media_play_pause:
name: Play/Pause
description: Toggle media player play/pause state.
target:
entity:
domain: media_player
@ -94,8 +74,6 @@ media_play_pause:
- media_player.MediaPlayerEntityFeature.PLAY
media_play:
name: Play
description: Send the media player the command for play.
target:
entity:
domain: media_player
@ -103,8 +81,6 @@ media_play:
- media_player.MediaPlayerEntityFeature.PLAY
media_pause:
name: Pause
description: Send the media player the command for pause.
target:
entity:
domain: media_player
@ -112,8 +88,6 @@ media_pause:
- media_player.MediaPlayerEntityFeature.PAUSE
media_stop:
name: Stop
description: Send the media player the stop command.
target:
entity:
domain: media_player
@ -121,8 +95,6 @@ media_stop:
- media_player.MediaPlayerEntityFeature.STOP
media_next_track:
name: Next
description: Send the media player the command for next track.
target:
entity:
domain: media_player
@ -130,8 +102,6 @@ media_next_track:
- media_player.MediaPlayerEntityFeature.NEXT_TRACK
media_previous_track:
name: Previous
description: Send the media player the command for previous track.
target:
entity:
domain: media_player
@ -139,8 +109,6 @@ media_previous_track:
- media_player.MediaPlayerEntityFeature.PREVIOUS_TRACK
media_seek:
name: Seek
description: Send the media player the command to seek in current playing media.
target:
entity:
domain: media_player
@ -148,8 +116,6 @@ media_seek:
- media_player.MediaPlayerEntityFeature.SEEK
fields:
seek_position:
name: Position
description: Position to seek to. The format is platform dependent.
required: true
selector:
number:
@ -159,8 +125,6 @@ media_seek:
mode: box
play_media:
name: Play media
description: Send the media player the command for playing media.
target:
entity:
domain: media_player
@ -168,26 +132,18 @@ play_media:
- media_player.MediaPlayerEntityFeature.PLAY_MEDIA
fields:
media_content_id:
name: Content ID
description: The ID of the content to play. Platform dependent.
required: true
example: "https://home-assistant.io/images/cast/splash.png"
selector:
text:
media_content_type:
name: Content type
description:
The type of the content to play. Like image, music, tvshow, video,
episode, channel or playlist.
required: true
example: "music"
selector:
text:
enqueue:
name: Enqueue
description: If the content should be played now or be added to the queue.
filter:
supported_features:
- media_player.MediaPlayerEntityFeature.MEDIA_ENQUEUE
@ -195,17 +151,12 @@ play_media:
selector:
select:
options:
- label: "Play now"
value: "play"
- label: "Play next"
value: "next"
- label: "Add to queue"
value: "add"
- label: "Play now and clear queue"
value: "replace"
- "play"
- "next"
- "add"
- "replace"
translation_key: enqueue
announce:
name: Announce
description: If the media should be played as an announcement.
filter:
supported_features:
- media_player.MediaPlayerEntityFeature.MEDIA_ANNOUNCE
@ -215,8 +166,6 @@ play_media:
boolean:
select_source:
name: Select source
description: Send the media player the command to change input source.
target:
entity:
domain: media_player
@ -224,16 +173,12 @@ select_source:
- media_player.MediaPlayerEntityFeature.SELECT_SOURCE
fields:
source:
name: Source
description: Name of the source to switch to. Platform dependent.
required: true
example: "video1"
selector:
text:
select_sound_mode:
name: Select sound mode
description: Send the media player the command to change sound mode.
target:
entity:
domain: media_player
@ -241,15 +186,11 @@ select_sound_mode:
- media_player.MediaPlayerEntityFeature.SELECT_SOUND_MODE
fields:
sound_mode:
name: Sound mode
description: Name of the sound mode to switch to.
example: "Music"
selector:
text:
clear_playlist:
name: Clear playlist
description: Send the media player the command to clear players playlist.
target:
entity:
domain: media_player
@ -257,8 +198,6 @@ clear_playlist:
- media_player.MediaPlayerEntityFeature.CLEAR_PLAYLIST
shuffle_set:
name: Shuffle
description: Set shuffling state.
target:
entity:
domain: media_player
@ -266,15 +205,11 @@ shuffle_set:
- media_player.MediaPlayerEntityFeature.SHUFFLE_SET
fields:
shuffle:
name: Shuffle
description: True/false for enabling/disabling shuffle.
required: true
selector:
boolean:
repeat_set:
name: Repeat
description: Set repeat mode
target:
entity:
domain: media_player
@ -282,24 +217,15 @@ repeat_set:
- media_player.MediaPlayerEntityFeature.REPEAT_SET
fields:
repeat:
name: Repeat mode
description: Repeat mode to set.
required: true
selector:
select:
options:
- label: "Off"
value: "off"
- label: "Repeat all"
value: "all"
- label: "Repeat one"
value: "one"
- "off"
- "all"
- "one"
translation_key: repeat
join:
name: Join
description:
Group players together. Only works on platforms with support for player
groups.
target:
entity:
domain: media_player
@ -307,8 +233,6 @@ join:
- media_player.MediaPlayerEntityFeature.GROUPING
fields:
group_members:
name: Group members
description: The players which will be synced with the target player.
required: true
example: |
- media_player.multiroom_player2
@ -319,10 +243,6 @@ join:
domain: media_player
unjoin:
description:
Unjoin the player from a group. Only works on platforms with support for
player groups.
name: Unjoin
target:
entity:
domain: media_player

View File

@ -159,5 +159,178 @@
"receiver": {
"name": "Receiver"
}
},
"services": {
"turn_on": {
"name": "Turn on",
"description": "Turns on the power of the media player."
},
"turn_off": {
"name": "Turn off",
"description": "Turns off the power of the media player."
},
"toggle": {
"name": "Toggle",
"description": "Toggles a media player on/off."
},
"volume_up": {
"name": "Turn up volume",
"description": "Turns up the volume."
},
"volume_down": {
"name": "Turn down volume",
"description": "Turns down the volume."
},
"volume_mute": {
"name": "Mute/unmute volume",
"description": "Mutes or unmutes the media player.",
"fields": {
"is_volume_muted": {
"name": "Muted",
"description": "Defines whether or not it is muted."
}
}
},
"volume_set": {
"name": "Set volume",
"description": "Sets the volume level.",
"fields": {
"volume_level": {
"name": "Level",
"description": "The volume. 0 is inaudible, 1 is the maximum volume."
}
}
},
"media_play_pause": {
"name": "Play/Pause",
"description": "Toggles play/pause."
},
"media_play": {
"name": "Play",
"description": "Starts playing."
},
"media_pause": {
"name": "Pause",
"description": "Pauses."
},
"media_stop": {
"name": "Stop",
"description": "Stops playing."
},
"media_next_track": {
"name": "Next",
"description": "Selects the next track."
},
"media_previous_track": {
"name": "Previous",
"description": "Selects the previous track."
},
"media_seek": {
"name": "Seek",
"description": "Allows you to go to a different part of the media that is currently playing.",
"fields": {
"seek_position": {
"name": "Position",
"description": "Target position in the currently playing media. The format is platform dependent."
}
}
},
"play_media": {
"name": "Play media",
"description": "Starts playing specified media.",
"fields": {
"media_content_id": {
"name": "Content ID",
"description": "The ID of the content to play. Platform dependent."
},
"media_content_type": {
"name": "Content type",
"description": "The type of the content to play. Such as image, music, tv show, video, episode, channel, or playlist."
},
"enqueue": {
"name": "Enqueue",
"description": "If the content should be played now or be added to the queue."
},
"announce": {
"name": "Announce",
"description": "If the media should be played as an announcement."
}
}
},
"select_source": {
"name": "Select source",
"description": "Sends the media player the command to change input source.",
"fields": {
"source": {
"name": "Source",
"description": "Name of the source to switch to. Platform dependent."
}
}
},
"select_sound_mode": {
"name": "Select sound mode",
"description": "Selects a specific sound mode.",
"fields": {
"sound_mode": {
"name": "Sound mode",
"description": "Name of the sound mode to switch to."
}
}
},
"clear_playlist": {
"name": "Clear playlist",
"description": "Clears the playlist."
},
"shuffle_set": {
"name": "Shuffle",
"description": "Playback mode that selects the media in randomized order.",
"fields": {
"shuffle": {
"name": "Shuffle",
"description": "Whether or not shuffle mode is enabled."
}
}
},
"repeat_set": {
"name": "Repeat",
"description": "Playback mode that plays the media in a loop.",
"fields": {
"repeat": {
"name": "Repeat mode",
"description": "Repeat mode to set."
}
}
},
"join": {
"name": "Join",
"description": "Groups media players together for synchronous playback. Only works on supported multiroom audio systems.",
"fields": {
"group_members": {
"name": "Group members",
"description": "The players which will be synced with the playback specified in `target`."
}
}
},
"unjoin": {
"name": "Unjoin",
"description": "Removes the player from a group. Only works on platforms which support player groups."
}
},
"selector": {
"enqueue": {
"options": {
"play": "Play",
"next": "Play next",
"add": "Add to queue",
"replace": "Play now and clear queue"
}
},
"repeat": {
"options": {
"off": "Off",
"all": "Repeat all",
"one": "Repeat one"
}
}
}
}