Files
HomeAssistance/custom_components/spotcast/services.yaml
T
2026-06-05 22:34:31 -04:00

201 lines
6.2 KiB
YAML

start:
name: Start Spotcast
description: Starts spotify playback on chromecast devices
fields:
device_name:
name: "Device Name"
description: "The friendly name of the chromecast or spotify connect device. First checks spotify device list for name (not used together with entity_id and spotify_device_id)."
example: "Livingroom"
required: false
selector:
text:
spotify_device_id:
name: "Spotify Device ID"
description: "Advanced users only. The spotify device id (not used together with entity_id or device_name)."
example: "4363634563457346xcyvydgf3qwa"
required: false
selector:
text:
entity_id:
name: "Entity ID"
description: "The entity_id of the chromecast mediaplayer. Friendly name MUST match the spotify connect device name (not used together with device_name and spotify_device_id)."
example: "media_player.vardagsrum"
required: false
selector:
entity:
domain: media_player
integration: cast
uri:
name: "URI"
description: "Supported Spotify URI as string. None or empty uri will transfer the current/last playback (see parameter force_playback)."
example: "spotify:playlist:37i9dQZF1DX3yvAYDslnv8"
required: false
selector:
text:
category:
name: "Category"
description: "A category to fetch playlist from. See https://developer.spotify.com/console/get-browse-categories/ for a list of categories"
required: false
selector:
text:
country:
name: "Country"
description: "Country code to use with category. See https://spotipy.readthedocs.io/en/2.19.0/#spotipy.client.Spotify.country_codes for list of available codes"
required: false
selector:
text:
limit:
name: "Limit"
description: "Limit of playlist to fetch in a given category. Default 20"
required: false
default: 20
selector:
number:
mode: box
step: 1
min: 0
max: 50
album_name:
name: "Album Name"
example: "The Dark Side of the Moon"
description: "Filters search results for the provided album name. Don't include this if you don't want an album."
required: false
selector:
text:
track_name:
name: "Track Name"
example: "Money"
description: "Filters search results for the provided track name. Don't include this if you don't want a particular track."
required: false
selector:
text:
playlist_name:
name: "Playlist Name"
example: "Ultimate pink floyd playlist"
description: "Filters search results for the provided playlist name. Don't include this if you don't want a playlist."
required: false
selector:
text:
show_name:
name: "Show Name"
example: "Hollywood Handbook"
description: "Filters search results for the provided podcast show name. Don't include this if you don't want a podcast."
required: false
selector:
text:
episode_name:
name: "Episode Name"
example: "Sarah Sherman, Our Close Friend"
description: "Filters search results for the provided podcast episode name. Don't include this if you don't want a podcast."
required: false
selector:
text:
genre_name:
name: "Genre Name"
example: "post punk"
description: "Filters search results by genre of music"
required: false
selector:
text:
audiobook_name:
name: "Audiobook Name"
example: "Ulysses"
description: "Filters search results for the provided audiobook name. Don't include this if you don't want an audiobook."
required: false
selector:
text:
artist_name:
name: "Artist Name"
example: "pink floyd"
description: "This will filter search results to match the provided artist name. Don't include this if searching for a playlist or genre. Do include the author's name if searching for audiobooks."
required: false
selector:
text:
account:
name: "Account"
description: "Optionally starts Spotify using an alternative account specified in config."
example: "my_wifes"
required: false
selector:
text:
force_playback:
name: "Force Playback"
description: "In case of transfering playback: If true starts playing the user's last playback even if nothing is currently playing."
example: true
required: false
default: false
selector:
boolean:
random_song:
name: "Random Song"
description: "Starts the playback at a random position in the playlist or album."
example: true
required: false
default: false
selector:
boolean:
repeat:
name: "Repeat"
description: "Set repeat mode for playback."
example: "track"
required: false
default: "off"
selector:
select:
options:
- "track"
- "context"
- "off"
shuffle:
name: "Shuffle"
description: "Set shuffle mode for playback."
example: true
required: false
default: false
selector:
boolean:
offset:
name: "Offset"
description: "Set offset mode for playback. 0 is the first song."
example: 1
required: false
default: 0
selector:
number:
mode: box
step: 1
min: 0
max: 999999
start_position:
name: "Position"
description: "Start position of the track in seconds"
example: 1
required: false
default: 0
selector:
number:
mode: box
step: 1
min: 0
max: 999999
start_volume:
name: "Start Volume"
description: "Set the volume for playback in percentage."
example: 50
required: false
selector:
number:
mode: slider
step: 1
min: 0
max: 100
ignore_fully_played:
name: "Ignore Fully Played"
description: "Set to ignore or not already played episodes in a podcast playlist"
example: true
required: false
default: false
selector:
boolean: