Sonos Player disappeared

Begonnen von aherby, 22 Dezember 2015, 18:20:38

Vorheriges Thema - Nächstes Thema

mumpitzstuff

Bist du sicher das es an den Änderungen liegt? Ich würde behaupten, das diese sowas gar nicht bewirken können. Ich kann aber die alte und die neue Version mal zusammen kopieren und dir zur Verfügung stellen, so das du gezielt von der Einen zur Anderen schalten kannst bzw. wieder zurück. Wenn es bei der Alten dann weg wäre und bei der neuen sofort wieder da, dann würde ich mich noch mal auf die Suche begeben.

det.

Ja gern, so können wir herausfinden, woran das liegt. Ich bin mir sicher, dass das gestern flüssiger lief und habe auch keine Erklärung was sich sonst geändert hätte.
LG
det.

juemuc

Also ich kann keinen Unterschied erkennen.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Nobby1805

Bei mir läuft es auch zügig, ohne Verzögerungen ...
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

mumpitzstuff

Hier mal ein Zip mit der neuen und der alten Version.

det.

Hallo mumpitzstuff,
nach umfangreichen Vergleichstests - lag offenbar am div. Sachen in meiner Sonos Umgebung - sorry
Also ich nutze in Zukunft auch die neue Version
LG
det.

juemuc

Hallo zusammen,

besteht eine Chance diese Korrektur in Abstimmung mit dem maintainer per "update" zu erhalten? Ansonsten müsste man ja das Sonos-Modul vom Update ausschließen.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

mumpitzstuff


Reinerlein

Hallo zusammen,

mumpitzstuff hatte mich angeschrieben, und gebeten, seine Code-Änderungen zu übernehmen...
Ich werde mir das die nächsten Tage genauer Anschauen.

Außerdem werde ich wohl wieder aktiver. Ich brauchte mal eine Zeitlang Ruhe vor dem Modul, sowas frisst viel Zeit und Energie...
Sorry für das zwischenzeitliche Hängenlassen :-\.

