SVG aus logDB: Graph aktualisiert nicht (mit F5), Daten werden weiter geloggt

Begonnen von heikoh81, 01 August 2018, 19:51:45

Vorheriges Thema - Nächstes Thema

heikoh81

Hallo zusammen,

ich setze seit mehreren Jahren einen VServer als DBLog (FHEM2FHEM-Slave) für mein Master-FHEM ein.
Server ist Debian Strech mit MariaDB und NGinx Reverse Proxy mit https.

Seit ein paar Tagen (ohne Updates oder Änderungen auf allen Systemen) habe ich nun das "Problem", dass SVG-Graphen nicht mehr aktualisieren, wenn ich F5 im Browser drücke.

Zuerst dachte ich natürlich, die Datenbank loggt nicht mehr, aber kurz mit PHPMyAdmin gecheckt, alles in Ordnung.
Auch wenn ich auf "show preprocessed input" klicke, kommen die korrekten und vor allem ganz aktuelle Werte.

Dann habe ich mehr oder weniger durch Zufall entdeckt, dass zur selben Zeit, wenn auf PC1 keine Aktualisierung stattfindet, auf einem anderen PC2 die SVGGrafik sofort bis zum aktuellen Zeitpunkt erzeugt wird - aber dann auch nicht mehr aktualisiert. Und nur, wenn ich dort noch nie Grafik aufgerufen habe!

Starte ich auf PC1 oder PC2 den Inkognito-Modus, wird die SVG-Grafik wieder bis zum aktuellen Zeitpunkt erzeugt, dann aber nicht weiter aktualisiert. Ebenso, wenn ich dann statt Chrome den Firefox verwende.

Durch rein- und rauszoomen in die Grafik komme ich auch immer an aktuelle Werte. Und beim Rauszommen manchmal dann auch eine aktuelle Grafik in der Standard-Ansicht (1 Tag). Aber eben nicht mehr zuverlässig immer.

Folglich tippe ich auf ein Cache-Problem - was bei https aber gar nicht sein dürfte?
Bis vor Kurzem konnte ich auch mit F5 immer ein neues Laden der SVG bis zum aktuellen Zeitpunkt erreichen.
Nun nicht mehr.

Wie bekomme ich wieder aktuelle Grafiken?

Beispiel gplot-File:

# Created by FHEM/98_SVG.pm, 2016-03-01 22:51:22
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Pergola'
set ytics
set y2tics
set grid
set ylabel "Temperatur"
set y2label "Luftfeuchtigkeit"

#logdb_LaCrosse LaCrosse_Pergola:temperature
#logdb_LaCrosse LaCrosse_Pergola:humidity

plot "<IN>" using 1:2 axes x1y1 title 'Temperatur' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Luftfeuchtigkeit' ls l2 lw 1 with lines


Viele Grüße,
Heiko

rudolfkoenig

ZitatFolglich tippe ich auf ein Cache-Problem - was bei https aber gar nicht sein dürfte?
Ich meine doch, der Browser darf die Daten nach dem Entschluesseln cachen.

Leider gibt es keine ideale FHEM-Log-Ausgabe, um dieses Problem zu lokalisieren, das beste was ich gefunden habe ist "attr SVG verbose 5", und im FHEM-Log nach "plotcommand" suchen.

Besser ist im Browser die JavaScript-Console zu oeffnen, da auf dem Network-Tab zu wechseln, ein Reload zu machen, und beobachten was woher geholt wird.

heikoh81

Bemerkt hatte ich den Fehler übrigens nach einem FullImage-Backup meines KVM-VServers diese Woche.
Kann natürlich auch schon davor aufgetreten sein - nach dem Backup habe ich halt mal wieder alle Dienste genauer geprüft...

Nach FHEM-Update geht es jetzt wieder, letztes Update ist zahlreiche Monate her (never change a running system).
Die Beschriftung der Diagramme ist jetzt grün, ist das Absicht? Vorher war es schwarz (siehe Anhang).

Folgendes ist mir noch aufgefallen:

set WEB clearSVGCache
führt zu
Can't open ./www/SVGcache: No such file or directory

Und im Log habe ich seit Längerem folgende Fehlermeldung.
Ich habe die Einheit als Text im Wert für die bessere Lesbarkeit im FHEM-Web.
Für die Speicherung in der Datenbank müsste ich das noch besser aufbereiten - oder geht das direkt mit DBLog?
In PHPMyAdmin habe ich gesehen, dass manche Devices korrekt die Einheit in die dafür eigene Spalte der DBLog schreiben.
Andere aber nicht. Wo wird denn die Trennung von Wert und Einheit gesteuert?

2018.08.02 15:06:10 1: PERL WARNING: Argument "28.69 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 15:06:10 1: PERL WARNING: Argument "23.12 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 15:06:10 1: PERL WARNING: Argument "err" isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1567.
2018.08.02 15:06:10 1: PERL WARNING: Argument "err" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 2117.
2018.08.02 15:06:10 1: PERL WARNING: Argument "26.50 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 15:06:10 1: PERL WARNING: Argument "35.00 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 15:06:10 1: PERL WARNING: Argument " 1.87 Bar" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 15:52:54 1: PERL WARNING: Argument "28.88 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 15:52:54 1: PERL WARNING: Argument "23.25 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 15:52:54 1: PERL WARNING: Argument "27.00 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 18:02:08 1: PERL WARNING: Argument "23.38 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 18:02:08 1: PERL WARNING: Argument "34.50 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 18:11:49 1: PERL WARNING: Argument "27.50 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 19:38:42 1: PERL WARNING: Argument "28.06 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 19:38:42 1: PERL WARNING: Argument "23.56 \x{b0}C" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.
2018.08.02 19:38:42 1: PERL WARNING: Argument " 1.86 Bar" isn't numeric in sprintf at ./FHEM/98_SVG.pm line 2209.


Viele Grüße,
Heiko

rudolfkoenig

ZitatCan't open ./www/SVGcache: No such file or directory
Vermutlich hast du auch kein SVGcache Attribut gesetzt.
Dieser Cache ist fuer "unveraenderliche" Daten (z.Bsp. die von gestern).

ZitatUnd im Log habe ich seit Längerem folgende Fehlermeldung.
Das klassische DbLog Problem, SVG will nur Zahlen, DbLog liefert aber mehr.
Bitte in der DbLog Abteilung nachfragen.

ZitatDie Beschriftung der Diagramme ist jetzt grün, ist das Absicht?
Ist mir nicht aufgefallen, bei dem Stil f18 (die zukuenftige Voreinstellung) ist es schwarz.

heikoh81

Zitat von: rudolfkoenig am 03 August 2018, 09:32:34
Das klassische DbLog Problem, SVG will nur Zahlen, DbLog liefert aber mehr.
Bitte in der DbLog Abteilung nachfragen.

Habe das gelöst, indem ich das datenlieferende ECMD-Device noch ein zusätzliches userreading ohne die Einheit schreiben lasse und dies dann von DBLog loggen lasse.

ZitatIst mir nicht aufgefallen, bei dem Stil f18 (die zukuenftige Voreinstellung) ist es schwarz.

Wie kommt es dann, dass es bei mir grün ist?
Ich habe nichts verändert, auch noch nie einen Stil eingestellt...

Viele Grüße,
Heiko