@vladosam try this:
radio538:
alias: Play Radio on Chromecast Audio
sequence:
- service: media_player.volume_set
data_template:
entity_id: >
{% if is_state("input_select.chromecast_radio", "Livingroom") %} media_player.ca_livingroom
{% elif is_state("input_select.chromecast_radio", "Hall") %} media_player.ca_hall
{% elif is_state("input_select.chromecast_radio", "Bedroom") %} media_player.bed_room
{% elif is_state("input_select.chromecast_radio", "Bathroom") %} media_player.ca_bathroom
{% elif is_state("input_select.chromecast_radio", "Everywhere") %} media_player.home_group
{% endif %}
volume_level: '{{ states.input_slider.volume_radio.state }}'
- service: tts.amazon_polly_say
data_template:
entity_id: >
{% if is_state("input_select.chromecast_radio", "Livingroom") %} media_player.ca_livingroom
{% elif is_state("input_select.chromecast_radio", "Hall") %} media_player.ca_hall
{% elif is_state("input_select.chromecast_radio", "Bedroom") %} media_player.bed_room
{% elif is_state("input_select.chromecast_radio", "Bathroom") %} media_player.ca_bathroom
{% elif is_state("input_select.chromecast_radio", "Everywhere") %} media_player.home_group
{% endif %}
message: "Next station: {{ states.input_select.radio_station.state }}"
- delay: '00:00:08'
- service: media_player.play_media
data_template:
entity_id: >
{% if is_state("input_select.chromecast_radio", "Livingroom") %} media_player.ca_livingroom
{% elif is_state("input_select.chromecast_radio", "Hall") %} media_player.ca_hall
{% elif is_state("input_select.chromecast_radio", "Bedroom") %} media_player.bed_room
{% elif is_state("input_select.chromecast_radio", "Bathroom") %} media_player.ca_bathroom
{% elif is_state("input_select.chromecast_radio", "Everywhere") %} media_player.home_group
{% endif %}
media_content_id: >
{% if is_state("input_select.radio_station", "Radio 538") %} http://vip-icecast.538.lw.triple-it.nl:80/RADIO538_MP3
{% elif is_state("input_select.radio_station", "Q-Music") %} http://icecast-qmusic.cdp.triple-it.nl/Qmusic_nl_live_96.mp3
{% elif is_state("input_select.radio_station", "3FM") %} http://icecast.omroep.nl/3fm-bb-mp3
{% elif is_state("input_select.radio_station", "100% NL") %} http://stream.100p.nl/100pctnl.mp3
{% elif is_state("input_select.radio_station", "Veronica") %} http://8543.live.streamtheworld.com/VERONICACMP3
{% elif is_state("input_select.radio_station", "Sky Radio") %} http://8623.live.streamtheworld.com:80/SKYRADIOAAC_SC
{% elif is_state("input_select.radio_station", "Arrow Classic Rock") %} http://91.221.151.155/listen.mp3
{% elif is_state("input_select.radio_station", "Classic FM") %} http://19143.live.streamtheworld.com/CLASSICFM_SC
{% elif is_state("input_select.radio_station", "BNR Nieuwsradio") %} http://icecast-bnr.cdp.triple-it.nl/bnr_mp3_96_03
{% elif is_state("input_select.radio_station", "Smooth Jazz Tampa") %} http://us3.internet-radio.com:8007/listen.mp3
{% elif is_state("input_select.radio_station", "Classic Rock Florida") %} http://listen.shoutcast.com/Classic-RockFlorida
{% elif is_state("input_select.radio_station", "Bob Sinclar Radio") %} http://listen.shoutcast.com/prysmradio09-mp3
{% elif is_state("input_select.radio_station", "Chill Out Zone") %} http://air.chillout.zone:8000/radio
{% elif is_state("input_select.radio_station", "SLAM! Hardstyle") %} http://stream.radiocorp.nl/web11_mp3
{% elif is_state("input_select.radio_station", "Sleep Radio") %} http://37.59.28.208:8722/stream
{% elif is_state("input_select.radio_station", "Ambient Sleeping Pill") %} http://perseus.shoutca.st:8447/h
{% elif is_state("input_select.radio_station", "Radio Art - Sleep") %} http://live.radioart.com/fSleep.mp3
{% elif is_state("input_select.radio_station", "Ambi Nature Radio") %} http://94.23.252.14:8067/stream
{% elif is_state("input_select.radio_station", "Calm Radio - Sleep") %} http://streams.calmradio.com/api/39/128/stream
{% elif is_state("input_select.radio_station", "Dinamo.FM Sleep") %} http://channels.dinamo.fm/sleep-aac
{% endif %}
media_content_type: 'audio/mp4'
I you don’t have Amazin Polly setup, use Google TTS instead.
Also, the delay of 8 seconds is just an estimate, change if needed.
Update:
You can also try this for the delay:
- delay: >
{% if is_state("input_select.chromecast_radio", "Livingroom") %} '00:00:{{ states.media_player.ca_livingroom.attributes.media_duration | int }}'
{% elif is_state("input_select.chromecast_radio", "Hall") %} '00:00:{{ states.media_player.ca_hall.attributes.media_duration | int }}'
{% elif is_state("input_select.chromecast_radio", "Bedroom") %} '00:00:{{ states.media_player.media_player.bed_room.attributes.media_duration | int }}'
{% elif is_state("input_select.chromecast_radio", "Bathroom") %} '00:00:{{ states.media_player.media_player.ca_bathroom.attributes.media_duration | int }}'
{% elif is_state("input_select.chromecast_radio", "Everywhere") %} '00:00:{{ states.media_player.media_player.home_group.attributes.media_duration | int }}'
{% endif %}
I’m not sure if templating is possible in the delay section though.