Plots werden nach Backup/Restore auf neues System nicht mehr angezeigt

Begonnen von pschlaeppi, 30 Dezember 2021, 19:41:33

Vorheriges Thema - Nächstes Thema

pschlaeppi

Hallo zusammen,

Ich verwende auf meiner FHEM Installation viele verschiedene Plots. Ich nutze für alle diese Plots LogProxy.
Ich habe die Produktive Umgebung noch auf Ubuntu Server LTS 14.04. Da verschiedene Versuche per Distributions Upgrade zu migrieren auf aktuellere LTS Versionen mehr Ärger als Freude bereitet haben, habe ich eine neue LTS 20.04 Installation aufgesetzt um dann FHEM mittels Backup/Restore (per TAR) umzuziehen.

Erste Versuche haben eigentlich sehr gut funktioniert, leider werden aber keine Plots mehr angezeigt. Das logProxy Device ist korrekt angelegt, die SVG Definitionen sind als associated unter dem logProxy geführt und werden sowohl auf dem Produktiven und dem neuen System als initialized gezeigt. Wenn ich einen davon anklicke komme ich zum Plot Editor.
Hier werden die entsprechenden Logfiles angezogen und unter show peprocessed input werden auch die richtigen Daten mit den aktuellen Datum und Zeitangaben angezeigt.

Trotzdem werden im Raum Plots keinerlei Plots angezeigt. Es wird nur jeweils der leere Rahmen mit der Überschrift des Gruppenrahmens gezeigt
Die Berechtigungen der gplot Files lauten auf beiden Systemen identisch (fhem, dialout), das gleiche gilt für die Log Dateien.
Wenn ich auf den Raum Plots wechsle um die Plots anzuzeigen sehe ich im Event Monitor keine Fehlemeldungen welche ich den Plots zuscheiden könnte.

Sieht für mich aus wie wenn was nicht berechtigt oder nicht installiert wäre. Habe aber bisher keine Referenzen dazu gefunden.

Attached einige Screenshots:
LTS 14.04
  - Plot Editor Büro Temperatur
LTS 20.04
  - Screenshot im Raum Plots vom Büro Temperatur Sensor
  - logP Device
  - Plot Editor Büro Temperatur
  - preprocessed data input der Büro Temperatur

Wäre sehr dankbar um jeden Tipp wie ich vorgehen kann um das Problem ausfindig zu machen.
Im Moment habe ich keine Idee mehr wo suchen. Kann gerne mehr Angaben bereitstellen, müsste aber wissen was benötigt wird.

Grüsse

Philipp


rudolfkoenig

Wurden die .gplot Dateien auch restauriert?
Steht was im FHEM-Log beim Aufruf der SVG?

pschlaeppi

Hallo Rudi,

Ja die .gplots wurden auch restauriert. Habe Sie noch von den beiden Systemen geholt und attached um sie vergleichen zu können.
Sie werden als gleich gross und mit dem gleichen Datum und Uhrzeit angezeigt.

Im logfile finde ich nirgends eine Referenz zu SVG.

Ich hatte beim testen das SVG.eg.bu.TH.Buero und den logP auf verbose 5 gestellt. Das einzige was ich im Logfile finde ist die Erzeugung des preprocessed Inputs
2021.12.30 20:01:37 4: logP: calling get FileLog_eg.bu.TH.Buero CURRENT INT 2021-12-30_00:00:00 2021-12-30_23:59:59 4:T\x3a:0:
2021.12.30 20:01:37 4: logP: calling get FileLog_eg.bu.TH.Buero CURRENT INT 2021-12-30_00:00:00 2021-12-30_23:59:59 6:H\x3a:0:
2021.12.30 20:01:37 4: logP: calling get FileLog_eg.bu.TH.Buero CURRENT INT 2021-12-30_00:00:00 2021-12-30_23:59:59 8:D\x3a:0:
2021.12.30 20:01:37 4: logP: calling get FileLog_ou.xx.TH.Pergola CURRENT INT 2021-12-30_00:00:00 2021-12-30_23:59:59 4:T\x3a:0:




rudolfkoenig

Im Browser ist dem neuen Rechner das Ausfuehren von JavaScript untersagt (NoScript?), oder die JS Dateien koennen nicht geladen werden.
Details sollten im Browser-JavaScript-Console stehen.

pschlaeppi

#4
Ich nutze mehrheitlich den Firefox. Die Tests habe ich vom selben Laptop im selben Browser Fenster mit mehreren TAB's paralle nebeneinander gemacht. Habe eigentlich dieselben Einstellungen für beide Server. Die Schutzeinstellungen sind auf Streng eingestellt und mit diesen Einstellungen habe ich jeweils für die beiden attachten Datensätze aus der Browser Console jeweils auf dem alten und neuen Server den Raum Plots aufgerufen.

Schalte ich die Schutzeinstellungen komplett aus. Werden die Plots immer noch nicht angezeigt, es werden aber auch keine Scripte mehr geblockt.

Es werden für beide Server dieselben Java Scripte unterdrückt. Auf dem alten Server laden die Plots auch bei den unterdrückten Scripts. Beim neuen laden Sie nicht.
Ich habe auch noch versucht wie es in Edge und Safari auf dem Mobil Phone (darksmallscreen) aussieht. Im Browser wird mir als Style der F11 angezeigt. Hatte den aber immer auf Default eingestellt gehabt. Scheinbar wurde das mal automatisch in einem Update auf F11 migriert.

Habe auch noch die beiden pgm2 Verzeichnisse verglichen. Hatte ja auch die Restored. Auf beiden Servern dieselben 92 Dateien drauf. Angezeigt wird root,fhem oder der Hostuser als Berechtigung. Sieht bei beiden Servern gleich aus.

