FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: slupus am 29 Mai 2021, 21:24:25

Titel: Sonos Radiosendungen (Podcasts) starten
Beitrag von: slupus am 29 Mai 2021, 21:24:25
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.
Titel: Antw:Sonos Radiosendungen (Podcasts) starten
Beitrag von: Otto123 am 29 Mai 2021, 21:46:23
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
Titel: Antw:Sonos Radiosendungen (Podcasts) starten
Beitrag von: slupus am 30 Mai 2021, 21:45:49
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
Titel: Antw:Sonos Radiosendungen (Podcasts) starten
Beitrag von: Otto123 am 30 Mai 2021, 22:28:33
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/.
Titel: Antw:Sonos Radiosendungen (Podcasts) starten
Beitrag von: slupus am 31 Mai 2021, 19:47:41
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:
Titel: Antw:Sonos Radiosendungen (Podcasts) starten
Beitrag von: Otto123 am 31 Mai 2021, 21:54:02
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.
Titel: Antw:Sonos Radiosendungen (Podcasts) starten
Beitrag von: slupus am 31 Mai 2021, 22:13:37
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.
Titel: Antw:Sonos Radiosendungen (Podcasts) starten
Beitrag von: Otto123 am 31 Mai 2021, 23:50:54
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
Titel: Antw:Sonos Radiosendungen (Podcasts) starten
Beitrag von: slupus am 01 Juni 2021, 20:53:41
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.