481 lines
16 KiB
YAML
481 lines
16 KiB
YAML
- id: '1739227579468'
|
|
alias: 'Voice: Spotify Music Control'
|
|
description: Unified automation for playing music, playlists, radio, podcasts, and
|
|
more.
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- Spiele [das] Radio von {artist}
|
|
- Starte [das] Radio von {artist}
|
|
- Lass [uns] [das] Radio von {artist} hören
|
|
- Ich möchte [das] Radio von {artist} hören
|
|
- Spiele [bitte] [das] Radio von {artist}
|
|
- Leg [das] Radio von {artist} auf
|
|
- Spiel [das] Künstler-Radio von {artist}
|
|
- Spiele [den] Song {song}
|
|
- Starte [den] Song {song}
|
|
- Leg [den Song] {song} auf
|
|
- Spiele {playlist} Musik
|
|
- Starte {playlist} Musik
|
|
- Spiele [das] Lied {song}
|
|
- Starte [das] Lied {song}
|
|
- Spiele [die] Playlist {playlist}
|
|
- Starte [die] Playlist {playlist}
|
|
- Spiele [den] Podcast {podcast}
|
|
- Starte [den] Podcast {podcast}
|
|
- Spiele [mir] Musik von {artist}
|
|
- '[Spiele] [etwas] anderes'
|
|
- Spiele Weekly
|
|
- Starte Weekly
|
|
conditions: []
|
|
actions:
|
|
- action: script.play_spotify_on_lt12b_source
|
|
metadata: {}
|
|
data: {}
|
|
continue_on_error: true
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ "podcast" in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- action: spotifyplus.player_set_shuffle_mode
|
|
metadata: {}
|
|
data:
|
|
state: false
|
|
entity_id: media_player.spotifyplus_yourID
|
|
delay: 1
|
|
continue_on_error: true
|
|
- action: spotifyplus.search_shows
|
|
data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
criteria: '{{ trigger.slots.podcast }}'
|
|
limit: 1
|
|
response_variable: resultpodcast
|
|
- action: media_player.play_media
|
|
target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
media_content_id: spotify:show:{{ resultpodcast["result"]["items"][0]["id"]
|
|
}}
|
|
media_content_type: podcast
|
|
alias: Podcast
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ "weekly" in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- action: media_player.play_media
|
|
target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
media_content_id: spotify:playlist:37abcdefghijkl
|
|
media_content_type: playlist
|
|
alias: Weekly
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ "radio" in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- action: spotifyplus.player_set_shuffle_mode
|
|
metadata: {}
|
|
data:
|
|
state: true
|
|
entity_id: media_player.spotifyplus_yourID
|
|
delay: 1
|
|
continue_on_error: true
|
|
- action: spotifyplus.search_artists
|
|
data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
criteria: '{{ trigger.slots.artist }}'
|
|
response_variable: resultartist
|
|
- action: spotifyplus.search_playlists
|
|
data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
criteria: '{{ trigger.slots.artist }} Radio'
|
|
limit: 1
|
|
response_variable: resultplaylist
|
|
- action: media_player.play_media
|
|
target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
media_content_id: spotify:artist:{{ resultartist["result"]["items"][0]["id"]
|
|
}}
|
|
media_content_type: artist
|
|
alias: Radio
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ ''musik'' in trigger.sentence.lower() and ''musik von''
|
|
not in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- action: spotifyplus.player_set_shuffle_mode
|
|
metadata: {}
|
|
data:
|
|
state: true
|
|
entity_id: media_player.spotifyplus_yourID
|
|
delay: 1
|
|
continue_on_error: true
|
|
alias: Zufällige Wiedergabe
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ ''zufällig'' in trigger.sentence.lower() or ''zufälliger
|
|
reihenfolge'' in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
shuffle: true
|
|
action: media_player.shuffle_set
|
|
enabled: false
|
|
- action: input_number.set_value
|
|
metadata: {}
|
|
data:
|
|
value: 0
|
|
target:
|
|
entity_id: input_number.voice_spotify_last_search_index
|
|
- data:
|
|
entity_id: input_text.voice_spotify_last_search
|
|
value: '{{ (trigger.slots.playlist if trigger.slots and ''playlist'' in
|
|
trigger.slots else ''Party'') | regex_replace(''zufällig|in zufälliger
|
|
reihenfolge'', '''', ignorecase=True) }}'
|
|
action: input_text.set_value
|
|
- action: spotifyplus.search_playlists
|
|
metadata: {}
|
|
data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
criteria: '{{ (trigger.slots.playlist if trigger.slots and ''playlist''
|
|
in trigger.slots else ''Party'') | regex_replace(''zufällig|in zufälliger
|
|
reihenfolge'', '''', ignorecase=True) }}'
|
|
limit: 10
|
|
response_variable: resultplaylist
|
|
- action: media_player.play_media
|
|
target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
media_content_id: spotify:playlist:{{ resultplaylist['result']['items'][states('input_number.voice_spotify_last_search_index')
|
|
| int]['id'] }}
|
|
media_content_type: playlist
|
|
alias: Genre
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ "song" in trigger.sentence.lower() or "lied" in trigger.sentence.lower()
|
|
}}'
|
|
sequence:
|
|
- action: spotifyplus.search_tracks
|
|
data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
criteria: '{{ trigger.slots.song }}'
|
|
limit: 1
|
|
response_variable: resultsong
|
|
- action: media_player.play_media
|
|
target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
media_content_id: spotify:track:{{ resultsong["result"]["items"][0]["id"]
|
|
}}
|
|
media_content_type: track
|
|
alias: Song
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ "playlist" in trigger.sentence.lower() or "anderes" in
|
|
trigger.sentence.lower() }}'
|
|
sequence:
|
|
- action: spotifyplus.player_set_shuffle_mode
|
|
metadata: {}
|
|
data:
|
|
state: true
|
|
entity_id: media_player.spotifyplus_yourID
|
|
delay: 1
|
|
alias: Zufällige Wiedergabe
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ ''zufällig'' in trigger.sentence.lower() or ''zufälliger
|
|
reihenfolge'' in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
shuffle: true
|
|
action: media_player.shuffle_set
|
|
enabled: false
|
|
- choose:
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ ''andere'' in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- data:
|
|
entity_id: input_number.voice_spotify_last_search_index
|
|
value: '{{ (states(''input_number.voice_spotify_last_search_index'')
|
|
| int + 1) % 10 }}'
|
|
action: input_number.set_value
|
|
- action: spotifyplus.search_playlists
|
|
metadata: {}
|
|
data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
criteria: '{{ states(''input_text.voice_spotify_last_search'') | regex_replace(''zufällig|in
|
|
zufälliger reihenfolge'', '''', ignorecase=True) }}'
|
|
limit: 10
|
|
response_variable: resultplaylist
|
|
default:
|
|
- action: input_number.set_value
|
|
metadata: {}
|
|
data:
|
|
value: 0
|
|
target:
|
|
entity_id: input_number.voice_spotify_last_search_index
|
|
- data:
|
|
entity_id: input_text.voice_spotify_last_search
|
|
value: '{{ (trigger.slots.playlist if trigger.slots and ''playlist'' in
|
|
trigger.slots else ''Party'') | regex_replace(''zufällig|in zufälliger
|
|
reihenfolge'', '''', ignorecase=True) }}'
|
|
action: input_text.set_value
|
|
- action: spotifyplus.search_playlists
|
|
metadata: {}
|
|
data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
criteria: '{{ (trigger.slots.playlist if trigger.slots and ''playlist''
|
|
in trigger.slots else ''Party'') | regex_replace(''zufällig|in zufälliger
|
|
reihenfolge'', '''', ignorecase=True) }}'
|
|
limit: 10
|
|
response_variable: resultplaylist
|
|
- action: media_player.play_media
|
|
target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
media_content_id: spotify:playlist:{{ resultplaylist['result']['items'][states('input_number.voice_spotify_last_search_index')
|
|
| int]['id'] }}
|
|
media_content_type: playlist
|
|
alias: Playlists oder anderes
|
|
- conditions: []
|
|
sequence:
|
|
- action: spotifyplus.search_artists
|
|
data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
criteria: '{{ trigger.slots.artist }}'
|
|
response_variable: resultspotify
|
|
- action: media_player.play_media
|
|
target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
media_content_id: spotify:artist:{{ resultspotify["result"]["items"][0]["id"]
|
|
}}
|
|
media_content_type: artist
|
|
alias: Play only
|
|
mode: single
|
|
- id: '1730550572695'
|
|
alias: 'Voice: Spiele Spotify und Lieblingssongs'
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- Starte meine Lieblingssongs
|
|
- Spiele meine Lieblingssongs
|
|
- Spiele meine Lieblingsmusik
|
|
conditions: []
|
|
actions:
|
|
- action: script.play_spotify_on_yourID_source
|
|
data: {}
|
|
- action: spotifyplus.search_playlists
|
|
metadata: {}
|
|
data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
criteria: '{{ trigger.slots.playlist }}'
|
|
limit: 1
|
|
response_variable: resultplaylist
|
|
enabled: false
|
|
- action: media_player.play_media
|
|
target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
media_content_id: spotify:user:1111111111:collection
|
|
media_content_type: playlist
|
|
mode: single
|
|
- id: '1730553443702'
|
|
alias: 'Voice: Lautstärke ändern'
|
|
description: Adjust the volume or set it to a specific percentage
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- Leiser
|
|
- Lauter
|
|
- Mach leiser
|
|
- Mach lauter
|
|
- Viel leiser
|
|
- Viel lauter
|
|
- Lautstärke auf {volume}%
|
|
- Volumen auf {volume}%
|
|
- Volle Lautstärke
|
|
- Maximale Lautstärke
|
|
- Mach auf volle Lautstärke
|
|
- Dreh voll auf
|
|
conditions: []
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- '{{ ''leiser'' in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
action: media_player.volume_down
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
action: media_player.volume_down
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
action: media_player.volume_down
|
|
- conditions:
|
|
- '{{ ''lauter'' in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
action: media_player.volume_up
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
action: media_player.volume_up
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
action: media_player.volume_up
|
|
- conditions:
|
|
- '{{ ''volle lautstärke'' in trigger.sentence.lower() or ''maximale lautstärke''
|
|
in trigger.sentence.lower() or ''dreh voll auf'' in trigger.sentence.lower()
|
|
}}'
|
|
sequence:
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
volume_level: 1
|
|
action: media_player.volume_set
|
|
- conditions:
|
|
- '{{ ''lautstärke auf'' in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
volume_level: '{{ trigger.slots.volume | int / 100 }}'
|
|
action: media_player.volume_set
|
|
mode: single
|
|
- id: '1730553837629'
|
|
alias: 'Voice: Nächstes Lied'
|
|
description: Skip to the next track on Spotify
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- Nächstes Lied
|
|
- Nächster Song
|
|
- Skip
|
|
- Mach weiter
|
|
- Weiter
|
|
- Next
|
|
conditions: []
|
|
actions:
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
action: media_player.media_next_track
|
|
mode: single
|
|
- id: '1730553973956'
|
|
alias: 'Voice: Zufällige Wiedergabe'
|
|
description: Toggle shuffle on or off for Spotify
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- Zufällige Wiedergabe an
|
|
- Shuffle an
|
|
- Zufällige Wiedergabe aus
|
|
- Shuffle aus
|
|
- Zufällige Wiedergabe
|
|
conditions: []
|
|
actions:
|
|
- choose:
|
|
- conditions:
|
|
- '{{ ''an'' in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
shuffle: true
|
|
action: media_player.shuffle_set
|
|
- conditions:
|
|
- condition: template
|
|
value_template: '{{ ''aus'' in trigger.sentence.lower() }}'
|
|
sequence:
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
data:
|
|
shuffle: false
|
|
action: media_player.shuffle_set
|
|
mode: single
|
|
- id: '1730554056789'
|
|
alias: 'Voice: Spotify abspielen / Play'
|
|
description: ''
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- Spiele Musik
|
|
- Starte Spotify
|
|
- Spiele Spotify
|
|
- Starte Musik
|
|
conditions: []
|
|
actions:
|
|
- action: script.play_spotify_on_yourID_source
|
|
data: {}
|
|
- action: spotifyplus.search_playlists
|
|
metadata: {}
|
|
data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
criteria: '{{ trigger.slots.playlist }}'
|
|
limit: 1
|
|
response_variable: resultplaylist
|
|
enabled: false
|
|
- action: media_player.media_play
|
|
target:
|
|
entity_id:
|
|
- media_player.spotifyplus_yourID
|
|
data: {}
|
|
mode: single
|
|
- id: '1730625469560'
|
|
alias: 'Voice: Like Current Song'
|
|
description: Like the currently playing song on Spotify
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- Ich mag [dieses] [das] Lied
|
|
- Lied liken
|
|
- Gefällt mir [dieses] [das] Lied
|
|
- Song liken
|
|
- Ich mag [den] [diesen] Song
|
|
- Füge [den] [diesen] Song zu meinen Favoriten hinzu
|
|
- Speichere [den] [diesen] Song
|
|
- Song zu meinen Favoriten hinzufügen
|
|
- Speichere [dieses] [das] Lied
|
|
- Dieses Lied zu Favoriten hinzufügen
|
|
- Speichere [diesen] [den] Track
|
|
- Track liken
|
|
- Ich mag [diesen] [den] Track
|
|
- Track speichern
|
|
- Song speichern
|
|
- Lied speichern
|
|
- Song zu Favoriten hinzufügen
|
|
- Füge diesen Track zu meinen Favoriten hinzu
|
|
- Gefällt mir [dieser] [der] Song
|
|
- Dieses Lied speichern
|
|
- like [diesen] [den] Song
|
|
conditions: []
|
|
actions:
|
|
- data:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
action: spotifyplus.save_track_favorites
|
|
mode: single
|
|
- id: '1730637071634'
|
|
alias: 'Voice: Pause Spotify'
|
|
description: Pause or stop the Spotify playback
|
|
triggers:
|
|
- trigger: conversation
|
|
command:
|
|
- '[Musik] [Spotify] Pause'
|
|
- '[Musik] [Spotify] Stop'
|
|
- '[Mach] Spotify aus'
|
|
- '[Mach die] Musik aus'
|
|
conditions: []
|
|
actions:
|
|
- target:
|
|
entity_id: media_player.spotifyplus_yourID
|
|
action: media_player.media_pause
|
|
mode: single
|