Alexa Echo Dot of een Google Nest Mini kan diverse content afspelen, variërend van muziek van muziekdiensten zoals TuneIn, Amazon Music, etc. tot TTS meldingen of zelfs audio-bestanden.

Via input_select helpers kan een keuze gemaakt worden voor het af te spelen station, met een input_select voor de speaker en met een input_number voor het volume. Vervolgens wordt een script gebruikt om de radio te spelen.

De input_number radio_volume dient via ‘Helpers’ aangemaakt te worden. Deze wordt later gebruikt om het volume voor de speaker te zetten. De naam dient ‘radio_volume‘ te zijn. Gebruik de volgende gegevens:

De input_selects kunnen in de configuration.yaml geplaatst worden of in een bestand waarnaar wordt verwezen via ‘!include’. Gebruik de namen ‘radio_source‘ en ‘radio_speaker‘ . Een voorbeeldbestand ‘input-select.yaml‘:

radio_source:
  name: "Select station:"
  options:
    - Radio 538
    - Sublime
    - Sublime Smooth
    - Radio 10
    - Q-Music
    - 3FM
    - Veronica
    - Sky Radio
    - Arrow Classic Rock
    - BSJ
    - Tijd
    - Weer
    - Nieuws
    - Goodnight
  initial: Sublime
  icon: mdi:radio

radio_speaker:
  name: "Select speaker:"
  options:
    - Huiskamer
    - Keuken
    - Kantoor Nico
    - Boven
  initial: Keuken
  icon: mdi:speaker-wireless

Een script in scripts.yaml geeft duidelijkheid hoe de helpers gebruikt gaan worden.

Deze is voor Alexa Echo speakers:

alexa_content_player:
    alias: Start Playing
    icon: mdi:play
    sequence:
      - service: media_player.volume_set
        data_template:
          entity_id: >
            {% if is_state("input_select.radio_speaker", "Huiskamer") %} media_player.woonkamer
            {% elif is_state("input_select.radio_speaker", "Keuken") %} media_player.keuken
            {% elif is_state("input_select.radio_speaker", "Kantoor Nico") %} media_player.kantoor
            {% elif is_state("input_select.radio_speaker", "Boven") %} media_player.boven
            {% endif %}
          volume_level: '{{ states("input_number.radio_volume") }}'
      - service: media_player.play_media
        data_template:
          entity_id: >
            {% if is_state("input_select.radio_speaker", "Huiskamer") %} media_player.woonkamer
            {% elif is_state("input_select.radio_speaker", "Keuken") %} media_player.keuken
            {% elif is_state("input_select.radio_speaker", "Kantoor Nico") %} media_player.kantoor
            {% elif is_state("input_select.radio_speaker", "Boven") %} media_player.boven
            {% endif %}
          media_content_id: >
            {% if is_state("input_select.radio_source", "Radio 538") %} Play Station Radio 538 from TuneIn
            {% elif is_state("input_select.radio_source", "Sublime") %} Play Station Sublime from TuneIn
            {% elif is_state("input_select.radio_source", "Radio 10") %} Play Station Radio 10 from TuneIn
            {% elif is_state("input_select.radio_source", "Q-Music") %} Play Station QMusic from TuneIn
            {% elif is_state("input_select.radio_source", "3FM") %} Play Station 3FM from TuneIn
            {% elif is_state("input_select.radio_source", "Veronica") %} Play Station Veronica from TuneIn
            {% elif is_state("input_select.radio_source", "Sky Radio") %} Play Station Skyradio from TuneIn
            {% elif is_state("input_select.radio_source", "Arrow Classic Rock") %} Play Station Arrow Classic Rock from TuneIn
            {% endif %}
          media_content_type: 'custom'

en deze is voor Google Mini speakers:

radio_content_player:
    alias: Start Playing
    icon: mdi:play
    sequence:
      - service: media_player.volume_set
        data_template:
          entity_id: >
            {% if is_state("input_select.radio_speaker", "Huiskamer") %} media_player.woonkamer
            {% elif is_state("input_select.radio_speaker", "Keuken") %} media_player.keuken
            {% elif is_state("input_select.radio_speaker", "Kantoor Nico") %} media_player.kantoor
            {% elif is_state("input_select.radio_speaker", "Boven") %} media_player.boven
            {% endif %}
          volume_level: '{{ states("input_number.radio_volume") }}'
      - service: media_player.play_media
        data_template:
          entity_id: >
            {% if is_state("input_select.radio_speaker", "Huiskamer") %} media_player.woonkamer
            {% elif is_state("input_select.radio_speaker", "Keuken") %} media_player.keuken
            {% elif is_state("input_select.radio_speaker", "Kantoor Nico") %} media_player.kantoor
            {% elif is_state("input_select.radio_speaker", "Boven") %} media_player.boven
            {% endif %}
          media_content_id: >
            {% if is_state("input_select.radio_source", "Radio 538") %} http://playerservices.streamtheworld.com/api/livestream-redirect/RADIO538
            {% elif is_state("input_select.radio_source","Sublime") %} https://playerservices.streamtheworld.com/api/livestream-redirect/SUBLIME.mp3
            {% elif is_state("input_select.radio_source","Radio 10") %} http://stream.radio10.nl/radio10
            {% elif is_state("input_select.radio_source","Q-Music") %} https://stream.qmusic.nl/qmusic/mp3
            {% elif is_state("input_select.radio_source","3FM") %} https://icecast.omroep.nl/3fm-sb-mp3
            {% elif is_state("input_select.radio_source","Veronica") %} http://playerservices.streamtheworld.com/api/livestream-redirect/VERONICA.mp3
            {% elif is_state("input_select.radio_source","Sky Radio") %} http://playerservices.streamtheworld.com/api/livestream-redirect/SKYRADIO.mp3
            {% elif is_state("input_select.radio_source","Arrow Classic Rock") %} https://stream.gal.io/arrow
            {% elif is_state("input_select.radio_source","Sublime Smooth") %} https://stream.gal.io/arrow
            {% endif %}
          media_content_type: 'music'

Via Instellingen -> Serverbeheer kunnen de input_number, input_select en het script geladen worden, of start Home Assistant opnieuw op.

De entiteiten kunnen daarna in een Dashboard entities card geplaatst worden.

Gebruik ‘script.radio_content_player‘ voor de Google Mini en ‘script.alexa_content_player‘ voor de Alexa Echo speaker. Bijvoorbeeld:

en hierna kan de Radio Content Player gebruikt worden.