Chromecast Radio with station and player selection

It was a space issue. it was volume_level: ‘{{spacestates(“input_number.radio_volume.state”) }}’
But it should have been: volume_level: ‘{{space space states(“input_number.radio_volume.state”) }}’

That should make no difference. I have several templates running with double spaces (because I find it easier on the eye :)).

Hello m sorry but where is the package for download?

Here.

Just change the URL’s for the radio stations and entities for the media players that you have accordingly.

I run the radio by automation triggered by motion sensor. Is there anyway to start random radio from the list but not selected one?

1 Like

Yes, configure like this:

      media_content_id: 
        '{{ ["http://playerservices.streamtheworld.com/api/livestream-redirect/RADIO538.mp3",
               "http://icecast-qmusic.cdp.triple-it.nl/Qmusic_nl_live_96.mp3", 
               "http://91.221.151.155/listen.mp3",
               "http://icecast.omroep.nl/3fm-bb-mp3",
               "http://stream.100p.nl/100pctnl.mp3",
               "http://8543.live.streamtheworld.com/VERONICACMP3",
               "http://8623.live.streamtheworld.com:80/SKYRADIOAAC_SC",
               "http://19143.live.streamtheworld.com/CLASSICFM_SC",
               "http://icecast-bnr.cdp.triple-it.nl/bnr_mp3_96_03",
               "http://listen.shoutcast.com/prysmradio09-mp3",            
               "http://air.chillout.zone:8000/radio",           
               "http://stream.radiocorp.nl/web11_mp3",
               "http://us3.internet-radio.com:8007/listen.mp3",
               "http://listen.shoutcast.com/Classic-RockFlorida"] | random}}'
1 Like

This is exactly what i would love to do… are you able to share details of what you did?

Hi everyone,
how can i replace media_content_id with the following.
service: squeezebox.call_method

I’ve tried it, but it doesn’t work quite right.
Maybe you can help me.
Thank you.

service: squeezebox.call_method
data_template:
  entity_id: media_player.{{states.input_select.chromecast_radio_speakers.state}}
  command: favorites
  parameters: >
    {% if is_state('input_select.chromecast_radio_station', 'ProFM') %}
      ["playlist", "play", "item_id:0"]
    {% elif is_state('input_select.chromecast_radio_station', 'KissFM') %}
      ["playlist", "play", "item_id:1"]
    {% elif is_state('input_select.chromecast_radio_station', 'EuropaFM') %}
      ["playlist", "play", "item_id:2"]
    {% elif is_state('input_select.chromecast_radio_station', 'RadioZu') %}
      ["playlist", "play", "item_id:3"]
    {% elif is_state('input_select.chromecast_radio_station', 'DigiFM') %}
      ["playlist", "play", "item_id:4"]
    {% elif is_state('input_select.chromecast_radio_station', 'MagicFM') %}
      ["playlist", "play", "item_id:5"]
    {% elif is_state('input_select.chromecast_radio_station', 'VirginRadio') %}
      ["playlist", "play", "item_id:6"]
    {% elif is_state('input_select.chromecast_radio_station', 'Popular') %}
      ["playlist", "play", "item_id:7"]
    {% elif is_state('input_select.chromecast_radio_station', 'WefunkRadio') %}
      ["playlist", "play", "item_id:8"]
    {% elif is_state('input_select.chromecast_radio_station', 'FunkRadio') %}
      ["playlist", "play", "item_id:9"]
    {% endif %}

It might be - as we say here in Poland - “after the apples” (well, it does have sense in polish ;)) and you probably might know this, but someone asked about different covers on different media content so i’ve managed to do it this way with mini-media-player card but it works fine with default media control card it just shows as thumbnail (i’ve left the script name for reference and heritage ;)) BTW - it uses either an http/https online radio feed and local media. I had to put my external domain name in the urls to images because i have ssl cert and hass cant resolve local address :confused: (i have no idea how to setup two certs (or merge into one) for both external domain name and local ip/domain) But if you don’t use ssl on your hass just type in your hass local ip address and it should work too.

radio538:
  alias: Play Radio on Google Home
  sequence:
  - service: media_player.volume_set
    data:
      volume_level: 0.2
    target:
      entity_id: media_player.google_home
  - service: media_player.play_media
    data:
      entity_id:
        '{% if is_state("input_select.google_home", "Maciek") %} media_player.google_home
        {% endif %}'
      media_content_id:
        '{% if is_state("input_select.radio_station", "Rock Radio") %} http://poznan5-4.radio.pionier.net.pl:8000/tuba8-1.mp3?DIST=TuneIn&TGT=TuneIn&maxServers=2&gdpr=1&us_privacy=1YNY&gdpr_consent=CPLe3S9PLe3S9AcABBENBmCgAAAAAAAAACiQAAAAAAJBIDYAGQAQAA0gCIAIoATABSgDvASIAvMBhoDDwGRAMkAZOAy4BnIDPgGkANOgawBrIDdYHIgcqA5cB0YDrAHjgPlCAFwGIAMWAZCAyMBkwDQgGjANKAamA2gBtwDdAHBAOkAdgA7MB3QDwIHkgeUA9oB7oD5AH2BoBgCKgEiAMPAYwAycBnIDPAGfAOSAcoA6wB-AYAMAyMBoQDdAHEgOzAe6IgEgJEAYeAycBnIDPgHJAOUAdYA_AQAFAaEA3QBxIDswHuioBgATAFNgLzAYeAyIBnIDPAGfANyAckA5QB-AoAIA0IBrwDiQH2DIBYATAF5gMPAZEAzkBngDPgHJAOUAfEA_AYADAaEA4kB9g6BaABkAEAANIAiACKAEwAL4AYgBSgDvAIsAXUBFQCRAF5gMNAYeAxIBjADHgGSAMnAZUAywBlwDOQGfANEgaQBpIDSwGnANVAawA2MBuoDi4HJAcqA5cB0YDrAHjgPSAeqA-UB9YD8BwBwAdwDEAGLAMhAZMAy8BoUDRQNGAaUA00BqYDXgG0ANsAbcA4mBx4HIAOkAdgA7MB4EDyQPKAe0A90B8QD7AH4gP2IQFwAMgBMAC-AGIAd4CRAGHgMSAZEAycBnIDPAGfANEAaSA0sBqoDgAHJAOjAdYA8cB-BAAcA0IBooDSgGpgNsAbcA4kB2EDyQPKAeiA90B8QD7AH7EoC4AGQAiABMAC-AGIAUoA7wC6gIqASIAvMBh4DIgGTgMsAZyAzwBnwDSAGsAOAAdYA_AkALAHcAxYBoQDSgG5AOJAdIA7AB5QD2gH2FIEIAGQAQAA0gCIAIoATAApABfADEAKUAd4BFgEiALzAYaAw8BjADIgGSAMnAZcAzkBngDPoGkAaTA1gDWQGxgN1gcmBygDlwHWAPHAfKA_AoAUAHcAXUBiwDJgGhANEAaUA02BqQGpgNeAcEA4kB2ADswHlAPaAe6A-IB9gD9gAA.YAAAAAAAAAAA&partnertok=eyJhbGciOiJIUzI1NiIsImtpZCI6InR1bmVpbiIsInR5cCI6IkpXVCJ9.eyJ0cnVzdGVkX3BhcnRuZXIiOnRydWUsImlhdCI6MTYyOTg3Njc3OSwiaXNzIjoidGlzcnYifQ.nZUJ1M-g7FY-Je7H-KIdEfs22ZfRfUnk_OXjz3l7iHI
        {% elif is_state("input_select.radio_station", "Złote Przeboje") %} http://poznan7.radio.pionier.net.pl:8000/tuba9-1.mp3?DIST=TuneIn&TGT=TuneIn&maxServers=2&gdpr=1&us_privacy=1YNY&gdpr_consent=CPLe3S9PLe3S9AcABBENBmCgAAAAAAAAACiQAAAAAAJBIDYAGQAQAA0gCIAIoATABSgDvASIAvMBhoDDwGRAMkAZOAy4BnIDPgGkANOgawBrIDdYHIgcqA5cB0YDrAHjgPlCAFwGIAMWAZCAyMBkwDQgGjANKAamA2gBtwDdAHBAOkAdgA7MB3QDwIHkgeUA9oB7oD5AH2BoBgCKgEiAMPAYwAycBnIDPAGfAOSAcoA6wB-AYAMAyMBoQDdAHEgOzAe6IgEgJEAYeAycBnIDPgHJAOUAdYA_AQAFAaEA3QBxIDswHuioBgATAFNgLzAYeAyIBnIDPAGfANyAckA5QB-AoAIA0IBrwDiQH2DIBYATAF5gMPAZEAzkBngDPgHJAOUAfEA_AYADAaEA4kB9g6BaABkAEAANIAiACKAEwAL4AYgBSgDvAIsAXUBFQCRAF5gMNAYeAxIBjADHgGSAMnAZUAywBlwDOQGfANEgaQBpIDSwGnANVAawA2MBuoDi4HJAcqA5cB0YDrAHjgPSAeqA-UB9YD8BwBwAdwDEAGLAMhAZMAy8BoUDRQNGAaUA00BqYDXgG0ANsAbcA4mBx4HIAOkAdgA7MB4EDyQPKAe0A90B8QD7AH4gP2IQFwAMgBMAC-AGIAd4CRAGHgMSAZEAycBnIDPAGfANEAaSA0sBqoDgAHJAOjAdYA8cB-BAAcA0IBooDSgGpgNsAbcA4kB2EDyQPKAeiA90B8QD7AH7EoC4AGQAiABMAC-AGIAUoA7wC6gIqASIAvMBh4DIgGTgMsAZyAzwBnwDSAGsAOAAdYA_AkALAHcAxYBoQDSgG5AOJAdIA7AB5QD2gH2FIEIAGQAQAA0gCIAIoATAApABfADEAKUAd4BFgEiALzAYaAw8BjADIgGSAMnAZcAzkBngDPoGkAaTA1gDWQGxgN1gcmBygDlwHWAPHAfKA_AoAUAHcAXUBiwDJgGhANEAaUA02BqQGpgNeAcEA4kB2ADswHlAPaAe6A-IB9gD9gAA.YAAAAAAAAAAA&partnertok=eyJhbGciOiJIUzI1NiIsImtpZCI6InR1bmVpbiIsInR5cCI6IkpXVCJ9.eyJ0cnVzdGVkX3BhcnRuZXIiOnRydWUsImlhdCI6MTYzMTM2NDExOSwiaXNzIjoidGlzcnYifQ.OZhR6sOMYUN12ptqoD7OvXxSZVSiTKvLZQTgoFxtRZM
        {% elif is_state("input_select.radio_station", "Antyradio") %} https://an.cdn.eurozet.pl/ant-waw.mp3?DIST=TuneIn&TGT=TuneIn&maxServers=2&gdpr=1&us_privacy=1YNY&gdpr_consent=CPLe3S9PLe3S9AcABBENBmCgAAAAAAAAACiQAAAAAAJBIDYAGQAQAA0gCIAIoATABSgDvASIAvMBhoDDwGRAMkAZOAy4BnIDPgGkANOgawBrIDdYHIgcqA5cB0YDrAHjgPlCAFwGIAMWAZCAyMBkwDQgGjANKAamA2gBtwDdAHBAOkAdgA7MB3QDwIHkgeUA9oB7oD5AH2BoBgCKgEiAMPAYwAycBnIDPAGfAOSAcoA6wB-AYAMAyMBoQDdAHEgOzAe6IgEgJEAYeAycBnIDPgHJAOUAdYA_AQAFAaEA3QBxIDswHuioBgATAFNgLzAYeAyIBnIDPAGfANyAckA5QB-AoAIA0IBrwDiQH2DIBYATAF5gMPAZEAzkBngDPgHJAOUAfEA_AYADAaEA4kB9g6BaABkAEAANIAiACKAEwAL4AYgBSgDvAIsAXUBFQCRAF5gMNAYeAxIBjADHgGSAMnAZUAywBlwDOQGfANEgaQBpIDSwGnANVAawA2MBuoDi4HJAcqA5cB0YDrAHjgPSAeqA-UB9YD8BwBwAdwDEAGLAMhAZMAy8BoUDRQNGAaUA00BqYDXgG0ANsAbcA4mBx4HIAOkAdgA7MB4EDyQPKAe0A90B8QD7AH4gP2IQFwAMgBMAC-AGIAd4CRAGHgMSAZEAycBnIDPAGfANEAaSA0sBqoDgAHJAOjAdYA8cB-BAAcA0IBooDSgGpgNsAbcA4kB2EDyQPKAeiA90B8QD7AH7EoC4AGQAiABMAC-AGIAUoA7wC6gIqASIAvMBh4DIgGTgMsAZyAzwBnwDSAGsAOAAdYA_AkALAHcAxYBoQDSgG5AOJAdIA7AB5QD2gH2FIEIAGQAQAA0gCIAIoATAApABfADEAKUAd4BFgEiALzAYaAw8BjADIgGSAMnAZcAzkBngDPoGkAaTA1gDWQGxgN1gcmBygDlwHWAPHAfKA_AoAUAHcAXUBiwDJgGhANEAaUA02BqQGpgNeAcEA4kB2ADswHlAPaAe6A-IB9gD9gAA.YAAAAAAAAAAA&partnertok=eyJhbGciOiJIUzI1NiIsImtpZCI6InR1bmVpbiIsInR5cCI6IkpXVCJ9.eyJ0cnVzdGVkX3BhcnRuZXIiOnRydWUsImlhdCI6MTYzMTM2NDQ2NCwiaXNzIjoidGlzcnYifQ.IvQ09BXx4eSdCHy7DWKhH9XhiGVIk0ruPZjP3G2XW7k
        {% elif is_state("input_select.radio_station", "RMF FM") %} http://www.rmfon.pl/tunein/tunein.php?host=rs203-krk.rmfstream.pl&mount=rmf_fm&secure=0&DIST=TuneIn&TGT=TuneIn&maxServers=2&gdpr=1&us_privacy=1YNY&gdpr_consent=CPLe3S9PLe3S9AcABBENBmCgAAAAAAAAACiQAAAAAAJBIDYAGQAQAA0gCIAIoATABSgDvASIAvMBhoDDwGRAMkAZOAy4BnIDPgGkANOgawBrIDdYHIgcqA5cB0YDrAHjgPlCAFwGIAMWAZCAyMBkwDQgGjANKAamA2gBtwDdAHBAOkAdgA7MB3QDwIHkgeUA9oB7oD5AH2BoBgCKgEiAMPAYwAycBnIDPAGfAOSAcoA6wB-AYAMAyMBoQDdAHEgOzAe6IgEgJEAYeAycBnIDPgHJAOUAdYA_AQAFAaEA3QBxIDswHuioBgATAFNgLzAYeAyIBnIDPAGfANyAckA5QB-AoAIA0IBrwDiQH2DIBYATAF5gMPAZEAzkBngDPgHJAOUAfEA_AYADAaEA4kB9g6BaABkAEAANIAiACKAEwAL4AYgBSgDvAIsAXUBFQCRAF5gMNAYeAxIBjADHgGSAMnAZUAywBlwDOQGfANEgaQBpIDSwGnANVAawA2MBuoDi4HJAcqA5cB0YDrAHjgPSAeqA-UB9YD8BwBwAdwDEAGLAMhAZMAy8BoUDRQNGAaUA00BqYDXgG0ANsAbcA4mBx4HIAOkAdgA7MB4EDyQPKAe0A90B8QD7AH4gP2IQFwAMgBMAC-AGIAd4CRAGHgMSAZEAycBnIDPAGfANEAaSA0sBqoDgAHJAOjAdYA8cB-BAAcA0IBooDSgGpgNsAbcA4kB2EDyQPKAeiA90B8QD7AH7EoC4AGQAiABMAC-AGIAUoA7wC6gIqASIAvMBh4DIgGTgMsAZyAzwBnwDSAGsAOAAdYA_AkALAHcAxYBoQDSgG5AOJAdIA7AB5QD2gH2FIEIAGQAQAA0gCIAIoATAApABfADEAKUAd4BFgEiALzAYaAw8BjADIgGSAMnAZcAzkBngDPoGkAaTA1gDWQGxgN1gcmBygDlwHWAPHAfKA_AoAUAHcAXUBiwDJgGhANEAaUA02BqQGpgNeAcEA4kB2ADswHlAPaAe6A-IB9gD9gAA.YAAAAAAAAAAA&partnertok=eyJhbGciOiJIUzI1NiIsImtpZCI6InR1bmVpbiIsInR5cCI6IkpXVCJ9.eyJ0cnVzdGVkX3BhcnRuZXIiOnRydWUsImlhdCI6MTYyOTg3ODQ2MCwiaXNzIjoidGlzcnYifQ.m-klf1WdJELmfhcNo607ecpUEwldP_G39cn5ykqWtO8
        {% elif is_state("input_select.radio_station", "Forest") %} media-source://media_source/media/sleep/Forest_sounds.mp3
        {% endif %}'
      media_content_type:
        '{% if is_state("input_select.radio_station", "Forest") %} audio/mp3
        {% else %} audio/mp4
        {% endif %}'
      extra: 
        thumb: '{% if is_state("input_select.radio_station", "Rock Radio") %} https://my_domain_name.com:8123/local/radio_covers/rockradio.jpg
        {% elif is_state("input_select.radio_station", "Złote Przeboje") %} https://my_domain_name.com:8123/local/radio_covers/zloteprzeboje.png
        {% elif is_state("input_select.radio_station", "Antyradio") %} https://my_domain_name.com:8123/local/radio_covers/antyradio.png
        {% elif is_state("input_select.radio_station", "RMF FM") %} https://my_domain_name.com:8123/local/radio_covers/rmffm.jpg
        {% elif is_state("input_select.radio_station", "Forest") %} https://my_domain_name.com:8123/local/radio_covers/forest.jpg
        {% endif %}'

  mode: single