Ein paar Sachen habe ich beim Überfliegen gesehen, und kann vielleicht etwas Licht in Beweggründe und Möglichkriten geben. Das ist sicherlich nicht vollständig, deshalb u.U. nochmal fragen...

  • Zu dem Fehler mit dem belegten Port bei einem Neustart:
    Die Zeit, wann ein Socket vom Betriebssystem freigegeben wird, ist unterschiedlich. Unter Windows z.B. sofort, unter Debian bis zu einer Minute.
    Das Modul hat kein Problem damit, es versucht es bis zu 9 mal, bevor es ganz aufgibt. Das steht auch so im Log. Wenn einen diese Meldungen stören, kann man beim Define den Parameter Delaytime angeben ( https://wiki.fhem.de/wiki/SONOS#Beispiele_f.C3.BCr_die_Einbindung). Dieser verzögert den Subprozess-Startversuch.
  • IsAlive-Checker der Player:
    Am Besten funktioniert "icmp" (der klassische ping-Befehl). Leider benötigt der Subprozess dafür wegen einer uralten Einschränkung unter *nix-Systemen root-Rechte. Alle anderen Varianten muss man probieren. mumpitzstuff hat dort wohl eine Anpassung für syn vorgenommen, die ich mir natürlich anschauen werde.
  • Alive-Checker für den Subprozess:
    Dieser merkt sich, wann die letzte erfolgreiche Datenkommunikation zwischen Fhem-Modul und SubProzess stattgefunden hat, und sendet notfalls eine Antwortaufforderung. Bleibt das eine Zeitlang aus (Meldung "LastProcessAnswer way too old..." im Log), so wird die Verbindung gekappt, ein Restart des Subprozesses verzögert eingeleitet und Fhem ein Neu-Aufbau der Verbindung zum neuen SubProzess überlassen...
  • Wenn ein Player plötzlich auf disappeared steht (Meldung "device Sonos_Wohnzimmer is marked as disappeared..." im Log):
    Dann wird versucht eine erneute UPnP-Erkennungsanforderung abzusenden. Die bestehenden Player sollten davon im Prinzip nichts mitbekommen. Die Meldung kommt auch nur, wenn während einer Callback-Verarbeitung der Player verschwindet. Das hat nichts mit IsAlive-Checker (pingType) zu tun, und passiert eher selten...

Ich habe mir auch mal das Log aus dem Post #174 von 87insane angeschaut:
Das interessanteste ist fast am Ende (bei Zeitstempel 2020.05.31 13:14:23). Dort wird noch eine Sprachausgabe gemacht (bzw. angewiesen), und danach reagiert nichts mehr im SubProzess.

Das Thema "playURITemp", welches vom Speak-Befehl verwendet wird, um die Ausgabe der erzeugten .mp3-Datei durchzuführen hat offensichtlich ein Problem.
Das war schon immer eher unschön umgesetzt, und muss wohl mal dringend refactored (und dabei korrigiert) werden. Leider ist das Thema durchaus komplex und ich schon lange nicht mehr im Code gewesen, sodass das etwas dauern, und einige Tests erfordern wird.
An die Tester: Ist das bei euch vielleicht immer auf solche Speak (bzw. playURITemp) - Befehle zurückzuführen?

Wie gesagt, schaue ich mir natürlich auch die Änderungen von mumpitzstuff an, und bespreche das mit euch.

Grüße
Reinerlein

P.S.: Danke nochmal für die große Aktivität hier im Forum. Ohne euch geht das alles nicht...

hoppel118

#264
Zitat von: Reinerlein am 13 Juni 2020, 14:48:54
An die Tester: Ist das bei euch vielleicht immer auf solche Speak (bzw. playURITemp) - Befehle zurückzuführen?

Moin @Reinerlein

schön, dass du dir für das Modul wieder mehr Zeit nehmen möchtest.

Ich nutze die Sprachausgabe gar nicht. Trotzdem bin ich von dem disappeared-Problem betroffen.

Mein FHEM-Server loggt seit fast zwei Wochen auf höchstem Level. Bisher ist der Fehler noch nicht wieder aufgetreten. Bin allerdings momentan auch nicht zu Hause. Es gibt also keine Störungen durch anderes Equipment (ignoredIPs und usedonlyIPs habe ich am Sonos Device konfiguriert)...

Viele Grüße Hoppel

Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

juemuc

Hallo Reinerlein,

welcome back  ;D

Ich habe hin und wieder Probleme mit dem Speak-Befehl. Hier wird nicht mehr der Urspungszustand hergestellt und die nächste Ausgabe ist dann mit erhöhter Lautstärke :-[
Ob die Lautsprecher deswegen auf disappear gehen, kann ich nicht bestätigen. Ich habe eher den Eindruck, dass hier ein Lautsprecher, der hin und wieder die Verbindung verliert (relativ weit weg), das Gesamtsystem zum "Absturz" bringt.

Viele Grüße
Jürgen 
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

hoppel118

Zitat von: juemuc am 13 Juni 2020, 16:16:38Ich habe eher den Eindruck, dass hier ein Lautsprecher, der hin und wieder die Verbindung verliert (relativ weit weg), das Gesamtsystem zum "Absturz" bringt.

Diese Vermutung hatte ich neulich auch schonmal: https://forum.fhem.de/index.php/topic,46058.msg1058985.html#msg1058985

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

aski71

Ich hatte jetzt sehr lange keine Probleme mehr mit dem Modul. Weder bei Speak, noch mit Disappeared.
Bis ich auf S2 umgestellt habe.
Seitdem habe ich wieder Disappeared Probleme.
Kann aber nicht genau sagen, woher die kommen.
Ein ReScanNetwork hilft dann nix. Nur der Neustart des Moduls. :-/

mumpitzstuff

Auch mit dem von mir erweiterten Modul oder mit dem Originalmodul? Was sagt das Logfile?

aski71

Zitat von: mumpitzstuff am 15 Juni 2020, 19:54:45
Auch mit dem von mir erweiterten Modul oder mit dem Originalmodul? Was sagt das Logfile?

Originalmodul. Wusste nix von dem erweiterten. :-) War länger nicht da.

Ich sehe nur das hier:
Subscription request failed with error: 503 Service Unavailable at ./FHEM/00_SONOS.pm line 6098 thread 1.