Hauptmenü

Sonos und FHEM

Begonnen von 87insane, 13 Juni 2019, 10:12:15

Vorheriges Thema - Nächstes Thema

87insane

Guten Morgen zusammen,

seit langem nutze ich das SONOS Modul und bin auch zufrieden aber ich habe ein paar Fragen..

1. Ich habe seit gestern zwei weitere SONOS ONE. Alle meiner SONOS Boxen sagen mir Dinge wie "Der Trockner ist fertig", "Es hat hinten/vorne geklingelt" usw... Am Anfang hatte ich nur eine Box und mir ist natürlich das folgende nicht aufgefallen. Wenn nun jemand klingelt, sagen alle Boxen (aktuell drei) nacheinander es hat vorne geklingelt.


klingel_hinten {
    if (ReadingsAge("s_trockner", "running", 0) > 5) {
         fhem("set [a-z]?[a-z]_sonos Speak 50 de Es hat hinten geklingelt");
    }
}


Durch das Regex, werden auch alle angesprochen. Ich würde aber gerne haben, das die Boxen das möglichst gleichzeitig sagen. Im SONOS Hauptgerät gibt es leider kein speak. Hat jemand Ideen?

2. Generell werden zu den SONOS Playern weitere Dinge angelegt:
k_sonosRG_Favourites
k_sonosRG_Playlists
k_sonosRG_Queue
k_sonosRG_Radios

Diese werden pro Box angelegt. Mich würde mal interessieren wofür ihr diese nutzt? Seit beginn habe ich diese in dem Room "hidden" verschoben, da ich keinen Nutzen sehe. Aber das liegt sicher daran, dass ich noch keine Idee dafür hatte. Gesteuert werden die Boxen generell über Alexa oder aber die App. ggf. hatte ich deswegen keine Idee für die anderen devices.

3. Welche Ideen bzw. Anwendungsbeispiele habt ihr noch so für die SONOS Boxen? Bitte alles rauß hauen.. Bin sehr interessiert, da ich die Möglichkeiten quasi als unendlich ansehe.

DANKE an ALLE!

DeeSPe

Statt "set [a-z]?[a-z]_sonos Speak..." könntest Du auch "set TYPE=SONOSPLAYER Speak..." absetzen.

Meine Sonos sind standardmäßig immer alle in eine Gruppe gruppiert, somit wird mein Speak Befehl nur an den Gruppen-Master geschickt und damit kommt aus allen Sonos synchron die Ausgabe.
Durch Bewegungsmelder in jedem Raum werden die Sonos auf lautlos gestellt in denen im vordefinierten Zeitraum keine Bewegung mehr erkannt wird. Betritt dann wieder jemand den Raum, wird die Lautstärke wieder hochgefahren. Will jemand individuelle Musik in einem Zimmer, so muss er/sie den Player manuell aus der Gruppe herausnehmen und dann die eigene Musik abspielen. Bei gotosleep wird der Player des jeweils Schlafengehenden aus der Gruppe entfernt (und dann eine Gute Nacht gewünscht) und nach dessen Aufwachen (und Morgengruß) wieder der Gruppe hinzugefügt.

Meine Sonos begrüßen die Ankommenden nach dem Schließen der Eingangstür und geben alle möglichen Warnungen (Fenster offen, Frostwarnung) und Infos (aktuelles Wetter und Vorhersagen, Abfall) aus.
Sobald niemand mehr zu Hause ist werden die Sprachausgaben automatisch als Push Nachricht an die Bewohner verschickt.

Gruß
Dan

P.S. Ich habe ein notify auf die Player gelegt welches bei "appeared" den jeweiligen Player wieder der Gruppe zuweist, falls diese mal durch eine Trennung der Stromzufuhr aus der Gruppe fliegen.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

87insane

Hey und DANKE schonmal :)

Statt "set [a-z]?[a-z]_sonos Speak..." könntest Du auch "set TYPE=SONOSPLAYER Speak..." absetzen.
Das teste ich nachher. Wenn er dann synchron wäre, ist das super!

Meine Sonos sind standardmäßig immer alle in eine Gruppe gruppiert, somit wird mein Speak Befehl nur an den Gruppen-Master geschickt und damit kommt aus allen Sonos synchron die Ausgabe.
Wo sind sie gruppiert? Irgendwo in der APP oder in FHEM? Da ich bisher nur eine hatte, muss ich jetzt erstmal lernen wie ich das alles am besten löse. Dein Text liest sich schon mal sehr gut! Danke auch für deine Anregungen! Das Attr "group" in FHEM ist sicher nicht gemeint, oder? Ich glaube ich weiß einfach nicht genau wie du das meinst.

Die Idee mit den Bewegungsmeldern finde ich gut. Habe ich nur leider noch nicht soweit.

Wie entnimmt eine Person bei dir, die jeweilige SONOS aus der Gruppe?

Das mit dem schließen der Türe usw. mache ich auch noch. Leider habe ich aber auch noch nicht überall Fenster/Türkontakte. Da es leider kein Neubau ist, muss ich immer schauen was an welcher Stelle geht und Sinn macht. Ist leider nicht immer so einfach.

PS: Das mit den Gruppen hatte ich ja gerade oben schon gefragt. Da bin ich mal gespannt. Fummel mich aktuell auch noch durch die ganzen Multiroom Geschichten in Kombination mit Alexa usw.

Danke, Danke!

DeeSPe

Zitat von: 87insane am 13 Juni 2019, 15:12:48
Statt "set [a-z]?[a-z]_sonos Speak..." könntest Du auch "set TYPE=SONOSPLAYER Speak..." absetzen.
Das teste ich nachher. Wenn er dann synchron wäre, ist das super!

Nein, synchron ist es damit auch nicht, es ist nur eine andere Schreibweise.
Wenn Du es synchron haben möchtest, dann bleibt m.E. nur der Weg über eine Gruppe.

Gruppieren (oder vereinzeln) kannst Du sowohl über die App als auch über FHEM.
Die automatischen Dinge passieren bei mir über FHEM, wenn jemand in seinem Raum den Player vereinzeln möchte, dann macht er/sie das über die App, denn da muss er/sie dann ja auch die eigene Musik starten. Sicher wäre das auch über einen entsprechenden Schalter in HomeKit lösbar (die Idee muss ich mir mal selbst aufschreiben und testen).

Weitere Infos zu Befehlen usw. findest Du im Wiki oder der Commandref (Groupcontrol).

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

87insane

Lese gerade... Also ist das Gruppieren in FHEM nichts anderes als Multiroom-paare. Klar, kann man auch Stereo-Paare bilden aber in dem Fall ist das wohl die Lösung.
Ach ja, ich arbeite eigentlich ganz gerne mit Regex. Hatte anfangs viel zu kämpfen damit und nun kommt es quasi einfach so, dass macht glücklich :)

Die beiden neuen Sonos sind Sonos One mit Alexa. Deswegen brauch man nicht unbedingt die App. Dann muss ich mal testen wie ich das mache. Es sollen ja nicht immer alle der Gruppe angehören, sondern nur in diesem Moment. Generell muss ich meine Ausgaben (Push und Sprache) nochmal überarbeiten. Ich denke das geht besser. Ich habe quasi für jedes Event immer den gleichen kram im Quelltext. Besser ich setze den Text einfach in eine Variable.

Ich gehe mal davon aus, es werden sich weitere Fragen ergeben in ein paar Tagen. Zuerst muss ich das mal schön machen. Ich danke Dir!

87insane

Okay - Ich merke jetzt schon das mit den Gruppen/Durchsagen bei Sonos ist so eine Sache.

Wenn ich die Gruppierung vor dem Sprachbefehl mache (nach dem Befehl wieder trenne), dauert die Gruppierung mir zu lange. Hinzu läuft das gehörte dann nicht weiter wie vorher.
Ich weiß nicht ob das mittlerweile geht aber am schönsten wäre es ca. so:
Ich höre z.B. Musik im Bad, meine Freundin was anderes im Wohnzimmer und das gleiche läuft auch in der Küche (also wie im WZ).
Nun klingelt jemand und die Durchsage soll zeitgleich an allen SONOS Boxen ertönen aber danach sollen die Gruppen sein wie vorher und die Musik soll auch genauso weiterlaufen.

Das müsste doch theoretisch jeder FHEM / SONOS User schon mal gemacht haben oder vorgehabt haben... hmmm

Otto123

#6
Hi,

das erscheint mir eine unlogische Anforderung. Wenn ihr separat (asynchron) irgendwas hört, wozu sollte da eine Durchsage synchron sein?
Vergiss das mit der Umgruppierung, in der Zeit ist Postbote im nächsten Haus. ;D
Ich würde die Gruppen ermitteln (Reading MasterPlayer) und einmal an jede Gruppen senden.

Als Klingel ist das Ganze nach meiner Erfahrung sowieso nicht wirklich zu gebrauchen. Es entspricht nicht der Erwartungshaltung von dem, der auf den Knopf drückt.

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

87insane

Hey Otto123,

die Durchsage von z.B. der Klingel soll ja jeder hören im Haus. So wird auch irgendwer zur Tür laufen und öffnen.
Das mit dem Umgruppieren und der Geschwindigkeit habe ich gerade gemerkt. Deswegen ja auch die Frage...
Ich habe so gesehen keine Gruppen. Bisher gab es keine riesen Party im Haus. Und ich hoffe so Partys bleiben auch im Garten^^ Weswegen ich auch keinen Master/Slave habe. Habe aktuell in der Küche, im Bad und im Wohnzimmer eine SONOS. Aus meiner Sicht macht es Sinn wenn man dort die "Schelle" auch hört.

Die Anforderung an sich ist auch nicht unlogisch. Wenn du z.B. im Schwimmbad bist (größere Freibäder). Dort läuft meist leise Hintergrundbeschallung und diese ist z.B. am Baby Becken anders als bei den Sprungtürmen. Trotz allem macht der Bademeister seine "bitte nicht vom Beckenrand springen" Durchsage überall. Also gleiches Verhalten, nur wird dort kein FHEM/SONOS genutzt. Ich habe zwar ein wenig ausgeholt aber an sich ergibt es Sinn. Wobei das natürlich auch vom Haus/der Wohnung abhängig ist.

Was den Menschen vor der Tür angeht, ist mir das egal. Die Person soll ja nur drücken und warten. Und wenn die Durchsage zeitnah kommt (wie als wäre es nur eine Box), dann passt das. Mich nervt es nur wenn ich quasi mittig von allen Boxen bin und alle nacheinander trallern höre.

Gruß,
Kai

Otto123

#8
Hallo Kai,

ich habe ja nicht gesagt, dass es nicht jeder hören soll. Aber wenn ihr Musik asynchron hört, kann/sollte man auch die Klingel asynchron hören.
ZitatMich nervt es nur wenn ich quasi mittig von allen Boxen bin und alle nacheinander trallern höre.
Dann darfst Du nicht mit Deiner Freundin getrennt Musik hören   ::):o ;D

Also wenn keiner Musik hört, realisierst Du einfach Dan seinen Vorschlag.

Gruß Otto

P.S. Wenn Dir der Mensch vor der Tür an der Klingel egal ist - brauchst Du keine Klingel. ::)
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

87insane

Guten Morgen zusammen,

warum verstehen die Menschen meine Texte in erste Instanz immer falsch? Muss ja an mir liegen :-\

Ich hatte mir gestern die ganze Comref und das Wiki angesehen. Sowohl in englisch als auch in deutsch (ab und an sind die Übersetzungen ja so ne Sache).
Ich verstehe das ganze Groups Theme ggf auch falsch aber habe mir folgendes gedacht....
... Man kann ja standalone Gruppen basteln. Wenn ich das korrekt verstanden habe, können die SONOS auch in mehreren Gruppen einzeln sein. Wenn ich nun alle Sonos in eine Group schicke und zusätzlich jeder Sonos eine einzelne Gruppe gebe, müsste man diese doch einzeln aber auch komplett ansprechen können, oder?

Bisher gab es in FHEM NICHTs was nicht irgendwie doch ging. Deswegen bin ich so verwundert. Bin das Thema mit dem Musik hören gestern auch nochmal durchgegangen und habe es dem "Management" erklärt. Da hieß es auch nur, ich warte einfach bis du das irgendwann hin bekommst. Naja - Nun stehe ich vor einer Aufgabe, ohne Ideen :-\

Der / die Mensch(en) vor der Tür ist/sind mir nur in sofern egal, dass sie sich nicht aussuchen wie es innen klingelt sondern ich. Natürlich sind die Personen mir an sich nicht egal.

DeeSPe scheint sich mit diesem Thema sehr gut aus zu kennen. Hier im Forum fand ich noch einen alten Thread, indem ging es genau um das gleiche Thema aber leider auch keine Lösung am Ende. Der Thread ist irgendwann eingeschlafen. Allerdings ist dieser auch schon alt.