This is card config:

type: vertical-stack
cards:
  - type: custom:mini-media-player
    entity: media_player.google_home
    name: Google Home
    volume_step: '10'
    max_volume: '100'
    min_volume: '0'
    toggle_power: false
    source: full
    artwork: full-cover
  - type: entities
    entities:
      - entity: script.radio538
      - entity: input_select.radio_station
      - entity: input_select.google_home
    title: Radio


3 Likes

Hi there, does anybody have experience with these errors?

Logger: homeassistant.components.script.radio
Source: helpers/script.py:1375
Integration: Script (documentation, issues)
First occurred: 21:56:18 (3 occurrences)
Last logged: 21:56:32
Play Radio on Chromecast Audio: Error executing script. Service not found for call_service at pos 1: Unable to find service media_player.volume_set
Play Radio on Chromecast Audio: Error executing script. Invalid data for call_service at pos 2: required key not provided @ data[‘media_content_type’]

I installed the package from Sparkydave, the strange thing is, the volume adjusts but the stream is not playing…

Do I need Nabu casa for this?

Thanks!

Wait few more hours for new 2022.3 release. It will have really nice play_mwdia service with Radio browser integrated.
It may help you resolve this. But if you want to resolve the issue, check last line in error you got. It’s telling you something is missing.

Thanks! Finally found it.
I was missing in the last line:

media_content_type: 'audio/mp4' 

probably missed this when copying…

Hi everyone,

can anyone really help me?
I thank you.

I made some big edits to this for myself, hope somebody can use this :slight_smile:

The thing for me is that I have both Sonos and Nest speakers in the house and I needed to find a way to play spotify and radio streams on both, which can be kinda tricky as a normal mp3 stream doesn’t give Sonos the name of the songs it plays, therefor I found a workaround for that, but sadly I am unable to give Sonos a thumb to make it easier to know which station it is playing when you look at the dashboard.

A thing that I still want to improve is finding an easy way to make the sonos speakers start playback in sync without a need of another script

Here is my config:

sensor.yaml

    # Check Sonos speakers grouping
    
      sonos_group_slaves:
        friendly_name: Group Slaves
        entity_id: sensor.sonos_group_master
        value_template: >-
          {%- for player in states.media_player if player.attributes.sonos_group %}
          {%- if player.attributes.sonos_group[0] == player.entity_id %}
            {%- set slaves = player.attributes.sonos_group[1:] %}
            {{ slaves|join(",")|replace("media_player", "input_boolean") }}
          {%- endif %}
          {%- endfor %}

configuration.yaml

input_select:
  radio_station:
    name: 'Select Radio Station:'
    options:
      - Radio 538
      - Sky Radio
      - Sky Radio Christmas
      - Sky Radio 80s Hits
      - Sky Radio 90s Hits
      - Sky Radio Lounge
      - Sky Radio Lovesongs
      - Q-Music
      - Veronica
      - Willy
      - Veronica Top 1000 Allertijden
      - Studio Brussel
      - Willy Favorieten
      - Classics
      - Bozemannenmuziek
      - Telefoon Playlist
      - Power Metal
      - Algemene Playlist
      - Romantisch
      - Bruiloft
      - Game Music
      - Relax
      - Hiphop
      - Punk
  cast_radio:
    name: 'Select Speakers:'
    options:
      - Woonkamer
      - Slaapkamer
      - Roam
      - Alle Speakers
    initial: Woonkamer
    icon: mdi:speaker-wireless

