Hauptmenü

Sonos und FHEM

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

Vorheriges Thema - Nächstes Thema

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.