Fehlt allenfalls ein Modul das zusätzlich installiert werrden müsste?

Grüsse Philipp

rudolfkoenig

ZitatEs werden für beide Server dieselben Java Scripte unterdrückt. Auf dem alten Server laden die Plots auch bei den unterdrückten Scripts. Beim neuen laden Sie nicht.
Bei "attr WEB plotEmbed 2" werden die SVGs per JavaScript einzeln nachgeladen. Das beschleunigt das Laden bei einem Mehrprozessorrechner deutlich, deswegen ist 2 seit ein paar Monaten die Voreinstellung auf solchen(!) Rechnern. Mit 0 werden auch die Plots mit dem HTML ausgeliefert, und das wird auf einem Prozessor berechnet. Um die Plots auch bei abgeschalteten JavaScript zu sehen setzt man das Attribut explizit auf 0.

Gibt es einen Grund, warum man bei dem eigenen FHEM-Instanz JavaScript nicht zulaesst?

ZitatIm Browser wird mir als Style der F11 angezeigt. Hatte den aber immer auf Default eingestellt gehabt. Scheinbar wurde das mal automatisch in einem Update auf F11 migriert.
Ich habe default vor Jahren nach f11 umbenannt, weil f18 die Voreinstellung war.

pschlaeppi

Habe nie wissentlich etwas installiert oder konfiguriert das JavaScripte unterdrücken würde, NoScript, Ghostery etc sind nicht installiert. Als Plug-In ist alleine ein OpenH264 Codec aufgeführt und als Erweiterung ein PasswortManager zur Passworteingabe. Sonst ist der Firefox jungfräulich und auf dem neusten Stand. Ich habe wirklich nur die Schutzmassnahmen auf streng eingestellt gehabt und beim alten Server läuft es ja auch mit der identischen Konfiguration da ja nur Backup und Restore genutzt wurde um das System auf das neue LTS 20.04 zu bringen. Schutzmassnahmen auf Standard setzen ändert daran nichts.
In about:config steht javascript.enabled auf true.

Was mich ebenfalls irritiert, dass es auf den mobilen Devices auch auf allen nicht geht.
- iPhone mit iOS 15.2
- iPad mit iOS 12.5.5 und 15.1

Dass alle Geräte dieselbe Unterscheidung wie der Laptop machen, ohne was geändert zu haben, erscheint mir schon sehr unwahrscheinlich.

Setze ich das Attribut plotEmbed auf 0 funktioniert die Plot Anzeige aber natürlich sehr langsam.
Setze ich es auf 1 geht es deutlich zügiger vonstatten, ähnlich dem alten System mit 2.

Danke für die Hilfestellung. Offensichtlich habe ich noch ein nicht gefundenes Problem mit den JavaScripts, habe da immer noch den neuen Server im Verdacht, wie auch immer.
Immerhin habe ich aber jetzt einen Workaround der schon mal ermöglicht das System auf LTS 20.04 umzuziehen.

Herzlichen Dank für die schnelle Hilfestellung.

Grüsse Philipp



rudolfkoenig

ZitatHabe nie wissentlich etwas installiert oder konfiguriert das JavaScripte unterdrücken würde
Womoeglich fehlen "nur" JavaScript Dateien, in der JavaScript Console muessten entsprechende Fehlermeldungen auftauchen.

ZitatSetze ich es auf 1 geht es deutlich zügiger vonstatten, ähnlich dem alten System mit 2.
Bei plotEmbed=1 wird das <embed> Tag verwendet, was eine vergleichgbare parallele Berechnung in FHEM erlaubt.
Leider vertraegt sich <embed> nicht so gut mit Verschieben von Plots (f18, Dragging Active), und ist was archaisches, aus der Zeit wo SVGs noch mit externen Plugins berechnet wurden.

pschlaeppi

#8
Kenne mich leider mit Java bisher gar nicht aus. Mit Java Console meinst du die Browser Console auf dem Laptop?

ZitatWomoeglich fehlen "nur" JavaScript Dateien, in der JavaScript Console muessten entsprechende Fehlermeldungen auftauchen.

Damit meinst du dass der Server die nicht bereitstellt oder nicht geladen werden können, also nicht auf der Client Seite?

Habe nochmal die Browser Console geöffnet und eine andere Darstellung geklickt und dann ziemlich viele dieser Logs gesehen.
Ist das eventuell eine mögliche Ursache des Problems und gar nicht JavaScripts selber?

Im zweiten Screenshot sind die Details die mir die Browser Console liefert zu zwei Scripts (fhemweb.js, jquery-ui.min.js) die nicht ausgeführt werden. Beide sind auf den beiden Servern vorhanden, gleich gross, gleiches Datum und jeweils root (rw-rw-rw-) Berechtigungen




rudolfkoenig

"Unable to run script because scripts are blocked internally." interpretiere ich so, dass der Browser JavaScript blockiert.

JavaScript hat mit Java uebrigens nicht viel gemein und hat diesen Namen nur bekommen, weil Java zu der Zeit "hip" war.

pschlaeppi

#10
Habe jetzt mal zum Edge gewechselt und dort die Browser Console geöffnet. Dort erhalte ich jetzt die Info bei den Fehlerhaften requests "net::ERR_EMPTY_RESPONSE".
(vergleiche attachter Screenshot)

Daraufhin habe ich mal die Ubuntu Logs durchforstet und festgestellt dass ich ab und an einen Eintrag habe das der e1000 LAN Adapter reseted wurde.
Könnten allenfalls Verzögerungen vom Server bei der Beantwortung des Requests (timeouts) vom Browser dazu führen dass die Plots nicht angezeigt werden.