media_player:
  - platform: group
    entities:
      - media_player.woonkamer
      - media_player.slaapkamer
      - media_player.sonos_roam

homeassistant:
  customize:
    script.radio_streamer:
      friendly_name: Start Playing
      icon: mdi:play
    script.sonos_group_all_speakers:
      friendly_name: Sonos Group All Speakers
      icon: mdi:speaker-multiple
    script.sonos_ungroup_all_speakers:
      friendly_name: Sonos Ungroup All Speakers
      icon: mdi:speaker-multiple

switch:
  - platform: template
    switches:
    # Sonos Group Switch
      sonos_group_switch:
        friendly_name: Sonos Group Switch
        value_template: "{{ is_state('sensor.sonos_group_slaves', 'input_boolean.sonos_roam') }}"
        turn_on:
          service: script.sonos_group_all_speakers
        turn_off:
          service: script.sonos_ungroup_all_speakers
        icon_template: >-
          {% if is_state('sensor.sonos_group_slaves', 'input_boolean.sonos_roam') %}
            mdi:speaker-multiple
          {% else %}
            mdi:speaker
          {% endif %}

scripts.yaml

sonos_group_all_speakers:
  alias: Sonos Group All Speakers
  sequence:
    - service: media_player.join
      data:
        entity_id: media_player.woonkamer
        group_members: media_player.sonos_roam
        
sonos_ungroup_all_speakers:
  alias: Sonos Ungroup All Speakers
  sequence:
    - service: media_player.unjoin
      data:
        entity_id: media_player.sonos_roam
    - service: media_player.media_stop
      data:
        entity_id: media_player.sonos_roam