Ach ja - Was mir noch aufgefallen ist und das könnte die Ansage ja um einiges beschleunigen....
Alle Ansagen - "Es hat vorne/hinten geklingelt" usw. werden bei mir im Moment des Auslösens generiert. Nun kann man diese Dateien aber bei Ansagen die öfter vor kommen auch in dem Pfad liegen lassen, wie ich im Wiki las. Das muss ich mir nochmal genauer ansehen. Ist sicher auch besser um etwas Rechenleistung zu sparen. Hat hier noch jemand weitere Infos?

Danke und Gruß,
Kai

Otto123

Moin Kai,

nimm meine Aussagen nicht krumm, ich verstehe schon was Du willst.
Meine persönliche Erfahrung ist: Der Mensch der klingelt erwartet ein Feedback innerhalb von weniger als 400 ms, egal ob kurz oder lang gedrückt wird.
Wenn er gar nichts hört, ist er unsicher ob es überhaupt geklingelt hat.
Das ist mit Sonos, egal wie, nicht oder kaum zu machen. Gruppierung dauert "ewig", deswegen vergiss den Ansatz im Moment des Klingelns gruppieren zu wollen.
Jeder Lautsprecher kann meines Wissens nur in einer normalen Wiedergabe-Gruppe sein. Ich meine damit nicht  Stereo oder Surround Lautsprecherpaare.

Also meines Wissens bleibt Dir nur der Ansatz: Wenn keine Wiedergabe erfolgt, wird der Lautsprecher in eine "Ruhe-Gruppe" gestellt.
Deine Signalisierung sendest Du immer bloß einmal an jede Gruppe im System.

Du kannst ja als Klingel direkt ein mp3 spielen, da fällt jede "Denkpause" im System weg. Gecached werden gleiche Ansagetexte aber meines Wissens sowieso - oder ist das bloß bei Text2Speech so?

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

87insane

Hey Otto,

zuerst einmal bin ich dankbar für jeden der hilft. Aber auch Kritik darf ruhig sein... Ist hier genau wie in whatsapp oder sonst wo - Schrift alleine macht kein Gesicht/Mimik usw....Also alles gut :)

Feedback wäre in dem Fall tatsächlich die Sonos Box. Diese würde man an der jeweiligen Tür auch hören. Die erste Box ist auch im Rahmen (zeitlich).
Das was ich gelesen habe, bestätigt was du sagst zu den Wiedergabe-Gruppen.

Die Idee - bei nicht Nutzung - eine Art Gruppe im "Ruhemodus" ist okay aber auch nicht das was ich als Ziel habe.

Ich nutze (wie im ersten Post zu sehen) ein notify mit dem Speak Befehl des Sonos Moduls. An sich ist das auch gut und schnell. Der Befehl sagt mir an welcher der beiden Türen es geschellt hat, da ich diese von keinem Raum aus direkt sehen kann. Dann weiß ich wenigstens in welche Richtung ich laufen muss. Wie das genau mit dem chache läuft muss ich gleich mal schauen. Ich meine gelesen zu haben, dass man dies explizit sagen muss. Also die Datei behalten und andere individuelle oder sich ändernde Texte immer wieder neu generieren.

Auch wenn das hier gerade aussichtslos erscheint, ggf. hat hier ja noch einer die zündende Idee. Ich bin mir sicher, hier werden sich VIELE freuen.

Otto, alle anderen - Ein schönes und sonniges WE wünsche ich schon mal :)

Otto123

#12
Ich habe mal noch was probiert: Meine Idee mit dem Reading MasterPlayer ist "Mist". ::)
Was ganz einfach geht, (zum probieren ein list):
Alle Master der Gruppen
list TYPE=SONOSPLAYER:FILTER=IsMaster=1
Alle nicht gruppierten.
list TYPE=SONOSPLAYER:FILTER=IsMaster=1:FILTER=SlavePlayer=\[\]
Falls man die Stereopaare /Suroundgruppen bei anderen Konstellationen noch extra ausfiltern möchte
FILTER=IsBonded=0

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

87insane

Da komme ich nicht ganz mit. Was mache ich mit dem list?

(Kurz weil Handy)

Otto123

#14
Das list ist nur zum Test des DEVSPEC :) Ansonsten im Klingel notify
set TYPE=SONOSPLAYER:FILTER=IsMaster=1 speak 50 de Es hat hinten geklingelt
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

87insane

TYPE=SONOSPLAYER:FILTER=IsMaster=1 = Nur noch im Bad
TYPE=SONOSPLAYER = Überall aber wie mit Regex (sagte der Autor ja auch)

Hatte auch noch ne Idee. In meinem FHEM läuft auch das Modul echodevices. Dort werden die SONOS auch angezeigt. Nun dachte ich, der Sprachbefehl ist hier besser oder anders organisiert. Leider bekomme ich über diesen gar keine Sprachausgabe an den Sonos Geräten.

Zudem habe ich seit neustem auch immer "Player disappeared" - Das hatte ich vorher auch ab und an mal aber nun ist das leider häufiger. Im Log sehe ich..
2019.06.14 15:49:47 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
So langsam wird es komisch. Es scheint als würde die Sprachbefehle dafür sorgen. Das passiert häufiger wenn ich TYPE nehme als mit dem Regex. Hier im Forum gibt es dazu auch x Threads aber keine Lösung. Naaaaaja...

Ich bin mir fast sicher, das mit dem DEVSPEC - Test habe ich nicht verstanden aber ich warte mal auf deine Antwort hierzu. Ggf. reichte der erste Test im notify ja schon.

Otto123

Jetzt versteh ich Deine Frage nicht.
Zunächst mal: Mit welchem Gerätenamen Du die Player ansprichst sollte egal sein. Ob mit regExp oder mit TYPE= die Player aufgelöst werden, sollte den Prozess nicht stören.
Das list war nur dazu da, zu sehen was passieren würde. Ohne wirklich etwas zu machen.
Wenn man den Befehl an einen Player der Gruppe schickt wird er in der Gruppe synchron gespielt. Wenn man an drei Mitglieder einer Gruppe schickt, wird er wahrscheinlich 3 mal (synchron) gespielt - oder das System wird überfordert. ;)
Deswegen der FILTER=IsMaster=1 damit wird nur an einen (an den Chef) der Gruppe geschickt.
Wenn bei Dir derzeit IsMaster nur im Bad gesetzt ist, sind deine Player alle in einer Gruppe und der Master ist Bad. Oder?
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

