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.
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
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
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/.
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
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.
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.
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
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.