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 als ‘Helper’ 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 voor een input_number helper in configurations.yaml (of in een input_numbers !include). Een voorbeeldbestand ‘input_number.yaml‘:
radio_volume: icon: mdi:radio name: radio_volume initial: .2 min: 0 max: 1 step: .1
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 - 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.huiskamer {% elif is_state("input_select.radio_speaker", "Keuken") %} media_player.keuken {% elif is_state("input_select.radio_speaker", "Kantoor") %} 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.huiskamer {% elif is_state("input_select.radio_speaker", "Keuken") %} media_player.keuken {% elif is_state("input_select.radio_speaker", "Kantoor") %} 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.huiskamer {% elif is_state("input_select.radio_speaker", "Keuken") %} media_player.keuken {% elif is_state("input_select.radio_speaker", "Kantoor") %} 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.huiskamer {% elif is_state("input_select.radio_speaker", "Keuken") %} media_player.keuken {% elif is_state("input_select.radio_speaker", "Kantoor") %} 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://playerservices.streamtheworld.com/api/livestream-redirect/RADIO10.mp3 {% elif is_state("input_select.radio_source","Q-Music") %} https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live_96.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") %} http://playerservices.streamtheworld.com/api/livestream-redirect/SUBLIMESMOOTH.mp3 {% endif %} media_content_type: 'music'
Een extra stop-button kan handig zijn om de media weer te stoppen. Gebruik daarvoor de volgende code in scripts:
radio_stop_player: alias: Stop Playing icon: mdi:stop sequence: - service: media_player.media_stop data_template: entity_id: > {% if is_state("input_select.radio_speaker", "Huiskamer") %} media_player.huiskamer {% elif is_state("input_select.radio_speaker", "Keuken") %} media_player.keuken {% elif is_state("input_select.radio_speaker", "Kantoor") %} media_player.kantoor {% elif is_state("input_select.radio_speaker", "Boven") %} media_player.boven {% endif %}
Via ‘Ontwikkelhulpmiddelen‘ kunnen de input_number, input_select en het script geladen worden, of start Home Assistant opnieuw op.
De entiteiten kunnen daarna in een Dashboard card geplaatst worden. Bijvoorbeeld:
en hierna kan de Radio Content Player gebruikt worden.