Attribut longpollSVG wirkungslos

Begonnen von Kuzl, 02 November 2016, 08:21:02

Vorheriges Thema - Nächstes Thema

Kuzl

Hallo zusammen,

ich habe für meine FHEMWEB-Instanz das Attribut longpollSVG auf 1 gesetzt.

Allerdings werden meine Plots nicht über longpoll aktualisiert, sondern nur mit einem kompletten Refresh der Seite.
Die .gplot files wurden über den Ploteditor erstellt und einen shutdown restart hab ich auch gemacht.

Ist das bei euch auch so?

Viele Grüße,
Kuzl

rudolfkoenig

#1
Als Workaround sollte man widgetOverride nehmen koennen. Hoffe ich, da nicht getestet.

Edit: Sorry, komplett falsches Thema, diese Antwort gehoert in eine andere Diskussion.

franky08

@Rudi
ZitatAls Workaround sollte man widgetOverride nehmen koennen

... da bin ich gestern schon ins Grübeln gekommen...  ;)

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

rudolfkoenig

ZitatAllerdings werden meine Plots nicht über longpoll aktualisiert, sondern nur mit einem kompletten Refresh der Seite.

Ist vermutlich bei dir ein Race-Condition, bei mir trat das normalerweise nicht auf.

Problem: falls die Webseite mit allen javascript + CSS Dateien geladen wurde, dann prueft fhemweb.js, ob SVG-Elemente mit dem flog Attribut vorhanden sind (flog wird von 98_SVG.pm bei longpollSVG gesetzt), und wenn ja, dann bestellt alle Events. Sieht man in der JavaScript Konsole als "Longpoll with filter .*"

Falls die SVG-Generierung lange dauert, dann ist noch kein SVG vorhanden, deswegen werden nur die Events fuer den aktuellen Raum bestellt (Longpoll with filter room=Alarm). Ich konnte das nur mit einem extra eingebauten sleep(1) in SVG.pm reproduzieren.

Ich habe fhemweb.js modifiziert: es testet alle 0.1 Sekunde, ob alle SVGs geladen sind (wartet insg. bis zu 10 Sekunden), bevor es die Events bestellt. Natuerlich nur dann, wenn SVGs auf der Seite vorhanden sind.
Ab morgen per update.

Kuzl

scheint jetzt zu funktionieren, danke :)

fiedel

Zitat von: rudolfkoenig am 04 November 2016, 21:43:11
Sieht man in der JavaScript Konsole als "Longpoll with filter .*"

Davon hätte ich bitte gern mal einen Screenshot.

Seit dem letzten großen Update (mache ich so ca. 1 mal im Jahr) geht die Plot- Aktualisierung bei mir
nun nicht mehr. Getestet auf diversen Endgeräten und Browsern, Commandref, sowie diverse Threads
verschlungen um etwaige neue Def´s und Attr´s auszuschließen usw... Nun versuche ich noch diesen
Diagnoseweg. longpoll UND longpollSVG sind auf 1, refresh auf 0.

Euch vielen Dank schon mal!  :)
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

rudolfkoenig

ZitatDavon hätte ich bitte gern mal einen Screenshot.
Siehe Anhang.
Fuer longpollSVG muss man inzwischen "attr WEB plotEmbed 1" setzen, das war bis vor etwa 3 Monaten die Voreinstellung.
Habe ich schon erwaehnt, dass longpollSVG nur ein "Proof of Concept" war, weil ich damit demonstrieren wollte, dass mit diesem Verfahren die Aufgabe nicht schoen geloest werden kann?

fiedel

Perfekt Rudi - vielen Dank!

Dass man  "attr WEB plotEmbed 1" setzen muss, hatte ich nirgendwo gefunden. Das war es auch schon.
Das mit  "Proof of Concept" hatte ich gesehen, aber für mich ist es trotzdem absolut akzeptabel.
Dank deines Screenshots konnte ich nun auch die  "longpollSVG filter:Sens..." Einträge sehen.
Super - wieder n bissel schlauer...

Nochmals vielen Dank!  :) :) :)
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423