DBLog und SVG-Plot: Falsche Min-/Max-Werte bei Nutzung von delta-d oder delta-h

Begonnen von cwagner, 29 August 2015, 11:39:26

Vorheriges Thema - Nächstes Thema

cwagner

Nach der Umstellung von FileLog auf DbLog krieg' ich dies nicht in den Griff: In den Titelzeile der SVG-Plots lasse ich mir Minimum, AVG und Maximum der jeweiligen Datenreihen anzeigen. Dies klappt analog zu FileLog auch mit DbLog in fast allen Zusammenhängen, nur nicht, wenn ich mit delta-d oder delta-h arbeite.

Mit der Titelzeile:
"Stündlicher Stromverbrauch aktuell: $data{currval1} ($data{min1} / $data{avg1} / $data{max1}) kWh | Verbrauch bis jetzt: " .round($data{sum3},1). " kWh | Ertrag PV aktuell: " .round($data{currval2},1). " (" .round($data{min2},1). " / " .round($data{avg2},1). " / " .round($data{max2},1). ") kWh | Ertrag bis jetzt: " .round($data{sum4},1). " kWh"

erhalte ich:
Stündlicher Stromverbrauch aktuell: 72662.71 (72656.42 / 0.41 / 72662.71) kWh | Verbrauch bis jetzt: 6.6 kWh | Ertrag PV aktuell: 24410.5 (24401.7 / 0.6 / 24410.5) kWh | Ertrag bis jetzt: 8.9 kWh


Erwarten würde ich - und mit FileLog bekomme ich auch - entsprechend den Daten ich in diesem Fall:
Stündlicher Stromverbrauch aktuell: 0.11 (0.21 / 0.41 / 1.04) kWh | Verbrauch bis jetzt: 6.6 kWh | Ertrag PV aktuell: 0.38 (0.0 / 0.6 / 1.58) kWh | Ertrag bis jetzt: 8.9 kWh


Die "preprocessed input"-Daten lauten:

2015-08-01_00:30:00 0.32
2015-08-01_01:30:00 0.29
2015-08-01_02:30:00 0.21
2015-08-01_03:30:00 0.3
2015-08-01_04:30:00 0.26
2015-08-01_05:30:00 0.27
2015-08-01_06:30:00 0.31
2015-08-01_07:30:00 0.49
2015-08-01_08:30:00 0.63
2015-08-01_09:30:00 0.22
2015-08-01_10:30:00 0.67
2015-08-01_11:30:00 0.69
2015-08-01_12:30:00 0.56
2015-08-01_13:30:00 1.04
2015-08-01_14:30:00 0.27
2015-08-01_15:30:00 0.11
#Strom:kWh::delta-h:
2015-08-01_00:30:00 0
2015-08-01_01:30:00 0
2015-08-01_02:30:00 0
2015-08-01_03:30:00 0
2015-08-01_04:30:00 0
2015-08-01_05:30:00 0
2015-08-01_06:30:00 0
2015-08-01_07:30:00 0.07
2015-08-01_08:30:00 0.4
2015-08-01_09:30:00 0.89
2015-08-01_10:30:00 1.2
2015-08-01_11:30:00 1.53
2015-08-01_12:30:00 1.58
2015-08-01_13:30:00 1.55
2015-08-01_14:30:00 1.39
2015-08-01_15:30:00 0.33
#Strom_PV:kWh::delta-h:
2015-08-01_12:00:00 6.64
#Strom:kWh::delta-d:
2015-08-01_12:00:00 8.94
#Strom_PV:kWh::delta-d:


Die Werte currval1, min1, max1 (currval2, min2, max2)  nehmen also nicht die entsprechenden Werte aus der Auswertung an, stattdessen wird der Datenwert vom Anfang und vom Ende der Auswertungsliste gezeigt.
Exakt dieselbe Titelzeile funktioniert unter FileLog auf der Stelle wieder wie erwartet. AVG und auch SUM funktionieren korrekt?!?

