I made a custom intent to play spotyfy playlist
basically sending a phrase like “play jazz on bose” or “play smooth jazz on bose”
or anything else, it should trigger the playlist to play
the playlist part is made into a list, so that if i type/say “jazz” o “smooth jazz” the out of the list is always “Jazz”
this is correctly working, if debug my intent (with dev tools) for a phrase like
“play jazz on bose”
i got the following:
intent:
name: PlayList
slots:
playlist: jazz
name: bose
details:
playlist:
name: playlist
value: Jazz
text: jazz
name:
name: name
value: Bose
text: bose
targets:
media_player.soundtouch_30:
matched: true
match: true
sentence_template: <play> {playlist} [in|on|for] {name} [(<of>|<in>)<area>]
unmatched_slots: {}
source: custom
file: en/spotify.yaml
now in my intent_script i need to execute an action based on the value of playlist (Jazz in this case), but it looks that i can only access
{{ playlist }}
and {{ name }}
while i need to access details->playlist->value
so that i can set the playlist uri based on this value
for completion this is my intent_script
intent_script:
Playlist:
speech:
text: "OK i'll play {{ playlist }} on {{ name }}"
action:
service: spotcast.start
metadata: {}
data:
limit: 20
force_playback: false
random_song: false
repeat: "off"
shuffle: false
offset: 0
ignore_fully_played: false
uri: spotify:playlist:XXXXXXXXXXXXXXXXX
device_name: SoundTouch Sala
of which i need to se the uri (using Jazz in my case)
of course i can switch based on {{ playlist }} inside intent_script
but i prefere to normalize the playlist name before getting back to the intent_script
any suggestion?