87insane

Ohje...

Warum kam es nur im Bad an? Habe zu spät gesehen das wieder disapper bei den anderen beiden war :-\

Wenn ich gruppiere, geht es synchron, ja. Nur das Thema war ja schon passé da es leider zu lange dauert (beim schellen). Für den Trockner z.B. würde es wieder reichen. Aber das ist in meinen Augen nur so ne halbe Lösung.

Den TYPE Filter/Regex usw. hatte ich verstanden, das hat mir hier Beta-User ganz gut erklärt vor ca. einem Jahr. Ich behaupte mal du warst sogar auch dabei, beim erklären. Ist aber schon ne Weile her.
Nach wie vor habe ich aber KEINE Gruppen. Aufgrund der Tatsache, dass ich nicht alleine hier lebe, hatte ich ja erklärt das die Boxen unterschiedlichst angesteuert werden (Musik-Seitig).

Was genau hattest du an meiner Frage nicht verstanden, dann versuche ich es nochmal anders zu sagen?
An sich habe ich zwei Probleme:
1. Synchronität der Sprachausgabe
2. Seit neustem disappern die Player oft. Leider finde ich keinen Anhaltspunkt dazu. Habe mal ping auf syn (pingType) fest gesetzt und die IPs der Player für das UPnP System (usedonlyIPs) hinterlegt. Ggf. bessert sich der Zustand so. Wenn ich mein Netzwerk capture, sehe ich auch Kommunikation zwischen FHEM und den Sonos. Ich muss mir mal ansehen wie genau das Modul die Boxen versucht zu erreichen. Das ist mir noch nicht zu 100% klar. Das disapper Problem haben anscheinend auch ein paar mehr User.

Otto123

Naja Schlussendlich: Keine Gruppe = nicht synchron.
Aber besser als Dein notify "Blind einfach an alle" finde ich meinen Vorschlag
set TYPE=SONOSPLAYER:FILTER=IsMaster=1 speak ...
denn dann wird - falls ihr mal synchron Musik hört :) - nur einmal die Klingel abgespielt.

Bei mir wird übrigens die Sprachdatei nur einmal erzeugt. Ich habe Sonos so definiert:
defmod Sonos SONOS
attr Sonos disable 0
attr Sonos room Sonos
attr Sonos targetSpeakDir /mnt/SonosSpeak
attr Sonos targetSpeakFileHashCache 1
attr Sonos targetSpeakFileTimestamp 1
attr Sonos targetSpeakURL \\RASPIB3\SonosSpeak
attr Sonos verbose 1

Und falls es mal klemmt, habe ich den hier:
defmod di_SonosCheck DOIF ([05:00] and [?Sonos] ne "opened" )(attr Sonos disable 1)(attr Sonos disable 0)
attr di_SonosCheck room Bad,Status
attr di_SonosCheck wait 0,10
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

87insane

ZitatAber besser als Dein notify "Blind einfach an alle" finde ich meinen Vorschlag
set TYPE=SONOSPLAYER:FILTER=IsMaster=1 speak ...
denn dann wird - falls ihr mal synchron Musik hört :) - nur einmal die Klingel abgespielt.
Das "falls" ist das Argument für deinen Code. Daran habe ich nicht gedacht. Kommt selten vor aber dann wäre es in diesem Moment vernünftig.

ZitatBei mir wird übrigens die Sprachdatei nur einmal erzeugt. Ich habe Sonos so definiert:
Habe das auch nochmal geprüft und bestätige das.

ZitatUnd falls es mal klemmt, habe ich den hier:
defmod di_SonosCheck DOIF ([05:00] and [?Sonos] ne "opened" )(attr Sonos disable 1)(attr Sonos disable 0)
attr di_SonosCheck room Bad,Status
attr di_SonosCheck wait 0,10
Ist das quasi dein DOIF um bei disappeared das Sonos Hauptmodul neu zu starten? Also immer um 5 einmal 0/1 WENN nicht gleich opened. Hmmm... machen das alle so? Es muss ja einen Grund geben warum die Player ab und an in diesen Status wechseln. Kennst du diesen?
Denke mal ich werde mir auch so einen check bauen oder deinen übernehmen. Mich würde aber interessieren warum das Modul sowas nicht von selber macht bzw. warum es überhaupt soweit kommt.


Ich werde mir diesen Thread mal pinnen. Ich denke das Thema ist noch nicht gegessen ;)

Danke und Gruß,
Kai

Otto123

Moin Kai,

es passiert selten, ich habe das Gefühl vor allem nach einem Stromausfall/Wiederkehr kann es bei mir vorkommen das sich der Prozess mit Sonos irgendwie "verheddert". Da ich dann früh das "Radio" per FHEM starten will ging es früher vielleicht zwei drei mal im Jahr nicht. Irgendwann hab ich mir dieses DOIF einfallen lassen, seitdem geht das Radio immer :)
Kann man vielleicht alles noch besser machen, aber es tut.

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

Otto123

Hi,

mir fiel letztens schon noch ein Hinweis ein, heut will ich ihn mal noch los werden:
Du hast Deine Sonos_Player offenbar umbenannt. Ich bin nicht sicher, ob das so eine gute Idee ist.
Ich hatte vor einiger Zeit mal dies hier gelernt :)
https://forum.fhem.de/index.php/topic,73644.msg659442.html#msg659442

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

87insane

Hey Otto,

ich habe alles was zu einem Player gehört entsprechend umbenannt.

