Sonos Radiosendungen (Podcasts) starten

Begonnen von slupus, 29 Mai 2021, 21:24:25

Vorheriges Thema - Nächstes Thema

slupus

Hallo,
ich habe in meinen Sonos-Favoriten sowohl Radiosender und Playlisten, aber auch Radiosendungen/Podcasts. Leider schaffe ich es nicht, diese über FHEM zu starten.
Mit
set Sonos_Bad StartFavourite <Sender>
kann ich Radiosender und Playlisten starten, Radiosender auch über
set Sonos_Bad StartRadio <Sender>

Hat jemand eine Idee, wie das auch für Radiosendungen geht? Diese werden von Sonos nicht zu Meine Radio hinzugefügt.
Anbei ein Screenshot aus der Controller App um die unterschiedlichen Typen darzustellen. Es geht mir um die Tagesschau, von der ich die aktuelle Sendung per Button starten möchte.

Als Workaround hole ich mir die URL über HTTPMOD und starte diese dann mit set Sonos_Bad  PlayURI <URL>
Das führt leider dazu, dass die Sendung in Dauerschleife läuft.

Otto123

#1
Hi,

geht bei mir mit:
set Player StartFavourite ARD%20Tagesschau%2024
Ich habe ihn über TunIn gesucht (da kommt die ...24) und in die Sonos Favoriten gepackt

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

slupus

Hallo Otto,

danke für deinen Vorschlag! Allerdings möchte ich tatsächlich die 20 Uhr Tagesschau abspielen. Beim Tagesschau24 Stream laufen die Nachrichten soweit ich das weiß durchgängig.

Gruß slupus

Otto123

Naja - und? Dein Favorit heisst ARD Tagesschau. ;D
Hast Du ARD%20Tagesschau probiert? Laut Doku kannst/musst Du den Namen url codieren oder einen regulären Ausdruck verwenden.
ZitatStartFavourite <FavouriteName> [NoStart]
Startet den angegebenen Favoriten. Der Name bezeichnet einen Eintrag in der Sonos-Favoritenliste. Der Parameter sollte/kann URL-Encoded werden um auch Spezialzeichen zu ermöglichen. Wenn das Wort 'NoStart' als zweiter Parameter angegeben wurde, dann wird der Favorit geladen und fertig vorbereitet, aber nicht explizit gestartet.
Zusätzlich kann ein regulärer Ausdruck für den Namen verwendet werden. Der erste Treffer wird verwendet. Das Format ist z.B. /meine.hits/.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

slupus

#4
Da hätte ich mich in meinem ersten Post etwas besser ausdrücken sollen. Der Aufruf erfolgt codiert, also so wie du es geschrieben hast (set Sonos_Wohnzimmer StartFavourite ARD%20Tagesschau).
Dank deines Posts habe ich jetzt aber mal mit Verbose 5 geschaut, was tatsächlich passiert.

Aus meiner Sicht sind die folgenden Zeilen relevant. Kann damit jemand etwas anfangen (Detail: "{UPnPError => {errorCode => 804}}")?
2021.05.31 19:30:29 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x732ce418)
2021.05.31 19:30:29 5: SONOS1: StartFavourite AddToQueue-Res: "", -Meta: "<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="F100b2064p364734%3atopic" parentID="F100b2064p364734%3atopic" restricted="true"><dc:title>ARD Tagesschau</dc:title><upnp:class>object.container.radioShow</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>"
2021.05.31 19:30:29 4: SONOS1: SONOS_Client_Notifier(DoWorkAnswer:RINCON_xxxxxxxxxxxxxxxxx_MR:LastActionResult:StartFavourite: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 804}}")
2021.05.31 19:30:29 5: SONOS0: Received from UPnP-Server: 'DoWorkAnswer:RINCON_xxxxxxxxxxxxxxxxx_MR:LastActionResult:StartFavourite: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 804}}"'
2021.05.31 19:30:29 4: SONOS0: DoWorkAnswer arrived for Sonos_Wohnzimmer->LastActionResult: 'StartFavourite: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 804}}"'


Leider klappt es mit der Darstellung als Code nicht, deshalb habe ich zwei Logfiles angehängt:

  • log_start_fhem.log: Start über FHEM
  • log_start_sonos.log: Start vom Sonos Controller

Otto123

Wenn ich mir das so anschaue und richtig verstehe:
Dein Favorit ist doch nur ein Link auf die Sammlung der aktuellen Podcasts (Tagesschau 20:00 bis gestern) und in der Sonos App wählst Du dann die entsprechende Sendung aus?
Ich glaube ehrlich gesagt nicht, dass man das über die Favourite Funktion im Sonos Modul abgebildet bekommt. Aber so tief steck ich nicht drin, sorry ich glaube da fehlen mir die weiteren Ideen.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

slupus

Richtig, in der App bekomme ich eine Liste und kann dann die Sendung eines Tages auswählen.

Und ich verstehe es noch weniger als du  :( Danke, dass du dir das Problem dennoch angeschaut hast!
Vielleicht hat ja jemand anderes noch eine Idee.

Otto123

Naja, dann müsste es in Sonos die Funktion geben, die aktuellste Sendung zu starten. Find ich aber nicht.
Ich weiß, dass Sonos intern ein "ContentDirectory" hält und man "browsen" und suchen kann. Jetzt müsste man diese Schnittstelle anzapfen, eine Liste zurück bekommen, die aktuellste Sendung auswählen und starten. Das geht sicher - ich weiß nur nicht wie man es praktisch macht.
Ich habe ja die Anbindung mit sonos2mqtt gemacht, da gibt es so eine Funktion, die könnte das vielleicht liefern.
https://svrooij.io/sonos2mqtt/control/browse.html
Ohne konkretes Beispiel ist es viel Testarbeit
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

slupus

Danke für den Hinweis auf dein Sonos2mqtt Projekt. Klingt interessant und ja, die Funktion könnte mein Problem evtl. lösen. Kurzfristig werde ich nicht mit konkreten Beispielen dienen können. Da ich ja einen Workaraound habe, bleibe ich vermutlich erstmal bei diesem.