(diese Anfrage hatte ich im falschen Forum sehr umständlich geschildert - bitte also um Nachsicht, falls jemand das Grundproblem nun ein zweites Mal liest)

Christian
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

N23

Habe das selbe Problem, konntest du schon ein Lösung finden?

Mit FileLog sind $data{min} und $data{max} korrekt befüllt, mit DbLog ist min = 0, max ist der letzte Wert und nicht das Maximum im angezeigten Bereich.
Leider sehr ärgerlich :(

cwagner

Leider nein, aber immerhin sind wir jetzt schon einmal zwei, die unabhängig voneinander die Erfahrung gemacht haben.
Hatte zwischenzeitlich die entsprechenden gplots noch einmmal auf FileLog zurückgestellt und ohne weitere Änderung sofort plausible Werte gehabt. Mir fehlen leider Kenntnis und Zeit dem Thema tiefer auf die Spur zu gehen.

Hoffen wir mal auf den Maintainer oder die Community.
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

N23

Konnte mein Problem lösen, musste das "<< addLog" vom Plot-Abriss vermeiden-Skript entfernen und die Werte in der Datenbank replacen.

UPDATE history SET EVENT = replace(EVENT, '   << addLog', '');
UPDATE history SET VALUE = replace(VALUE, '   << addLog', '');

Jetzt tut zumindest in meinem Fall wieder alles wie es soll :)

Eventuell sind "nicht Zahlen" in deinen Werten? Dann scheint das Min/Max etc. nicht richtig zu funktionieren (Zahlen und Buchstaben vertragen sich bei Min/Max nicht so).

vuffiraa

Ich bin auch über das Problem gestolpert, dass die Titelzeile meiner SVGs nach Umstellung auf DbLog nicht mehr richtig funktioniert. Die Werte in der Db sind aber alle numerisch und sollten daher gut zu verarbeiten sein.

Dann habe ich mir das Modul etwas genauer angeschaut und schlage eine kleine Änderung im Modul vor. Sie ändert das Verhalten, wenn delta-h/d benutzt wird. Ich habe das Modul auf Basis der Version im GitHub vom 29.10.2015 angepasst und stelle mal das angefügte Diff zur Diskussion.

Gruß vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

cwagner

Leider ist es mir nicht gelungen, diesen Patch bei mir anzuwenden. Beim Reload wird das MOdul danach wegen zuvieler Fehelr nicht geladen.

Kannst Du nicht Deine komplette Version anhängen? Es wäre ja wirklich schön, wenn sich der Fehler so ausräumen liesse und ich will mich gerne an Testen beteiligen.

Christian
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

vuffiraa

Zitat von: cwagner am 24 Januar 2016, 13:42:09
Leider ist es mir nicht gelungen, diesen Patch bei mir anzuwenden. Beim Reload wird das MOdul danach wegen zuvieler Fehelr nicht geladen.

Kannst Du nicht Deine komplette Version anhängen? Es wäre ja wirklich schön, wenn sich der Fehler so ausräumen liesse und ich will mich gerne an Testen beteiligen.

Christian

Klar, dann hier das komplette Modul mit meiner kleine Änderung.

Gruß vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Joker

Melde mich hier nur mal zu Wort, ich habe das gleiche Problem, die min/max etc.. Werte sind bei DbLog falsch.

Konnte die Änderung aber noch nicht ausprobieren.

Joker

Die gepostete Änderung von vuffiraa behebt bei mir das Problem.

Kann sowas dann offiziell aufgenommen werden bzw. wer kümmert sich darum?

cwagner

Auch bei mir gab es keine Probleme in der zurückliegenden Woche. Ideal wäre, wenn der Maintainer des Moduls Zeit fände, die geänderte Fassung ins SVN einzustellen.
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Dr. Boris Neubert

Hallo,

bitte schreibe den Maintainer an, den Du in MAINTAINER.txt findest.

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

vuffiraa

Ok, dann hier noch mal das Patch-File passend zur letzten Version im SVN.

Maintainer und Stellvertreter werden angeschrieben.

Gruß vuffiraa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

rapster


cwagner

PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB