[gelöst] RSS sorgt vermeintlich für Verzögerungen

Begonnen von Benni, 19 Januar 2015, 09:44:40

Vorheriges Thema - Nächstes Thema

Benni

Hallo,

ich habe da ein Problem, das vermeintlich im Zusammenhang mit RSS steht.

Ich habe ein RSS definiert, das auf meinem Android-Tablet als Übersicht angezeigt wird.
Dazu ist auf dem Tablet WebViewControl installiert, das das entsprechende HTML direkt von meinem FHEM abruft.
Der Refresh ist aktuell auf 60 Sekunden eingestellt und das funktioniert auch soweit.

Weiterhin habe ich in meinem FHEM das WebViewControl-Modul eingebunden. Auch das funktioniert soweit problemlos.

Das Problem ist nun folgendes. Der Abruf der RSS-HTML dauert nun jedes mal zw. 2 und 5 Sekunden (selten auch mal noch länger), was zum einen den unschönen Nachteil hat, dass in der Zeit auf dem Tablet lediglich ein weißer Bildschirm zu sehen ist. Was aber wesentlich gravierender ist, in dieser Zeitspanne reagiert FHEM nicht mehr, weder auf der Weboberfläche, noch funktionieren irgendwelche Schaltvorgänge in die FHEM direkt involviert ist (notify). Im Log gibt es dabei keine Unauffälligkeiten.

Ist dieses verhalten normal?
Falls ja, kann man tun, um diese Verzögerungen so gering wie möglich zu halten?
Falls nein, was kann ich tun, um dem Problem auf den Grund zu gehen? Sprich wo kann ich ansetzen, welche Informationen muss ich wie sammeln?

FHEM (letztes Update 17.01.2015) läuft bei mir aktuell auf einem Cubietruck (begrenzt auf 912MHz), der direkt an meiner Fritz!Box hängt.
Das Tablet läuft mit Android 4.22 und ist über WLAN eingebunden, die WLAN-Verbindung des Tablet mit dem Router scheint soweit absolut i.O. (Datenrate im Schnitt 80MBit/s).

Das RSS.layout-File hat aktuell ca. 450 Zeilen und es wird u.a. 1 Plot eingebunden.

Wie gesagt, leider weiß ich hier überhaupt nicht, wo ich ansetzen soll daher bitte ich um Entschuldigung, sollten wesentliche Informationen fehlen.

Danke auf jeden Fall schon mal im Voraus!

Gruß Benni.



Deudi

- Weißer Bildschirm: Am besten generiert man das RSS Bild zyklisch automatisch und kopiert es dahin, wo ein lokaler Webserver darauf zugreifen kann. Das Tablet sollte nun diese Kopie laden und sich nicht direkt an FHEM wenden. Dann muss beim Refresh des Tablets nur das Bild geladen und nicht erst generiert werden. Ist ein Tipp von betateilchen und funktioniert bei mir einwandfrei.

- RSS blockiert FHEM: Da ein Plot eingebunden ist: Evtl. hast du plotfork nicht gesetzt!?
Ich habe RSS und andere Spielereien, die nicht direkt was mit Steuerungsaufgaben des Hauses zu tun haben auf eine zweite FHEM Instanz auf dem gleichen Cubietruck gelegt. Da ist es mir egal, wenn irgendwer irgendwas blockiert.
Weiterhin wird FHEMWEB gerade umgebaut und daher klemmt es hier und da, auch bei RSS und plotfork. Unlängst gab es dazu diverse Themen und Fixes. Also immer mal wieder ein Update machen und Forum beobachten.

Hoffe ich konnte etwas helfen.

Gigabyte Brix, Ubuntu 16.04.3 LTS, Homematic, Z-Wave, EnOcean, Shelly@MQTT, SIGNALduino, JeeLink DAVIS-Sketch

Benni

Hallo Deudi,

Danke erst mal!

Mit dem weißen Bildschirm könnte ich notfalls leben, das ist weniger tragisch.
Das mit dem zyklischen generieren und kopieren der RSS hatte ich deswegen ursprünglich auch mal.

Allerdings möchte ich ja, wie beschrieben das WebViewControl-Modul einsetzen, bzw. tue dies bereits und von daher ist es erforderlich, dass das WebViewControl auf dem Tablet eine longpoll-Verbindung zu FHEM (-WEB) hat.

Das Splitten von Funktionen auf unterschiedliche Systeme (Instanzen) hatte ich mir auch schon mal überlegt, eventuell sollte ich den Gedanken nochmal intensivieren.

Plotfork werde ich heute Abend mal prüfen und testen.




Benni

So!

Inzwischen habe ich also folgendes gemacht:


  • Plotfork aktiviert -> Keine verbesserung, auch nicht nach shutdown restart (vorher natürlich save)
  • aktuelles Update durchgeführt inkl anschließendem shutdown restart -> Keine Verbesserung
  • Den Plot aus dem RSS entfernt natürlich mit anschließendem rereadcfg -> keine Verbesserung

Was nun?


Dr. Boris Neubert

Hallo,

ich habe FHEM auf einem Raspi laufen und brauche zwischen 2 bis 8 Sekunden für den Aufbau eines Bildes.

Es hilft, wenn das Hintergrundbild im selben Format abgespeichert ist wie das Ausgabeformat vom RSS.

Ich habe das Problem mit dem weißen Hintergrund nicht, weil ich solange Firmwares auf meinem Tablet ausprobiert habe, bis ich eine Android-Version hatte, bei der WebViewControl-Widget keine weiße Seite zeigt.

Das Blockieren von FHEM ist normal. Es gibt zwar die Möglichkeit, RSS in einem extra Prozess (wie plotFork) auszulagern. Das hat aber bei mir dazu geführt, dass FHEM aufgrund von unkontrollierter Prozessvermehrung explodiert. Ich habe davon abgesehen, die Entwicklung dazu weiterzuverfolgen. Ich träume davon, dass man FHEMWEB und Extensions komplett in einem getrennten Prozess und sogar auf einer anderen Maschine laufen lassen kann.

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Benni

Hallo Boris,

vielen Dank für die Rückmeldung!

Dann weiß ich immerhin, dass ich soweit keine groben Schnitzer in meinem System habe sondern das eben das normale Verhalten ist und betrachte das Problem hiermit als gelöst.

Möge dein Traum irgendwann in Erfüllung gehen!  ;)

Gruß Benni.