Dachte mir... Es steht so im Wiki (https://wiki.fhem.de/wiki/SONOS#Kurze_Anmerkungen_zur_Sonos-Landschaftsgestaltung):
...Natürlich funktioniert das System nach einer FHEM-Einrichtung und anschließender Sonos-Umbenennung immer noch, da intern alles mittels der eindeutigen Bezeichner gehandhabt wird, allerdings wird es u.U. etwas unübersichtlich bzgl. der FHEM-Device-Namen. Diese passen dann nicht mehr zu den Zonennamen (die entsprechenden Readings werden aber natürlich korrekt besetzt), was man aber natürlich auch nachträglich wieder anpassen kann....

Aus dem verlinkten Thread von dir, werde ich leider nicht sonderlich schlau. Kann es sein, das diese Infos ggf. nicht mehr aktuell sind? Ich bin leider nicht in allen Modulen so gut aufgestellt und weiß, wer da wann, was gemacht hat usw.

Otto123

Tut mir leid, ich lese in dem Wiki Artikel nicht, dass dort empfohlen wird die Player in FHEM umzubenennen.
Da steht man soll alles in Sonos machen dann übernimmt FHEM - Sonos genau dies.

Ich hatte den Fall damals, ich musste meine Sonos Landschaft in FHEM neu machen, weil alles ein bisschen durcheinander war.
Ich habe mich etwas gemüht, dabei wäre es ganz einfach gewesen:
delete Sonos -> alles weg
define Sonos -> alles wieder da. Die Player heißen in Sonos und FHEM praktisch gleich

Ob und wie das bei Dir geht, weiß ich nicht. Ist eben unter Umständen viel Arbeit.
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

87insane

Da steht aber das man die ruhig umbenennen kann. So habe ich das verstanden.

Ich hatte im Zuge der neuen SONOS, die ich gekauft habe, gerade erst alles neu gemacht. Was war denn bei dir "durcheinander"? Ggf. habe ich ja schon Probleme und merke es noch nicht. Dann lieber jetzt nochmal alles neu als später.

Seitdem ich das neu gemacht habe, ist eigentlich alles super und auch die Namen passen mir gut. Habe alle Player mit dem Raumkürzel versehen. So wie ich es auch bei allen anderen Geräten mache. wz_gerät, sz_gerät, usw. Das habe ich bei Sonos auch für die xx_sonosRG_Favourites, xx_sonosRG_Playlists, xx_sonosRG_Queue und xx_sonosRG_Radios getan.

Die Probleme die ich aktuell habe/hatte (kennst du ja aus dem anderen Thread), haben damit zum Glück nichts zu tun und basieren eher auf Unwissenheit. Bin mal gespannt was du gleich sagst, was bei dir durcheinander war...

Otto123

#25
Ich lese den kompletten Text:
ZitatNatürlich funktioniert das System nach einer FHEM-Einrichtung und anschließender Sonos-Umbenennung immer noch, da intern alles mittels der eindeutigen Bezeichner gehandhabt wird, allerdings wird es u.U. etwas unübersichtlich bzgl. der FHEM-Device-Namen. Diese passen dann nicht mehr zu den Zonennamen (die entsprechenden Readings werden aber natürlich korrekt besetzt), was man aber natürlich auch nachträglich wieder anpassen kann.
Klar man kann die Player in Sonos umbenennen nachdem man FHEM eingerichtet hat.
Klar kann man in FHEM die Player umbenennen damit sie anders heißen als in Sonos.

Das hält bestenfalls fit :)

Folgendes Szenario:
Du hast jetzt alle notify DOIF usw. mit deinen umbenannten Namen gemacht. Jetzt(in 2 Jahren) passiert was in Sonos/FHEM alles ist irgendwie durcheinander. Wegen Sonos neuer Software, neuem Player, wegen Dir, wegen FHEM - warum auch immer.
Mögliche Lösung einfach Sonos neu machen und dann Sonos in FHEM neu machen. delete Sonos geht ja vielleicht sogar bei Dir, trotz Umbenennung (weiß ich aber nicht). Aber nach define Sonos musst Du erstmal wieder alle Player umbenennen, sonst passen Deine notify DOIF usw. nicht mehr.

Ich bin manchmal ein Sparschwein ;), dass wäre mir zuviel Aufwand. Ich komme damit klar, das meine Player in Sonos und FHEM gleich heißen :)

Ich wollte das nicht als Problem darstellen, lediglich der Hinweis, was es bedeuten kann.
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

87insane

Danke Dir.

Damit kämpfe ich immer mal wieder auch mit anderen Geräten. Nach und nach lernt man dazu. Es ist immer schön von Erfahreneren Usern, wie dir, solche Tipps zu bekommen.

Hatte als ich nur eine Sonos besaß auch kein Augenmerk darauf geworfen. Nun, da ich aber drei habe, habe ich das mal ordentlich gemacht. Wenn ich mich in zwei Jahren ärgere, zu Recht. Als ich Sonos vor kurzem komplett neu gemacht habe, hatte ich auch so meinen Spaß. War zu faul für regex und hatte es deswegen in den ganzen devices per klick auf delete .... gemacht. War auch sinnlos aber so konnte ich die Aufgabe übertragen :-P

TomLee

ZitatZudem habe ich seit neustem auch immer "Player disappeared" - Das hatte ich vorher auch ab und an mal aber nun ist das leider häufiger
.

Auf meinem FHEM-Server den ich vor 3 1/2 Jahren mit null Ahnung aufgesetzt hatte, kannte ich die letzten 2 Jahre dieses Problem mit einer Play 3 überhaupt nicht. Auch nicht nur 2-3 Mal im Jahr. Bis ich mich vor etwa 3 Monaten dazu entschloss -auch wenn ich keine Probleme hatte- den Server, mit dem heutigen Wissen, neu aufzusetzen.
In Verdacht hatte ich wie es auch jetzt schon in mehreren Threads erwähnt wurde PlayURI und speak. Dachte schon zwischendurch das Problem los zu haben als ich von WLAN auf LAN umgestellt habe, aber auch weiterhin spätestens nach 24 h kommt ein Player disappeared.
Diese Woche Montag hatte ich aufgrund dieses Threads alles was Sonos betrifft mit delete Sonos gelöscht. Auch meine seit mehr als 2 Jahren mit rename umbennante Play 3 wurde hiermit gelöscht. In der App hatte ich zufällig an dem Tag Einstellungen -> Erweitert -> UPnP-Server anzeigen entdeckt. Der Punkt war deaktiviert und ich hab ihn aktiviert.
Nach dem neu Anlegen (ohne weitere extra Parameter) define Sonos Sonos , hab ich die Play 3 nicht mehr umbenannt und meine DOIFs und notifys angepasst bzw. erstmal deaktiviert.
Seit Montag gibts kein Player disappeared mehr, das erste mal seit rd. 3 Monaten  :P
An was es nun wirklich liegt, ob UPnP-Server anzeigen überhaupt de.-oder aktiviert sein muss oder nur ein nicht umbennen dazu geführt hat kann ich nicht sagen, da ich beides an dem Tag umgestellt hatte.

Gruß

Thomas

87insane

Bei mir läuft es super mit dem doif von oben. Seit dem kein Disappear mehr. Sollte ggf fest ins Modul kommen.

TomLee

ZitatBei mir läuft es super mit dem doif von oben.

Bis halt auf die 2-3 Minuten die Sonos braucht um wieder "hochzukommen" wenn das DOIF mal aktiv war, blöd wenn dann einer vor der Haustür steht.

87insane

Die eigentliche Schelle, schellt auch. Nur erkenne ich dann um 5 uhr morgens nicht, wo ich hin laufen muss. Aber das würde ich um 5 uhr morgens auch nicht verstehen, wenn es mir gesagt wurde.

TomLee

Es muss aber nicht um 5 Uhr passieren, jederzeit.

Was ich zum Ausdruck bringen wollte war das das DOIF nicht die Ursache behebt.
Das DOIF sehe ich für die 2-3 "Notfälle" im Jahr die scheinbar ganz "normal" sind und irgendwelche unergründlichen Probleme vorlagen.
Mein Problem mit Player disappeared und das anderer User (so mein ich gelesen zu haben die letzten Monate und auch dich verstanden) trat (hoffe ich) ja täglich auf.
Das ist nicht normal und ein Problem das behoben werden muss.
Meine Logfile-Ausgaben bezüglich UPnP im Log sind zumindest jetzt weg.
Ich lass seit 2 Jahren bei jedem schellen (an 2 Haustüren) je eine Datei abspielen, jedem Anruf den Namen ansagen, jedem Anruf ohne Namen eine Datei abspielen und das auch eigentlich immer stressfrei, ohne irgendein "Notfall"-DOIF.

Gruß

Thomas

87insane

Guten Morgen,

ja das stimmt. Es kam auch bei mir häufiger vor. Allerdings auch mit zunehmender Anzahl der Boxen um so öfter. Schrieb ja auch das es nur ein Troubleshoot ist aber keine Lösung.

TomLee

ZitatEinstellungen ->Erweitert -> UPnP-Server anzeigen

Eine Frage an die die kein Notfall-DOIF nutzen und sonst auch keine Problem mit disappeared haben
Bei mir ist es immer noch seit den genannten Änderungen gänzlich verschwunden.

Ist bei euch UPnP-Server anzeigen aktiviert oder deaktiviert ?

Was ist den im Normalfall hier die default-Einstellung ?

Gruß

Thomas

87insane

Hey und guten morgen. ....


Ich hab die Funktion an. Sie wird aber nicht das Problem sein oder lösen. Ich selber vermute das es in irgendeiner Form mit den speak befehlen zusammen hängt. Leider hat mir das DOIF auch noch nicht alles schön gemacht. Aktuell springt mein sonos Device (mit oder ohne doif) einfach mal auf disable.

Habe es aber aus Zeit gründen auch noch nicht untersucht.

Ps: die Funktion ist standard gemäß aktiv. 

TomLee

Ja liest man ja auch das viele das Problem in Verbindung bringen mit speak oder PlayURITemp.

Wie gesagt ich hatte das Problem jetzt rd. drei Monate täglich, ja auch bei mir gibts mehrmals täglich (ohne Ausnahme) Sprachausgaben und hatte speak auch schon in Verdacht.

Doch das Problem ist jetzt doch tatsächlich seit mehr als 2 Wochen nicht mehr da, wenn die Ursache (bei mir zumindest) nicht das Aktivieren des UPnP-Server war,  dann kanns doch nur noch am nicht umbennen des SONOS-Player liegen ?
Andere Änderungen hatte ich nicht vorgenommen.

87insane

Das mit der benamung wurde hier ja auch schon erwähnt. Also wenn ich verbose am sonos gerät aktiv habe, sieht man im log auch, das die Namen kein Problem dar stellen. Er erkennt genau welcher player, welchen Namen trägt.

Otto hat die Player, so wie ich das las, original belassen. Er hat sich mit dem doif geholfen. Das kann in meinen augen auch nur eine zwischen lösung sein.

In der sonos App, laufen die player immer. Wenn ich der sonos im wz, sage, sie soll im zb Bad 1live spielen, geht es auch immer. Ich weiß nicht genau wie das Modul gegen sonos verbindet. Aber vermutlich muss da eine sache nicht 100% sein. Da Ich bei dem schönen wetter aber anderes zu tun habe, bin ich aktuell wenig am pc. Habe das aber im Blick hier. Ggf ergibt sich ja noch was :)

87insane

#37
Hey an euch alle...

habe seit ein paar Tagen immer (ohne Datum oder Zeit) folgendes im LOG:
Content-Length header value was wrong, fixed at /usr/share/perl5/LWP/Protocol/http.pm line 255, <$client> line 6.

Nach ein paar Minuten suchen fand ich heraus, es liegt am Speak von SONOS.
Mein notify:   
klingel_hinten {
    if (ReadingsAge("s_trockner", "running", 0) > 5) {
         fhem("set [a-z]?[a-z]_sonos Speak 50 de Es hat hinten geklingelt");
         fhem("set p.nachrichten message Es hat hinten geklingelt! | ".strftime("%H:%M", localtime)." Uhr - Info");
    }
}


Reagiert und immer wenn es sprechen soll kommt das. > Was kann ich dagegen tun?

PS: Raspi + Fhem auf aktuellem SW Stand.




PS: Damit das hier nicht alles OT ist - Habe ein Auge auf das ganze disapper Geschichtlein gehalten. Nun ist es so das meine Player immer dann disappern wenn ich einen Speak Befehl sende z.B. an Badezimmer und diese Box effektiv nicht da ist / am Strom hängt. Das ist bei mir mal so, wenn ich die Box im Garten nutze und zu faul bin, diese wieder an zu schließen im Bad. Lustig, dass dann nicht nur Bad disappert sondern auch alle anderen.

is2late

Sprachdurchsagen nimmt mein Sonos mit einer etwas gequälten Frauenstimme vor -
ungefähr so wie meine Frau am Morgen, wenn ich bis Mitternacht versucht habe, die Geheimnisse von FHEM zu ergründen.
Gibt es einen Weg, sie (die Stimme ;-) gegen eine markante Männerstimme zu tauschen?

LG is2late
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

87insane

Hey schau mal ins FHEM Wiki...
Ansonsten sind das am Ende auch nur MP3 Dateien, die umgewandelt wurden. Wenn du es schöner findest, kannst du es auch selber einsprechen ;)

is2late

Hi,

danke, das Wiki habe ich schon durchsucht. Alternativen zur Wahl der Stimme ließen sich nicht finden.

