Sonos Boxen zu bestimmter Uhrzeit mit definiertem Radiosender einschalten

Moin zusammen,
stehe gerade auf dem Schlauch und bekomme es einfach nicht hin, meine Sonos Box in der Küche morgens zu bestimmter Uhrzeit mit einem definierten Sender (als Favorit in der Sonos gespeichert) zu starten.
Jemand eine Idee?
THX

1 „Gefällt mir“

Hallo lintux,

ich habe bei mir eine Automation laufen, die quasi das macht, was Du möchtest.
Allerdings nicht über die in der Sonos gespeicherten Favoriten, sondern den gewünschte Sender bzw. die Streaming-Url über https://www.radio-browser.info/ rausgesucht und entsprechend eingebunden.
(Wie Du an die ID für den Sender kommst, ist hier gut beschrieben)
(Mit den Favoriten hab ich es nämlich auch nicht hinbekommen).
Vielleicht auch eine Alternative für Dich. Ich lasse nur unter der Woche laufen und auch nur, wenn jemand zu Hause ist und schalte noch zwei Lampen ein.
Radiosender, Smartphones, Lampen etc. musst Du natürlich anpassen oder eben weglassen.

Bei mir schaut es so aus:

alias: Guten Morgen
description: ""
trigger:
  - platform: time
    at: "05:30:00"
condition:
  - condition: time
    weekday:
      - mon
      - tue
      - wed
      - fri
      - thu
  - condition: or
    conditions:
      - condition: zone
        entity_id: device_tracker.handy1
        zone: zone.home
      - condition: zone
        entity_id: device_tracker.handy2
        zone: zone.home
action:
  - service: media_player.play_media
    target:
      entity_id: media_player.wohnzimmer
    data:
      media_content_id: media-source://radio_browser/bb81ae46-c313-4569-9311-90ab1f3c16a8
      media_content_type: audio/mpeg
    metadata:
      title: Radio xxx
      thumbnail: >-
        https://www.xxx.de/x.png
      media_class: music
      children_media_class: null
      navigateIds:
        - {}
        - media_content_type: app
          media_content_id: media-source://radio_browser
        - media_content_type: music
          media_content_id: media-source://radio_browser/country/DE
  - type: turn_on
    device_id: stehlampe
    entity_id: light.stehlampe
    domain: light
    brightness_pct: 50
  - type: turn_on
    device_id: tv_board
    entity_id: light.tv_board
    domain: light
mode: single
1 „Gefällt mir“

Merci, werde ich gleich heute Abend testen

Nachtrag:
Auch wenn mein Sender nicht zu finden ist, funktioniert Deine Lösung
Danke
Gruß Holger
Nachtrag 03.04.
Inzwischen habe ich unseren “Haussender” bei Radio-Browser in die Datenbank einfügen können und auch mit den Sonos Favoriten klappt es :wink:

action:
  - service: media_player.play_media
    target:
      entity_id: media_player.kuche
    data:
      media_content_id: FV:2/7
      media_content_type: favorite_item_id
    metadata:
      title: Radio Charivari
      thumbnail: http://cdn-radiotime-logos.tunein.com/s1729q.png
      media_class: genre
      children_media_class: null
      navigateIds:
        - {}
        - media_content_type: favorites
          media_content_id: ""
        - media_content_type: favorites_folder
          media_content_id: object.item.audioItem.audioBroadcast
1 „Gefällt mir“

Hallo zusammen,
die Lösung mit dem Radio-Browser ist wirklich genial. Die Sender starten da sehr viel schneller als
bei anderen Anbietern und sind auch stablier. Nur zeigt diese Möglichkeit nicht das FullCover des Senders an. Es “blitzt” mal kurz auf und wird dann wieder klein bzw. ist ganz weg. Scheinbar ist das ein bereits bekanntes Problem welches bei GitHub bereits gemeldet wurde: Play Media via Radio Browser dosnt load entity image · Issue #87731 · home-assistant/core · GitHub
Wie ist es bei Euch?
Gruß,
AndiFidi

@lintux
Ich habe auch etwas weiter “gespielt” und konnte auf Sonos-Favoriten umstellen.
Da ich es am Morgen nicht so laut brauche, setze ich zuerst die Lautstärke:

service: media_player.volume_set
data:
  volume_level: 0.03
target:
  device_id: eccca4633defae4edb4a2ef23778db7a

Über GUI hab ich dann die Sonos-Favoriten gewählt, meinen Sender ausgewählt und übernommen.
Schaut in YAML so aus:

service: media_player.play_media
target:
  entity_id: media_player.wohnzimmer
data:
  media_content_id: FV:2/0
  media_content_type: favorite_item_id
metadata:
  title: Radio Mein Morgensender
  thumbnail: http://cdn-profiles.tunein.com/s78716/images/logoq.png?t=153184
  media_class: genre
  children_media_class: null
  navigateIds:
    - {}
    - media_content_type: favorites
      media_content_id: ""
    - media_content_type: favorites_folder
      media_content_id: object.item.audioItem.audioBroadcast

