Sonos steuern: wie erstellt man Dropdown für Playlisten (readingsGroup)

Begonnen von jual, 01 Januar 2015, 16:00:52

Vorheriges Thema - Nächstes Thema

jual

Hallo und zunächst ein frohes neues Jahr!

Nachdem ich mir vorgenommen habe, die Zeit zu nutzen und mein Dashboard weiter auszubauen, habe ich nun ein Problem, bei dem ich nicht mehr weiter komme.

Ich würde gerne über das Dashboard eine Playlist (oder Favoriten) meiner Sonos Geräte auswählen und starten. Die vordefinierte ReadingsGroup des SonosModuls zeigt die entsprechenden Listen ja schon an. Wie aber bekomme ich nun hieraus eine Dropdown-Liste, damit die Darstellung nicht so aufgebläht ist. Muss ich mir hierzu evtl. eine eigene Funktion schreiben, die mir die Liste zurück liefert? Grundsätzlich würde mir auch eine Liste nur mit der Bezeichnung genügen (ohne Album).

Über ein paar Anregungen bzw. Lösungsvorschläge wäre ich sehr dankbar. Ich habe schon so viel im Forum, Wiki herum gesucht und getestet, aber irgendwie komme ich nicht weiter.

Darüber hinaus habe ich noch ein weiteres Problem, für das ich wahrscheinlich einen eigenen Thread aufmachen sollte. Aber vielleicht gibt es ja eine einfache Lösung. Die Favoriten aus Napster lassen sich leider nicht abspielen. Ich bekomme immer den Fehler:

           Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 714}}

Auch die Alben in der Favoritenliste dee vordefinierten readingsGroup werden anscheinend nicht ermittelt. Meine Napster-ID ist aber richtig in den readings des Sonos Geräts zu sehen.

Reinerlein

Hallo jual,

auch dir ein frohes, neues Jahr...

zum ersten Punkt:
Du musst dir auf jeden Fall eine eigene Prozedur in deiner myUtils.pm ablegen. Als Vorlage kannst du ja die mitgelieferte verwenden (damit du schon mal eine Idee für den Zugriff auf die Daten hast).

Für eine reine Textliste kannst du den getter ohne das Anhängsel "withCovers" verwenden. Dann musst du das aber anders verarbeiten, und u.U. einen Verarbeitungsmechanismus wie er für die Variante mit "withCovers" existiert, nachbauen. Damit du das in einem Reading hast, und entsprechend auslesen und als Array verwenden kannst...

Zu deiner zweiten Frage: Es ist durchaus möglich, dass die Cover nicht mitkommen. Sonos liefert die nicht immer (auch bei mir im Controller wird nicht überall ein Cover angezeigt).
Für Spotify habe ich einen alternativen Zugriff direkt auf die Spotify-API eingebaut. Sowas geht vielleicht auch für Napster, kann ich aber leider nicht untersuchen, da ich das selber nicht verwende...
Die normalen Namen der Favoriten sollten aber alle kommen. Außerdem sollten diese auch startbar sein (Maskierung der Sonderzeichen nicht vergessen)...

Zum Testen kannst du ja einfach ein "get Sonos_Wohnzimmer Favourites" (oder wie dein Player heißt) absetzen, und im Reading "LastActionResult" nachschauen, was alles geliefert wurde...

Grüße
Reinerlein

jual

Danke für das schnelle Feedback. Die Funktion zum Auslesen der Favoriten/Playlists zur Verwendung in einer readingsGroup werde ich sicherlich auf Basis der Beispiele hinbekommen. Wir kann ich dann aber die Liste in eine Dropdown-Darstellung bekommen. Nach meinem bisherigen Verständnis müsste ich dann wahrscheinlich mittels "commands" eine Einstellung in der readingsGroup vornehmen?

Bezüglich des anderen Fehlers mit den nicht abspielbaren Napster Favoriten werde ich wohl doch nochmal einen eigenen Thread aufmachen. Das Ermitteln funktioniert wunderbar. Nur das Abspielen geht nicht. Auch nicht mit der Funktion "startFavourite".

Reinerlein

Hi jual,

ich kenne mich mit der ReadingsGroup jetzt nicht soo toll aus. Ich würde da jetzt einfach selber HTML-Code bauen, der das macht.

Aber vielleicht gibt es da auch fertige Bestandteile in Fhem, die jemand kennt?

Grüße
Reinerlein