SONOS blockiert? Lange Verzögerungszeiten. Wie optimieren?

Begonnen von choetzu, 29 August 2018, 08:14:12

Vorheriges Thema - Nächstes Thema

Reinerlein

Hi fhem-challenge,

das Problem ist, dass eine temporäre Sprachdurchsage eines der kompliziertesten Themen bei einer solchen Steuerung ist.
Du musst dir den kompletten Zustand merken, die Durchsage starten, auf das Ende der Durchsage warten (bzw. pollen) und den ursprünglichen Zustand wieder herstellen (und das ganze parallel für mehrere Player und mehrere Durchsagen).
Das Problem des Moduls ist hauptsächlich das Warten auf das Ende der Durchsage und die dazugehörige Warteschlange.

Da bin ich schon eine Weile am umbauen, komme aber wegen wenig Zeit nicht wirklich vorwärts.
Bis dahin sollte man diese Funktion vielleicht nur auf einem Player zur Zeit anstarten, oder es lassen. In den meisten Fällen läuft es gut, bei manchen eben nicht...

Das betrifft ebenso den Befehl "playURITemp", der von der Sprachdurchsage für das temporäre Abspielen verwendet wird.

Grüße
Reinerlein

P.S.: Wenn du das Attribut "SubProcessLogfileName" setzt, und den Verbose auf 5, dann sieht man, dass der Thread für die Sprachdurchsage/Temporäre Wiedergabe irgendwann blockiert...

fhem-challenge

Hi Reinerlein,

Danke für die schnelle Antwort. Das Problem ist eher grundsätzlich. Die Sprachausgabe selbst reagiert ja sehr schnell (google anfrage etc. mp3 erzeugen etc.) und auch die Ausgabe kommt sehr schnell, nur nach! der Sprachausgabe bleibt SONOS, und damit FHEM, komplett für 30s hängen. Ich habe dieses blocking aber auch bei "normalen" Ausgaben ....  playURI oder MP3 Play etc. ... d.h. die Ausgabe (play) kommt schnell, nur danach blockiert es.

Ich wollte schon die Sprachausgabe (google incl. MP3 Konvertierung) selbst in meine "99_AI_Utils.pm" bauen und dann lediglich über SONOS des Sprsachfile MP3 abspielen, aber es bringt leider nichts, da eben auch nach dem "normalen" Abspielen einer MP3 über SONOS.PM alles "hängt". Eine andere Vermutung war die Tatsache, dass ich ggf. zuviel SONOS's haben (6 Stück)... ich hatte das mal zum Test auf einen Play 1 reduziert, das Blocking war aber dennoch vorhanden.


Viele Grüße!

Andreas


Zitat von: Reinerlein am 13 Februar 2019, 22:29:34
Hi fhem-challenge,

das Problem ist, dass eine temporäre Sprachdurchsage eines der kompliziertesten Themen bei einer solchen Steuerung ist.
Du musst dir den kompletten Zustand merken, die Durchsage starten, auf das Ende der Durchsage warten (bzw. pollen) und den ursprünglichen Zustand wieder herstellen (und das ganze parallel für mehrere Player und mehrere Durchsagen).
Das Problem des Moduls ist hauptsächlich das Warten auf das Ende der Durchsage und die dazugehörige Warteschlange.

Da bin ich schon eine Weile am umbauen, komme aber wegen wenig Zeit nicht wirklich vorwärts.
Bis dahin sollte man diese Funktion vielleicht nur auf einem Player zur Zeit anstarten, oder es lassen. In den meisten Fällen läuft es gut, bei manchen eben nicht...

Das betrifft ebenso den Befehl "playURITemp", der von der Sprachdurchsage für das temporäre Abspielen verwendet wird.

Grüße
Reinerlein

P.S.: Wenn du das Attribut "SubProcessLogfileName" setzt, und den Verbose auf 5, dann sieht man, dass der Thread für die Sprachdurchsage/Temporäre Wiedergabe irgendwann blockiert...

Jamo

Wenn ich in Linux ein 'top' anstosse, sehe ich das bei der Sonos Sprachausgabe die %CPU kurzzeitig von 10% auf 60% - 70% ansteigt, und beim Sonos Sender Favoritenwechsel kurzzeitig auf über 50% (alles unter Tinkerboard - S, 1.8 GHz). Memory % bleibt konstant.
Das war einer von mehreren Gründen, weswegen ich vom Raspberry Pi 3 B+ auf Tinkerboard - S gewechselt bin. Ein weiterer Grund war das 'Cannot fork - "Out of Memory" beim Raspi. Ausserdem hatte mein FHEM auf dem Raspberry nach dem shutdown keinen restart mehr geschafft, ich habe noch eine VCCU.

Seitdem umstieg aufs Tinkerboard keine Probleme mehr.

Reinerlein hat mit dem Sonos Modul eine super Arbeit gemacht, Chapeau Chapeau! Meinen Dank!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

sTaN

#18
Hallo Reinerlein,

habe gerade nach Erstellung meines Threads doch noch diesen hier entdeckt und vermute, es könnte einen Zusammenhang geben:

Thema: Notify & Sonos Aktion blockiert FHEM & MQTT Gosund SP112 Steckdose geht offline
https://forum.fhem.de/index.php/topic,117518.msg1119118.html#msg1119118

Hat sich hier ggf. etwas getan, da der Beitrag schon 1 Jahr alt ist?

Viele Grüße und danke
sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover