[GELÖST] Bug im SVG Modul?

Begonnen von c-graeser, 18 Juli 2018, 19:33:29

Vorheriges Thema - Nächstes Thema

c-graeser

Hallo,

ich habe ein SVG Plot mit folgendem Code erstellt:
defmod SVG_FileLog_GSD_1.3_1 SVG FileLog_GSD_1.3:SVG_FileLog_GSD_1.3_1:HISTORY
attr SVG_FileLog_GSD_1.3_1 endPlotNow 1
attr SVG_FileLog_GSD_1.3_1 label $data{currval1}::$data{max1}::$data{min1}::$data{max2}
attr SVG_FileLog_GSD_1.3_1 room GSD,Garten

setstate SVG_FileLog_GSD_1.3_1 initialized


$data{max2} enthält Daten über die Niederschlagsmenge aus einer Wetterstation (Wunderground). Da es seit längerem nicht geregnet hat, befinden sich über den kompletten Plot Zeitraum nur Werte mit 0 (mm Niederschlag / Quadratmeter).
In der Kopfzeile des Plot lasse ich mit mit dem Label  <L4> den maximalen Niederschlag (innerhalb des Plotzeitraumes) anzeigen.
Leider wird dort anstatt 0 (mm Niederschlag / Quadratmeter) die Zahl -9223372036854775807 angezeigt, was nach meiner Einschätzung auf einen Variablenüberlauf o.ä. hindeutet.
Wähle ich über die Pfeiltasten einen Plotzeitraum, in dem es geregnet hat, wird der korrekt Max-Wert angezeigt.
Habe ich etwas falsch konfiguriert, oder ist das tatsächlich ein Fehler?
Raspberry Pi, HMUART, LaCrossGW, myJeeLink

betateilchen

Zitat von: c-graeser am 18 Juli 2018, 19:33:29
Habe ich etwas falsch konfiguriert, oder ist das tatsächlich ein Fehler?

Du hast nix falsch gemacht. Das ist ein bekanntes Problem in Perl, und hat weder was mit FHEM noch mit dem SVG Modul zu tun. So einen Plot, in dem das Phänomen auftritt, habe ich im Moment auch, weil keine darzustellenden Werte existieren (siehe Screenshot)

Man könnte vermutlich im SVG Modul diesen (seltenen) Fall abfangen, aber ehrlich gesagt: mich hat das noch nicht gestört.

Was Du in Deinem Fall machen kannst: Mit addLog jede Nacht um 00:01 Uhr einen Wert ins Log schreiben.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

c-graeser

Hallo Betateilchen,
vielen Dank für die schnelle Antwort.
In diesem Fall sind aber Daten vorhanden. Alle sind jedoch gleich 0
Mir scheint, der Algorythmus, der den Maximalwert finden soll, kommt darauf nicht klar, den alle Messwerte sind ja gleich.
Raspberry Pi, HMUART, LaCrossGW, myJeeLink

betateilchen

Zitat von: c-graeser am 18 Juli 2018, 20:44:50
In diesem Fall sind aber Daten vorhanden. Alle sind jedoch gleich 0

Dann poste doch mal bitte die Ausgabe der preprocessed data aus dem SVG Editor.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

c-graeser

Hallo Betateilchen,
mit Deinem Hinweis habe ich den Fehler gefunden!
Beim Abholen der Wetterdaten habe ich "event-on-change-reading" gesetz, OHNE "event-min-interval".
Somit waren tatsächlich für den Anzeigezeitraum des Plot keine Daten in der DB vorhanden.

Vielen Dank für die Unterstützung!!!!
Raspberry Pi, HMUART, LaCrossGW, myJeeLink