PATCH: DbLog: Fehler bei Deltaberechnung in Verbindung mit regexp

Begonnen von gero, 22 Oktober 2015, 12:54:32

Vorheriges Thema - Nächstes Thema

gero

Hallo,

ich habe das Problem schon einmal in einem anderen Beitrag beschrieben, der aber offenbar übersehen wurde.
Also hier ein erneuter Versuch:
Beim Versuch einen Plot für einen HourCounter zu erstellen ist mir aufgefallen, dass für den Startwert, der in die delta Berechnungen eingeht leider die regex nicht ausgewertet wird:

Hier die Rohwerte:
get myDbLog - - 2015-10-01 2015-10-03 ELCO.Brenner1.HC:pulseTimeOverall
2015-10-01_00:22:28 228697
2015-10-01_01:25:28 228697
2015-10-01_03:19:06 228697
2015-10-01_04:21:56 228697
2015-10-01_05:24:56 228697
2015-10-01_05:45:56 229597
2015-10-01_05:57:56 229777
2015-10-01_06:12:56 230312
2015-10-01_06:21:56 230489
2015-10-01_06:39:57 230670
2015-10-01_07:00:00 230794
2015-10-01_07:00:57 230851
2015-10-01_08:06:56 230851
2015-10-01_08:15:56 231391
2015-10-01_08:27:56 231751
2015-10-01_08:39:56 231931
2015-10-01_09:40:05 230851
2015-10-01_10:00:00 231336
2015-10-01_10:00:55 231391
2015-10-01_10:06:55 231571
2015-10-01_10:21:55 231751
2015-10-01_11:21:55 231751
2015-10-01_12:21:55 231751
2015-10-01_12:33:55 232111
2015-10-01_13:33:55 232111
2015-10-01_14:33:55 232111
2015-10-01_15:33:55 232111
2015-10-01_16:33:55 232111
2015-10-01_17:12:55 232831
2015-10-01_17:21:56 233012
2015-10-01_17:36:55 233192
2015-10-01_18:36:55 233192
2015-10-01_19:36:55 233192
2015-10-01_20:36:55 233192
2015-10-01_21:36:55 233192
2015-10-01_22:36:55 233192
2015-10-01_23:36:58 233192
2015-10-02_00:42:56 233192
2015-10-02_01:42:56 233192
2015-10-02_02:33:32 233192
2015-10-02_03:36:22 233192
2015-10-02_04:36:22 233192
2015-10-02_05:36:22 233192
2015-10-02_06:27:24 234630
2015-10-02_06:39:23 234986
2015-10-02_07:45:22 235346
2015-10-02_07:54:23 235527
2015-10-02_08:06:22 235702
2015-10-02_09:06:22 235702
2015-10-02_10:00:00 236220
2015-10-02_10:00:24 236244
2015-10-02_10:09:22 236422
2015-10-02_11:09:45 236422
#ELCO.Brenner1.HC:pulseTimeOverall:::


Hier die delta-d Werte:
get myDbLog - - 2015-10-01 2015-10-03 ELCO.Brenner1.HC:pulseTimeOverall::delta-d
2015-10-01_12:00:00 4495
2015-10-02_12:00:00 3230
#ELCO.Brenner1.HC:pulseTimeOverall::delta-d:


Soweit so gut. Wenn man aber nun eine regexp verwendet, um z.B. die Werte auf eine sinnvolle einheit umzurechnen, erhält man folgendes:
get myDbLog - - 2015-10-01 2015-10-03 ELCO.Brenner1.HC:pulseTimeOverall::delta-d:$val=$val/3600

2015-10-01_00:22:28
2015-10-01_01:25:28
2015-10-01_03:19:06
2015-10-01_04:21:56
2015-10-01_05:57:56
2015-10-01_06:39:57
2015-10-01_07:00:57
2015-10-01_08:39:56
2015-10-01_09:40:05
2015-10-01_10:21:55
2015-10-01_11:21:55
2015-10-01_12:33:55
2015-10-01_13:33:55
2015-10-01_14:33:55
2015-10-01_15:33:55
2015-10-01_16:33:55
2015-10-01_17:36:55
2015-10-01_18:36:55
2015-10-01_19:36:55
2015-10-01_20:36:55
2015-10-01_21:36:55
2015-10-01_22:36:55
2015-10-01_23:36:58
2015-10-01_12:00:00 -228632
2015-10-02_01:42:56
2015-10-02_02:33:32
2015-10-02_03:36:22
2015-10-02_04:36:22
2015-10-02_05:36:22
2015-10-02_06:39:23
2015-10-02_07:54:23
2015-10-02_08:06:22
2015-10-02_09:06:22
2015-10-02_10:09:22
2015-10-02_11:09:45
2015-10-02_12:00:00 0.897222
#ELCO.Brenner1.HC:pulseTimeOverall::delta-d:$val=$val/3600

Es gibt zwei Probleme:
1. Für den Startwert der delta-d Berechnung, wird die regexp leider nicht ausgewertet
2. Es werden unnötige Zeilen ausgegeben, sobald eine regexp in Verbindung mit einer delta Berechnung angegeben wird.

Anbei ein kleiner Patch, der das Problem löst. Vielleicht gibt es aber eine elegantere Lösung.
Ob ein ähnliches Problem mit FileLog existiert, habe ich nicht überprüft.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

rapster

#1
Kannst du bitte anhängendes File testen ob's funktioniert und keine Warnings usw. regnet?

gero

Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

rapster