[gelöst] FTUI3 - (mal wieder) langsame Aktualisierung

Begonnen von roemi, 24 Januar 2024, 19:08:55

Vorheriges Thema - Nächstes Thema

roemi

Hallo,

ich muss mal kurz ausholen.
Ich habe Anfang Dezember 23 fhem auf Docker umgestellt und bin eigentlich sehr zufrieden mit dieser Entscheidung.
Ich habe zwei Container, einmal Prod und einmal Test.
In der Prod habe ich CustomLog und in der Test CustomLog und logdb eingebaut. Dazu eine Datenbank (xampp im eigenem Container) verbunden.
Alles lief von Anfang an problemlos.
"Plötzlich" ;) aktualisiert sich in beiden Container, die keinerlei Verbindung miteinander haben, FTUI nur noch zeitverzögert. Bis zu 10 min habe ich beobachtet.
Wie lange das so ist, kann ich nicht sagen. Man drückt auf eine Taste, es passiert was passieren soll und gut. Irgendwann ist mir der Fehler aufgefallen, ich habe mich nicht sofort kümmern können und beim nächsten hinschauen war augenscheinlich alles i.O.

Also habe ich viele Einträge gelesen, manches probiert aber alles ohne Erfolg.
Ich habe in der Test alle Anpassungen zurückgenommen.
Ich habe die DB Verbindung gekappt.
Ich habe die Index.html gegen eine aktuelle mit nur einem Button getauscht.
Ich habe im Test ftui auf den xampp-Webserver verlegt.
Ich habe die das Attribut CORS auf "1" gesetzt.
Ich habe longpoll auf "1" sitzen (alles andere führt zu Fehler).
Ich habe crsfToken auf "none" stehen (alles andere brauchte keine Änderung).
Die Fritzbox hat ein Passwort.
Aus dem Logfile geht nicht hervor.

Betätige ich den Button in der FTUI erfolgt sofort die Reaktion in FHEM und es erscheinen auch die kleine Meldeboxen (Push) im Browser.
Mir ist vorher noch nie aufgefallen, das wenn ich die Seite manuell aktualisiere, ein Push mit "initPage done after xxxms" erscheint.

Ich wollte ein List von FHEMWEB einstellen, das aber funzt nicht.
defmod WEB FHEMWEB 8083 global
attr WEB CORS 1
attr WEB JavaScripts codemirror/fhem_codemirror.js
attr WEB csrfToken none
attr WEB editConfig 1
attr WEB longpoll 1
attr WEB menuEntries DOIFtools,/fhem?detail=DOIFtools,Restart,cmd=shutdown+restart,UpdateCheck,cmd=update+check,Update,cmd=update,Backup,cmd=backup
attr WEB room System
attr WEB styleData {\
 "f18": {\
  "Pinned.menu": "true",\
  "hidePin": "true",\
  "cols.bg": "FFFFE7",\
  "cols.fg": "000000",\
  "cols.link": "278727",\
  "cols.evenrow": "F8F8E0",\
  "cols.oddrow": "f0d3c0",\
  "cols.header": "E0E0C8",\
  "cols.menu": "f0d3c0",\
  "cols.sel": "f0a386",\
  "cols.inpBack": "FFFFFF",\
  "savePinChanges": true\
 }\
}
attr WEB stylesheetPrefix f18

setstate WEB 2024-01-24 19:00:25 state Initialized

Welche Infos werden noch benötigt? Wer kann helfen?

Erstmal Danke

Römi
https://www.roemi.de ... von einem, der auszog, 5000 deutsche Biere zu probieren

setstate


roemi

Hallo,

wenn ich longpoll auf websocket stelle, verliert fhem fortlaufend die Verbindung "Connection lost..." und die Klicks in FTUI werden nicht mehr nach FHEm durchgereicht.

Römi
https://www.roemi.de ... von einem, der auszog, 5000 deutsche Biere zu probieren

roemi

#3
Hallo setstate,

wenn Du schreibst das "websocket" richtig ist, gibt mir das natürlich zu denken.

Daher habe ich heute morgen einen neuen Container mit der aktuellsten FHEM-minimal erstellt und einfach eine Dummy Lampe erzeugt.
Dann habe ich longpoll auf "websocket" gestellt und sofort begannen alle drei Browser (Firefox, Chrome und Chromium) damit die Verbindung zu verlieren.
Dies hörte erst auf als ich longpoll auf "1" zurück gestellt habe.
Erst dann habe ich Ftui runter geladen und aufgerufen. Die Indexdatei habe ich so umgeschrieben, das nur die Lampe geschaltet und der Status gezeigt wird.
Die Lampe wird zwar sofort geschaltet, der Status aber nur nach langer Verzögerung oder einem Refresh aktualisiert.

Ich bin ratlos

Ps: Was ich oben als "kleine meldung" bzw "Push" bezeichnet habe sind natürlich "Toasts"
Römi
https://www.roemi.de ... von einem, der auszog, 5000 deutsche Biere zu probieren

setstate

ich denke: die Verbindung FTUi -> FHEM funktioniert - nur nicht der andere Teil FHEM -> FTUI. Da muss du schauen, was man dafür im Docker anpassen musst, damit websocket funktiniert. Das ist unabhängig von FTUI. Bei Longpoll=1 wird du vermutlich nicht sofort vom FHEM darauf hingewiesen, dass was nicht stimmt, weil das bestimmt nicht sofort detektierbar ist.
Ich habe mit Docker keine Erfahrungen, aber bestimmt ist das Thema woanders schon behandelt worden. Ich habe mal kurz gesucht und nur irgendwas mit PROXY Einstellungen im Webserver gelesen. Das kann es aber sich nicht sein.

roemi

Ich habe es  :-[
Und schlimm daran, ich hatte es schon mal und weis jetzt was ich geändert habe.
Man muss in der Synology Systemeinstellung Reverse Proxy einstellen und einen Port auf die Container IP:8083 weiterleiten.
Dann hat man auch die Möglichkeit "Websocket" zu wählen und dann Flutsch es wie es soll.

Das muss ich mir in Bilder festhalten  8)

Danke für den Schubs und Deine Geduld

Römi
https://www.roemi.de ... von einem, der auszog, 5000 deutsche Biere zu probieren