DbLogInclude: Wie mehrere Readings loggen wenn ein Reading matched

Begonnen von stefanru, 26 November 2019, 21:01:08

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo Stefan,

möglicherweise hat der letzte Fix vom 8.2. doch Auswirkungen.
Mach mal bitte einen Negativtest mit der angehängten Version.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Hi,

ja gerade getstet. Mit der alten Version von dir funktioniert es noch und 0 Werte werden geschrieben.

Was nun besser ist bei Tagen an denen nichts zu summieren ist weiß ich nicht genau.

Mit der alten Version sieht mein Plot wieder gut aus.

Gruß und Danke,
Stefan

DS_Starter

Hmm, allerdings hast du dann wieder unter Umständen die Warnings aus #63.
Fragt sich was besser ist ... ich überlege ob ich vllt. noch eine bessere Variante finde.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Hi Stefan,

probier mal die Version aus meinem contrib.

"wget -qO ./FHEM/93_DbRep.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/93_DbRep.pm"
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Hi Heiko,

sieht gut aus.
Logfile ohne Fehler:
2020.03.01 18:38:08 3: DbRep logdbRepArbeitszeit - number of lines updated in "logdb": 122
2020.03.01 18:38:08 3: DbRep logdbRepArbeitszeit - number of lines inserted into "logdb": 0

Und in der DB schreibt er jetzt "Null" was im Plot gut funktioniert.
2020-02-29 23:59:59   geofancy   GEOFANCY   calculated   sum_day_lastPosDur_rr_Stefan   NULL   NULL
2020-02-29 00:00:01   geofancy   GEOFANCY   calculated   sum_day_lastPosDur_rr_Stefan   NULL   NULL


Perfekt, vielen Dank!
Stefan

DS_Starter

Sehr schön, danke Stefan.
Ich checke es ein, ist morgen früh im Update.

LG,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru


stefanru

Hi Heiko,

hab nun doch noch ein kleines Problem.

Wenn ich Plots zu den Summen aufrufe erscheint folgendes im Log:
2020.03.07 01:00:48 1: PERL WARNING: Argument "" isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1570.

Das passiert da an den Tagen an denen es nichts zu summieren gab in der Value spalte bei der Summe nichts steht.
Also auch keine 0.

Ich habe jetzt schon versucht mit allem möglichen drum herum zu kommen.
z.B.
$val=($val>0?$val/3600:0)
$val=($val=~/[\d.-]?$val/3600:0)

All das führt aber nur wieder zu Fehlern.
PERL WARNING: Use of uninitialized value $val in pattern match (m//) at (eval 41071) line 1.

Auf defined kann ich im Plot so glaub ich nicht abfragen.
Zumindest zerreist es mir die Plot definition wenn ich
$val=(defined $val?$val/3600:0)
schreibe.

Hast du da noch eine Idee?

Gruß und Danke,
Stefan


DS_Starter

#83
Morgen Stefan,

versuchs mal so:

$val=(defined$val?$val/3600:0)

Diese Definition im Plotfile darf keine Leerzeichen enthalten.

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru

Hi,

danke. Wusste nicht dass man das so hinschreiben kann.

Leider kommt trotzdem:
2020.03.07 15:30:32 1: PERL WARNING: Argument "" isn't numeric in division (/) at (eval 171891) line 1.

Scheint nicht zu ziehen.
Ein Verbose=5 am Plot zeigt leider nicht mehr.

Gruß,
Stefan

DS_Starter

Hi Stefan,

dann müsste man es z.B. so erweitern denke ich:

$val=((defined$val&&$val=~/\d*.\d*/)?$val/3600:0)

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

stefanru