Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- alias: Play on Music Assistant
- sequence:
- - variables:
- v_media_type: |-
- {% if f_track %}
- track
- {% elif f_album %}
- album
- {% elif f_artist %}
- artist
- {% endif %}
- v_search: |-
- {% if f_track %}
- {{ f_track }}
- {% elif f_album %}
- {{ f_album }}
- {% elif f_artist %}
- {{ f_artist }}
- {% endif %}
- v_players: |-
- {{ f_areas|map('area_entities')
- |map('select', 'in', integration_entities('mass'))
- |map('list')|sum(start = []) }}
- - variables:
- result:
- message: |-
- {% if v_players|count > 0 %}
- Playing {{ v_search }} {{ iif(f_radio_mode is defined and f_radio_mode, ' radio', '') }}
- {% else %}
- No suitable players found.
- {% endif %}
- - if:
- - condition: template
- value_template: "{{ v_players|count > 0 }}"
- then:
- - action: mass.search
- metadata: {}
- data:
- limit: 1
- name: "{{ v_search }}"
- artist: "{{ iif(v_search != f_artist, f_artist, '') }}"
- album: "{{ iif(v_search != f_album, f_album, '') }}"
- media_type:
- - "{{ v_media_type }}"
- response_variable: search_result
- - action: mass.play_media
- metadata: {}
- data:
- media_id: "{{ search_result[v_media_type + 's'][0].uri }}"
- media_type: "{{ v_media_type }}"
- radio_mode: "{{ f_radio_mode is defined and f_radio_mode }}"
- artist: "{{ f_artist }}"
- album: "{{ f_album }}"
- target:
- entity_id: "{{ v_players }}"
- - action: media_player.shuffle_set
- metadata: {}
- data:
- shuffle: true
- target:
- entity_id: "{{ v_players }}"
- - stop: Result
- response_variable: result
- description: ""
- icon: mdi:music
- fields:
- f_artist:
- selector:
- text: null
- name: Artist
- required: false
- f_album:
- selector:
- text: null
- name: Album
- required: false
- f_track:
- selector:
- text: null
- name: Track
- required: false
- f_areas:
- selector:
- area:
- entity:
- integration: mass
- multiple: true
- name: Areas
- required: true
- f_radio_mode:
- selector:
- boolean: {}
- default: false
- name: Radio mode
- description: Toggle to play songs inspired by given request.
Advertisement
Add Comment
Please, Sign In to add comment