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

View File

@ -159,5 +159,178 @@
"receiver": { "receiver": {
"name": "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"
}
}
} }
} }