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.