radio_streamer:
  alias: Play Radio on Speakers
  sequence:
  - service: media_player.play_media
    data:
      entity_id:
        '{% if is_state("input_select.cast_radio", "Woonkamer") %} media_player.woonkamer
        {% elif is_state("input_select.cast_radio", "Slaapkamer") %} media_player.slaapkamer
        {% elif is_state("input_select.cast_radio", "Roam") %} media_player.sonos_roam
        {% elif is_state("input_select.cast_radio", "Alle Speakers") %} media_player.media_group
        {% endif %}'
      media_content_id:
        '{% if is_state("input_select.radio_station", "Radio 538") and is_state("input_select.cast_radio", "Slaapkamer") %} https://22343.live.streamtheworld.com:443/TLPSTR09AAC.aac?dist=tunein
        {% elif is_state("input_select.radio_station", "Radio 538") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} aac://https://22343.live.streamtheworld.com:443/TLPSTR09AAC.aac?dist=tunein
        {% elif is_state("input_select.radio_station", "Q-Music") and is_state("input_select.cast_radio", "Slaapkamer") %} https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live.mp3
        {% elif is_state("input_select.radio_station", "Q-Music") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} aac://https://icecast-qmusicnl-cdp.triple-it.nl/Qmusic_nl_live_high.aac?aw_0_1st.playerid=tunein
        {% elif is_state("input_select.radio_station", "Veronica") and is_state("input_select.cast_radio", "Slaapkamer") %} https://playerservices.streamtheworld.com/api/livestream-redirect/VERONICA.mp3
        {% elif is_state("input_select.radio_station", "Veronica") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} aac://https://20073.live.streamtheworld.com:443/VERONICAAAC.aac?dist=tunein
        {% elif is_state("input_select.radio_station", "Sky Radio") and is_state("input_select.cast_radio", "Slaapkamer") %} https://25353.live.streamtheworld.com/SRGSTR01.mp3
        {% elif is_state("input_select.radio_station", "Sky Radio") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} hls-radio://https://22613.live.streamtheworld.com:443/SRGSTR01AAC/HLS/playlist.m3u8?dist=tunein
        {% elif is_state("input_select.radio_station", "Sky Radio Lovesongs") and is_state("input_select.cast_radio", "Slaapkamer") %} https://playerservices.streamtheworld.com/api/livestream-redirect/SRGSTR03.mp3
        {% elif is_state("input_select.radio_station", "Sky Radio Lovesongs") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} aac://https://25283.live.streamtheworld.com:443/SRGSTR03AAC.aac?dist=tunein&DIST=TuneIn&TGT=TuneIn&maxServers=2&partnertok=eyJhbGciOiJIUzI1NiIsImtpZCI6InR1bmVpbiIsInR5cCI6IkpXVCJ9.eyJ0cnVzdGVkX3BhcnRuZXIiOnRydWUsImlhdCI6MTY0NzAyMDE3NywiaXNzIjoidGlzcnYifQ.78TfSCo2q2ul2H8a-CS-7MQeuTlS9pH3WDBTzpMix2o
        {% elif is_state("input_select.radio_station", "Willy") and is_state("input_select.cast_radio", "Slaapkamer") %} https://playerservices.streamtheworld.com/api/livestream-redirect/WILLY.mp3
        {% elif is_state("input_select.radio_station", "Willy") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} x-rincon-mp3radio://http://21263.live.streamtheworld.com:80/WILLY.mp3?pname=tunein&dist=tunein&tdtok=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6ImZTeXA4In0.eyJpc3MiOiJ0aXNydiIsInN1YiI6IjIxMDY0IiwiaWF0IjoxNjQ3MDIwMjM0LCJ0ZC1yZWciOmZhbHNlfQ.Lj85vZFf91XbgVDVlIlXALO4CUl1AI9BE155TuzkOwk
        {% elif is_state("input_select.radio_station", "Sky Radio Christmas") and is_state("input_select.cast_radio", "Slaapkamer") %} https://playerservices.streamtheworld.com/api/livestream-redirect/SRGSTR08.mp3
        {% elif is_state("input_select.radio_station", "Sky Radio Christmas") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} aac://https://22343.live.streamtheworld.com:443/SRGSTR08AAC.aac?dist=tunein
        {% elif is_state("input_select.radio_station", "Sky Radio 80s Hits") and is_state("input_select.cast_radio", "Slaapkamer") %} https://playerservices.streamtheworld.com/api/livestream-redirect/SRGSTR04.mp3
        {% elif is_state("input_select.radio_station", "Sky Radio 80s Hits") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} aac://https://22593.live.streamtheworld.com:443/SRGSTR04AAC.aac?dist=tunein
        {% elif is_state("input_select.radio_station", "Sky Radio 90s Hits") and is_state("input_select.cast_radio", "Slaapkamer") %} https://playerservices.streamtheworld.com/api/livestream-redirect/SRGSTR05.mp3
        {% elif is_state("input_select.radio_station", "Sky Radio 90s Hits") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} aac://https://22593.live.streamtheworld.com:443/SRGSTR05AAC.aac?dist=tunein
        {% elif is_state("input_select.radio_station", "Sky Radio Lounge") and is_state("input_select.cast_radio", "Slaapkamer") %} https://playerservices.streamtheworld.com/api/livestream-redirect/SRGSTR07.mp3
        {% elif is_state("input_select.radio_station", "Sky Radio Lounge") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} aac://https://25323.live.streamtheworld.com:443/SRGSTR07AAC.aac?dist=tunein
        {% elif is_state("input_select.radio_station", "Veronica Top 1000 Allertijden") and is_state("input_select.cast_radio", "Slaapkamer") %} http://playerservices.streamtheworld.com/api/livestream-redirect/SRGSTR10.mp3
        {% elif is_state("input_select.radio_station", "Veronica Top 1000 Allertijden") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} aac://https://25283.live.streamtheworld.com:443/SRGSTR10AAC.aac?dist=tunein
        {% elif is_state("input_select.radio_station", "Studio Brussel") and is_state("input_select.cast_radio", "Slaapkamer") %} https://playerservices.streamtheworld.com/api/livestream-redirect/STUDIO_BRUSSEL_128.mp3
        {% elif is_state("input_select.radio_station", "Studio Brussel") and is_state("input_select.cast_radio", "Woonkamer") or is_state("input_select.cast_radio", "Roam") %} aac://http://22733.live.streamtheworld.com:80/STUDIO_BRUSSEL_AAC.aac
        {% elif is_state("input_select.radio_station", "Willy Favorieten") %} spotify:playlist:1ZN82rAe0hvb6DYbe9pKeU?si=698af7f628014f55
        {% elif is_state("input_select.radio_station", "Classics") %} spotify:playlist:5VPVmKHqSaTtMY9qmo9Pas?si=5e90a664585b4021
        {% elif is_state("input_select.radio_station", "Bozemannenmuziek") %} spotify:playlist:5GNP0QlJwrujdYvA5ZhCGP?si=21ba224ef9ed41ee
        {% elif is_state("input_select.radio_station", "Telefoon Playlist") %} spotify:playlist:0t6Pzem9kFl0eyyWuiQqkz?si=6894b5a638bf4066
        {% elif is_state("input_select.radio_station", "Power Metal") %} spotify:playlist:0NNZqCHQafVPVWb50HHozt?si=20d872b1a0de45c2
        {% elif is_state("input_select.radio_station", "Algemene Playlist") %} spotify:playlist:6eb8Cfmc4g3hf5I1p5emoL?si=00c5cc6ac33c4526
        {% elif is_state("input_select.radio_station", "Romantisch") %} spotify:playlist:2sAtLDmk301cfyzRu30nFK?si=b00d04b3d31e45ec
        {% elif is_state("input_select.radio_station", "Bruiloft") %} spotify:playlist:6nqCiokbRVZFYDSNNQ0X52?si=536f9c95e5404ae2
        {% elif is_state("input_select.radio_station", "Game Music") %} spotify:playlist:76ggNVoNZ1uT7ye6XtmMqp?si=83cb40e5bfaa4fad
        {% elif is_state("input_select.radio_station", "Relax") %} spotify:playlist:788bYaTDTxYHnlu6dyOE9V?si=c4aff9388a564372
        {% elif is_state("input_select.radio_station", "Hiphop") %} spotify:playlist:6Wbd8SFaMQDPZNW6vkQ4EV?si=29a88d43cb344557
        {% elif is_state("input_select.radio_station", "Punk") %} spotify:playlist:3fO1Kgi5rClcjOejZdfkqD?si=0969404bcf4a4c38
        {% endif %}'
      media_content_type: music
      extra: 
        thumb: '{% if is_state("input_select.radio_station", "Radio 538") %} https://static.djguide.nl/image/nieuws2022/upl52573_600.jpg
        {% elif is_state("input_select.radio_station", "Q-Music") %} https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Qmusic_logo.svg/313px-Qmusic_logo.svg.png
        {% elif is_state("input_select.radio_station", "Veronica") %} https://mytuner.global.ssl.fastly.net/media/tvos_radios/JkEjHYgSv7.jpg
        {% elif is_state("input_select.radio_station", "Sky Radio") %} https://images.ctfassets.net/avx85g85supt/6nomzxzS7LHHy5S5f70PBt/88a2dc0e338af4fb548775dde126073a/Sky-Station-Tiles_SKY.jpg?f=center&fit=fill&fit=thumb&w=600&h=600&fm=jpg
        {% elif is_state("input_select.radio_station", "Sky Radio Christmas") %} https://cdn-profiles.tunein.com/s224031/images/logog.png?t=163397
        {% elif is_state("input_select.radio_station", "Sky Radio Lovesongs") %} https://cdn-profiles.tunein.com/s100317/images/logog.png?t=157106
        {% elif is_state("input_select.radio_station", "Willy") %} https://download.dalicloud.com/fis/download/1386e1f2f3a124748ece9ec6238a9256/802133cc-2f9e-4ee5-8cb9-c68d07d78ce4/logo_Willy_square.png?width=1200&height=627
        {% elif is_state("input_select.radio_station", "Sky Radio 80s Hits") %} https://cdn-profiles.tunein.com/s254287/images/logog.png?t=157106
        {% elif is_state("input_select.radio_station", "Sky Radio 90s Hits") %} https://cdn-profiles.tunein.com/s115770/images/logog.png?t=1
        {% elif is_state("input_select.radio_station", "Sky Radio Lounge") %} https://luisteren.nl/app/uploads/2018/12/SKY_RADIO_LOUNGE.png
        {% elif is_state("input_select.radio_station", "Veronica Top 1000 Allertijden") %} https://mytuner.global.ssl.fastly.net/media/tvos_radios/3khj9NPN2n.png
        {% elif is_state("input_select.radio_station", "Studio Brussel") %} https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Studio_Brussel_logo.png/1200px-Studio_Brussel_logo.png
        {% endif %}'
        metadata:
          metadataType: 0
        title: '{% if is_state("input_select.radio_station", "Radio 538") %} "Radio 538"
        {% elif is_state("input_select.radio_station", "Q-Music") %} "Q-Music"
        {% elif is_state("input_select.radio_station", "Veronica") %} "Veronica"
        {% elif is_state("input_select.radio_station", "Sky Radio") %} "Sky Radio Non-Stop Hits"
        {% elif is_state("input_select.radio_station", "Sky Radio Christmas") %} "Sky Radio Christmas"
        {% elif is_state("input_select.radio_station", "Sky Radio Lovesongs") %} "Sky Radio Lovesongs"
        {% elif is_state("input_select.radio_station", "Willy") %} "Willy Radio"
        {% elif is_state("input_select.radio_station", "Sky Radio 80s Hits") %} "Sky Radio 80s Hits"
        {% elif is_state("input_select.radio_station", "Sky Radio 90s Hits") %} "Sky Radio 90s Hits"
        {% elif is_state("input_select.radio_station", "Sky Radio Lounge") %} "Sky Radio Lounge"
        {% elif is_state("input_select.radio_station", "Veronica Top 1000 Allertijden") %} "Veronica Top 1000 Allertijden"
        {% elif is_state("input_select.radio_station", "Studio Brussel") %} "Studio Brussel"
        {% endif %}'
  - service: media_player.shuffle_set
    data:
      entity_id: media_player.slaapkamer
      shuffle: true
  mode: single