LG
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

87insane

Das sehe ich anders.. Du kannst ja jedes beliebige TTS System anbieten. Damit stehen und fallen dann auch deine Stimmen...

is2late

Bedeutet das, dass diese Frauenstimme, die bei mir -wahrscheinlich standardmäßig- läuft, innerhalb des verwendeten TTS-Systems (wobei ich nicht weiß, welches hier genutzt wird - Google?) "alternativlos" ist? Für eine andere Stimme müsste ich also ein anderes TTS wählen?
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

87insane

Genau das wäre eine Variante. Es ist auch die Frage was man selber angenehm findet. Ich komme gut klar mit der kalten Alexa Stimme :-P

is2late

Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

aski71

Weiß jemand, ob mit der kommenden, neuen Version der Sonos App (scheinbar komplettes Redesign), die im Rahmen der neuen Playbar kommt, die fhem Integration weiter funktionieren wird?

Otto123

Die Schnittstelle ist UPNP - das hat mit der App zunächst nichts zu tun. Solange wie das nicht geändert wird...
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

87insane

Übersetzung: Es ist einfach eine andere Art an die Sache ran zu gehen. Das SONOS Modul ist bereits lange etabliert und sonos2mqtt ist einfach eine Art Bridge, die am Ende augenscheinlich das gleiche macht für Dich als Person aber eben komplett anders läuft. Das ist aber die technische Sicht.

aski71

Zitat von: Otto123 am 04 Juni 2020, 20:44:47
Die Schnittstelle ist UPNP - das hat mit der App zunächst nichts zu tun. Solange wie das nicht geändert wird...

Eben. Solange wie das nicht geändert wird. Ich habe eben einen Artikel gelesen, dass ,,mit der neuen App" andere Gruppierungsmöglichkeiten von Räumen auch nach Stockwerken gemacht werden und manche ,,alte" Lautsprecher von der ,,neuen App" nicht mehr unterstützt werden.
Bei solcherlei Aussagen gehen bei mir alle Warnlampen an, dass sich da eventuell auch die APIs massiv ändern könnten.
Daher die Frage, ob das schon jemand weiß. Der Autor des Moduls beispielsweise.

is2late

#49
Nach diversem ergebnislosem nächtlichem Probieren flehe ich um Hilfe:

Hab in FUIP das Template von stenny installiert https://forum.fhem.de/index.php/topic,100246.0.html, deren maßgeblicher Inhalt offenbar buchstabengetreu auf Reinerleins template_musik_sonos.html aus dem Sonos-Wiki zurückgeht https://wiki.fhem.de/wiki/SONOS.

Durch FUIP ergeben sich keine Probleme; ich habe das UI nur der Vollständigkeit halber erwähnt.

Nun ist es so, dass der Player an sich funktioniert, dh man kann den Titel abspielen, den Sonos gerade (zB via Alexa oder auch durch Anwahl in FHEM) auf der Pfanne hat. Alles andere - nämlich das Aufrufen einer Playlist, eines Radiosenders oder einer Abspielliste - ist nicht möglich, weil die Dropdown-Fenster leer bleiben, s. Anlage.

Im HTML finden sich im Zusammenhang mit data "Adressen" (sorry, kenne den Fachterminus nicht; zB data list="FavouritesList"), die das Reading in meiner FHEM-Installation nicht hergibt - dort ist nur von "Favourites" die Rede. Ich nehme an, dass das Problem hier liegt, und habe im Austausch eine Reihe vorhandener Readings eingesetzt, aber erfolglos. Hier das HTML der Rubrik"Bedienung"
<div class="top-space">
<div data-type="switch" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="Mute" data-set="Mute"
data-icon="fa-deaf" data-background-icon="-"
data-on-color="#aa6900" data-off-color="gray"
data-get-on="1" data-get-off="0"
data-set-on="1" data-set-off="0" class="inline mini">
</div>

<div data-type="classchanger" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="currentNormalAudio" data-get-on="1" data-off-class="hide" class="inline top-space">
<div data-type="switch" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="Repeat" data-set="Repeat"
data-icon="fa-repeat" data-background-icon="-"
data-on-color="#aa6900" data-off-color="gray"
data-get-on="1" data-get-off="0"
data-set-on="1" data-set-off="0" class="inline mini">
</div>

<div data-type="push" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-icon="fa-step-backward" data-background-icon="-"
data-off-color="#fff" data-on-color="#aa6900"
data-set-on="Previous" class="inline mini">
</div>

<div data-type="push" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-set="CurrentTrackPosition"
data-icon="fa-backward" data-background-icon="-"
data-off-color="#fff" data-on-color="#aa6900"
data-set-on="-30" class="inline mini">
</div>
</div>

<div data-type="switch"
data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-get="transportState"
data-states='["PLAYING","PAUSED_PLAYBACK","STOPPED"]'
data-set-states='["Pause","Play","Play"]'
data-background-icon="fa-circle-thin"
data-background-colors='["#aa6900","white","white"]'
data-colors='["#aa6900","white","white"]'
data-icons='["fa-pause","fa-play","fa-play"]'
class="inline small">
</div>

<div data-type="classchanger" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="currentNormalAudio" data-get-on="1" data-off-class="hide" class="inline">
<div data-type="push" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-set="CurrentTrackPosition"
data-icon="fa-forward" data-background-icon="-"
data-off-color="#fff" data-on-color="#aa6900"
data-set-on="+30" class="inline mini">
</div>

<div data-type="push" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-icon="fa-step-forward" data-background-icon="-"
data-off-color="#fff" data-on-color="#aa6900"
data-set-on="Next" class="inline mini">
</div>

<div data-type="switch" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="Shuffle" data-set="Shuffle"
data-icon="fa-random" data-background-icon="-"
data-on-color="#aa6900" data-off-color="gray"
data-get-on="1" data-get-off="0"
data-set-on="1" data-set-off="0" class="inline mini">
</div>
</div>

<div data-type="popup" class="inline" data-width="650px" data-height="210px">
<div data-type="push"
data-icon="fa-list" data-background-icon="-"
data-off-color="#fff" data-on-color="#aa6900"
class="mini">
</div>

<div class="dialog">
<header><div data-type="joinedlabel" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-mask="Musikauswahl[ für $1]" data-get='["roomName"]' class="inline"></div></header>