Die Lampen werden wie zuvor auch eingeschaltet, jetzt aber zuerst (ohne weitere Änderungen).
Es scheint also ein delay zu geben, wenn man mit den Favoriten arbeitet.
Macht mir aber nichts aus :wink:

Funktioniert(e) bei mir.
An Deinem Code sehe ich, dass Du den Radio-Browser (noch) nutzt.
Duplizier mal die Automation und stelle komplett um.
So hab ich bei mir getestet, ohne etwas an sich funktionierendes abzuschießen.

@Brater
jetzt stehe ich gerade auf dem Schlauch (passiert mir selten :wink: )
Was meinst Du mit “Duplizier mal die Automation und stelle komplett um”

Ich habe nicht die bestehende Automation geändert (um sie evtl. kaputt zu machen),
sondern eben dupliziert und daran die Änderungen getestet:
image

1 „Gefällt mir“

jetza -sagt man in Bayern :wink:

1 „Gefällt mir“

Hallo,

ich hänge mich mal hier dran, da ich die Lösung als Vorlage genommen habe.
Starten des Media Players (SONOS) funktioniert problemlos. Ich wollte allerdings, dass er nach einer bestimmten Uhrzeit automatisch beendet wird.

Ich habe dazu nach der action noch eine if-Abfrage angehängt. Das hat aber nicht funktioniert. Vielleicht weiß jemand woran das liegt. Sieht wie folgt aus:

  - service: media_player.play_media
    target:
      entity_id: media_player.bad
    data:
      media_content_id: media-source://radio_browser/1256d21b-6427-11e8-b15b-52543be04c81
      media_content_type: audio/mpeg
    metadata:
      title: Die neue Welle
      thumbnail: >-
        https://www.die-neue-welle.de/storage/thumbs/192x192/r:1694597173/483228.png
      media_class: music
      children_media_class: null
      navigateIds:
        - {}
        - media_content_type: app
          media_content_id: media-source://radio_browser
        - media_content_type: music
          media_content_id: media-source://radio_browser/country/DE
  - if:
      - condition: time
        after: "06:45:00"
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
    then:
      - service: media_player.media_stop
        metadata: {}
        data: {}
        target:
          entity_id: media_player.bad
mode: single

Deine if Abfrage kann nichts bewirken, solange das auslösen der Automation vor 6:45 stattfindet.
Die Automation wartet hier nicht bis 6:45 um etwas zu tun, sondern sie prüft zum Zeitpunkt des Triggerns, ob sie zutrifft.

Hier mal als Beispiel wie es aussehen könnte:

description: ""
mode: single
trigger:
  - platform: time
    at: "05:30:00"
    id: an
  - platform: time
    at: "06:45:00"
    id: aus
condition:
  - condition: time
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - an
        sequence:
          - service: media_player.play_media
            target:
              entity_id: media_player.bad
            data:
              media_content_id: >-
                media-source://radio_browser/1256d21b-6427-11e8-b15b-52543be04c81
              media_content_type: audio/mpeg
            metadata:
              title: Die neue Welle
              thumbnail: >-
                https://www.die-neue-welle.de/storage/thumbs/192x192/r:1694597173/483228.png
              media_class: music
              children_media_class: null
              navigateIds:
                - {}
                - media_content_type: app
                  media_content_id: media-source://radio_browser
                - media_content_type: music
                  media_content_id: media-source://radio_browser/country/DE
      - conditions:
          - condition: trigger
            id:
              - aus
        sequence:
          - service: media_player.media_stop
            metadata: {}
            data: {}
            target:
              entity_id: media_player.bad
1 „Gefällt mir“

Danke, habe ich jetzt verstanden und entsprechend angepasst, funktioniert :+1:

Hallo,
bin noch recht neu, beschäftige mich nun seit 2 Tagen mit nodered und finde es immer besser.
Die Sonos verbrauchen ja ordentlich Strom wenn man sie am Netz lässt, also habe ich zigbee Stecker dazwischen geschaltet, wenn man nun den Stecker anschaltet, egal ob jettz über Bewegung oder aber direkt am Schalter, wird ein Flow ausgelöst, die Box braucht maximal 60 Sekunden um sich im Wlan anzumelden, also ein wait eingebaut, dann über tunein den Sender auswählen und starten
Klappt nun prima. Morgens wenn ich in die küche komme schaltet der Bewegungsmelder den Kaffeeeautomaten an und startet auch den Sonos, in meienr Werkstatt und im Büro schalte ich noch manuell


2 „Gefällt mir“

Hallo allerseits,

ich hänge mich mal hier an, weil ich etwas Nachhilfe benötige wie ich das Sonos-WLAN-Radio wieder per Automation AUSschalten kann. Meine Versuche dies mittels Präsenzmelder umzusetzen sind leider gescheitert.

SONOS - Lautsprecher kann man nicht “ausschalten”
Die Funktion ist:
action: media_player.media_pause