Dashboard:

title: Media
type: vertical-stack
cards:
  - type: custom:mini-media-player
    entity: media_player.woonkamer
    entity_id: media_player.woonkamer
    name: Sonos Play5
    volume_step: '5'
    max_volume: '100'
    min_volume: '0'
    toggle_power: false
    source: full
    artwork: full-cover
  - type: custom:mini-media-player
    entity: media_player.sonos_roam
    entity_id: media_player.sonos_roam
    name: Sonos Roam
    volume_step: '5'
    max_volume: '100'
    min_volume: '0'
    toggle_power: false
    source: full
    artwork: full-cover
  - type: custom:mini-media-player
    entity: media_player.slaapkamer
    entity_id: media_player.slaapkamer
    name: Google Home Mini
    volume_step: '5'
    max_volume: '100'
    min_volume: '0'
    toggle_power: false
    source: full
    artwork: full-cover
  - type: entities
    title: Radio
    entities:
      - entity: script.radio_streamer
      - entity: input_select.radio_station
      - entity: input_select.cast_radio
      - entity: switch.sonos_group_switch
1 Like

How does player look like when radio is off, Is there any picture in background?
Did you try to remove or replace that “Default Media Player” text?

Hello. Absolute Radio stream URL’s no longer work. Do you have the new ones?

Have you watched this so you can find them yourself? Home Assistant How To - get Radio Stations integrated - YouTube

Sorry I was on holiday. I initially managed to find a way to listen the bauer media streams (Absolute radios and more) by getting the “new” URL from my Nest Hub and removing the listernerid parameter, but that no longer works.
You do need a valid listenerid token to be able to listen to bauer media / planet radio streams :frowning:
I can “tell” my nest hub to play any of these radios and a token is generated, but I have no idea how to request one, and not found anything pertaining to some sort of API to request a token, so I guess I’m stuck with asking Google, which also means if you’re outside the UK you’re now out of luck…

If I find a workaround I’ll post it here…

1 Like

Hello guys,

Sorry if this off topic…

I have playlists in my /media folder. Now if I try to play it via nest mini by using media_play service. The Playlist is not played.

If I play the Playlist using vlc it plays just fine.

What am I doing wrong here?

Kindly guide

Could this work, or (relatively) easily be adapted, to work with Sonos speakers and without Chromecast device?