<div class="top-space-10 left-align left-space">
<div>
<div class="large middle inline">Favoriten: </div>
<div data-type="select"
data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-list="FavouritesList"
data-alias="FavouritesListAlias"
data-delimiter="|"
data-quote="/"
data-get="currentFavouriteNameMasked"
data-set="StartFavourite"
class="inline w3x"
onchange="$('.dialog-close').trigger('click');"></div>
</div>

<div>
<div class="large middle inline">Playlists: </div>
<div data-type="select"
data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-list="PlaylistsList"
data-alias="PlaylistsListAlias"
data-delimiter="|"
data-quote="/"
data-get="currentPlaylistNameMasked"
data-set="StartPlaylist"
class="inline w3x"
onchange="$('.dialog-close').trigger('click');"></div>
</div>

<div>
<div class="large middle inline">Radios: </div>
<div data-type="select"
data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-list="RadiosList"
data-alias="RadiosListAlias"
data-delimiter="|"
data-quote="/"
data-get="currentRadioNameMasked"
data-set="StartRadio"
class="inline w3x"
onchange="$('.dialog-close').trigger('click');"></div>
</div>

<div>
<div class="large middle inline">Audio-Eingang: </div>
<div data-type="select"
data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-list="Sonos:LineInPlayerList"
data-alias="Sonos:LineInPlayerListAlias"
data-delimiter="|"
data-get="currentAlbum"
data-set="PlayURI"
class="inline w3x"
onchange="$('.dialog-close').trigger('click');"></div>
</div>

<div>
<div class="large middle inline">Abspielliste: </div>
<div data-type="select"
data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-list="QueueList"
data-alias="QueueListAlias"
data-delimiter="|"
data-get="currentTrack"
data-set="Track"
class="inline w3x"
onchange="$('.dialog-close').trigger('click');"></div>
</div>
</div>
</div>
</div>
</div>


Und hier das der Rubrik "Position":

<div data-type="classchanger" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="currentNormalAudio" data-get-on="1" data-off-class="hide">
<div data-type="label" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="currentTrackPositionSimulated" class="inline" style="width: 3em;"></div>
<div data-type="slider"
data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-set="CurrentTrackPosition"
data-get="currentTrackPositionSimulatedSec"
data-max="currentTrackDurationSec" data-min="0"
data-step="1"
data-handle-diameter="5"
data-width="250"
class="horizontal tap inline">
</div>
<div data-type="label" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="currentTrackDuration" class="inline" style="width: 3em;"></div>

<div class="newline">
<div data-type="label" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="currentTrack" class="inline center-align" style="width: 3em;"></div>
<div data-type="slider"
data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>"
data-set="Track"
data-get="currentTrack"
data-max="numberOfTracks" data-min="0"
data-step="1"
data-handle-diameter="5"
data-width="250"
class="horizontal tap inline">
</div>
<div data-type="label" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="numberOfTracks" class="inline center-align" style="width: 3em;"></div>
</div>
</div>

<div data-type="classchanger" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="currentStreamAudio" data-get-on="1" data-off-class="hide">
<div style="height: 40px;"> </div> <!-- Leerer Ersatz für die bei Streams fehlende Positionsanzeige -->
</div>


Und schließlich die Rubrik"Titel":

<div class="large top-space">
<div data-type="classchanger" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="currentNormalAudio" data-get-on="1" data-off-class="hide">
<div style="height: 21px;">
<div style="width: 355px; position: absolute; overflow: hidden; height: 21px; margin-left: 10px; margin-right: 10px;">
<div style="position: absolute;">
<div id="Device_Title" data-type="joinedlabel" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-mask="[$1]" data-get='["currentTitle"]' data-onupdate="checkFlowAnimation('#Device_Title');" class="bold"></div>
</div>
</div>
</div>

<div style="height: 21px;">
<div style="width: 355px; position: absolute; overflow: hidden; height: 21px; margin-left: 10px; margin-right: 10px;">
<div style="position: absolute;">
<div id="Device_Interpret" data-type="joinedlabel" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-mask="[$1][ ~ $2]" data-get='["currentArtist","currentAlbum"]' data-onupdate="checkFlowAnimation('#Device_Interpret');" class="">
</div>
</div>
</div>
</div>
</div>
<div data-type="classchanger" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-get="currentStreamAudio" data-get-on="1" data-off-class="hide">
<div style="height: 21px;">
<div style="width: 355px; position: absolute; overflow: hidden; height: 21px; margin-left: 10px; margin-right: 10px;">
<div style="position: absolute;">
<div id="Device_SenderInfo" data-type="joinedlabel" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-mask="[$1]" data-get='["currentSenderInfo"]' data-onupdate="checkFlowAnimation('#Device_SenderInfo');" class="bold"></div>
</div>
</div>
</div>

<div style="height: 21px;">
<div style="width: 355px; position: absolute; overflow: hidden; height: 21px; margin-left: 10px; margin-right: 10px;">
<div style="position: absolute;">
<div id="Device_Sender" data-type="joinedlabel" data-device="<fuip-field fuip-name='device' fuip-type='device'>sonos</fuip-field>" data-mask="[$1][: $2]" data-get='["currentSender","currentSenderCurrent"]' data-onupdate="checkFlowAnimation('#Device_Sender');"class=""></div>
</div>
</div>
</div>
</div>
</div>


Es gibt dann  noch eine weitere Rubrik namens "Guppierung", die vermutlich hier ohne Bedeutung ist, da ich nur einen Sonos1 nutze.

Seht Ihr etwas Verdächtiges, o Erleuchtete?

LG is2late

PS: Bin gerade auf den Begriff "FavouritesList" in diesem Beitrag gestoßen https://forum.fhem.de/index.php?topic=105536.0, kann ihn aber nicht einordnen.
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

is2late

Hat niemand eine Idee?
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox

87insane

Ich glaube das es sehr wohl mit der UI zu tun hat.
Wie du richtig gesagt hast, hast du dir ein Template installiert.... Da muss du immer mal wieder dran rum schrauben. Da ich das nicht nutze kann ich aber auch nicht helfen. Am besten in einen Thread, passend zum Thema im Forum?

Gruß,
87Insane

is2late

Vielen Dank für Deine Mühe!

Mittlerweile ist das Problem gelöst. In Sonos waren  verschiedene Gets nicht gesetzt - getListsDirectlyToReadings, getFavouritesListAtNewVersion etc. Funktioniert jetzt (nahezu) einwandfrei.

LG is2late
Pi4, Tahoma Jalousien, Hue, Echo, Sonos, Lupusec XT3, FritzBox