Werte loggen die durch Modul average erzeugt wurden

Begonnen von MarkusN, 02 Januar 2014, 22:11:08

Vorheriges Thema - Nächstes Thema

MarkusN

Hallo Gemeinde!

Ich versuche Werte zu loggen die durch das Modul average generiert wurden (in diesem Fall via dblog, mit FileLog hat es jedoch auch nicht funktioniert). Ich habe einen Dummy mit folgenden Readings:

tempdiff 20.0625 2014-01-02 21:57:07
tempdiff_avg_day 10.5 2014-01-02 21:48:53
tempdiff_avg_month 7.7 2014-01-02 21:48:53
tempdiff_cum_day 826395.4375 2014-01-02 21:48:53
tempdiff_cum_month 1934222.9375 2014-01-02 21:48:53
tempdiff_max_day 24.6 2014-01-02 16:21:10
tempdiff_max_month 36.3 2014-01-01 10:25:18
tempdiff_min_day -0.2 2014-01-02 04:29:59
tempdiff_min_month -0.3 2014-01-01 04:30:00


Meine DbLog-Definition sieht folgendermaßen aus:

define myDbLog DbLog db.conf .*:.*(temperature|desiredTemperature|valveposition|humidity|dewpoint|tempdiff_avg_day|tempdiff).*

Ich möchte tempdiff (selbst erzeugter Wert) und tempdiff_avg_day (durch Modul average generiert) loggen. Tempdiff landet im Log, tempdiff_avg_day jedoch nicht. Auffällig ist auch dass das Reading tempdiff das einzige ist welches bei aktiviertem longpoll im Webinterface aktualisiert wird, die restlichen readings werden erst aktualisiert wenn ich die Seite neu lade (sieht man auch an den Uhrzeiten neben den Readings). Wird bei den übrigen Readings kein Event ausgelöst? Habe bereits "event-on-change-reading tempdiff,tempdiff_avg_day" gesetzt, Erfolg hatte es jedoch keinen.

Hat jemand eine Idee?

Grüße,

Markus

MarkusN

Hallo,

ich habe eine Interessante Entdeckung gemacht.

1) Die Werte werden einmal am Tag, irgendwann kurz nach Mitternacht gelogged:

+---------------------+---------+-------+------------------------+------------------+-------+------+
| TIMESTAMP           | DEVICE  | TYPE  | EVENT                  | READING          | VALUE | UNIT |
+---------------------+---------+-------+------------------------+------------------+-------+------+
| 2014-01-03 00:01:18 | heizung | DUMMY | tempdiff_avg_day: 10.2 | tempdiff_avg_day | 10.2  |      |
| 2014-01-03 00:01:18 | heizung | DUMMY | tempdiff_max_day: 25.2 | tempdiff_max_day | 25.2  |      |
| 2014-01-03 00:01:18 | heizung | DUMMY | tempdiff_min_day: -0.2 | tempdiff_min_day | -0.2  |      |
| 2014-01-04 00:00:19 | heizung | DUMMY | tempdiff_avg_day: 10.4 | tempdiff_avg_day | 10.4  |      |
| 2014-01-04 00:00:19 | heizung | DUMMY | tempdiff_max_day: 25.8 | tempdiff_max_day | 25.8  |      |
| 2014-01-04 00:00:19 | heizung | DUMMY | tempdiff_min_day: 0.1  | tempdiff_min_day | 0.1   |      |
+---------------------+---------+-------+------------------------+------------------+-------+------+


Warum nur dann?

2) Komischerweise werden mehr Readings gelogged als ich möchte, mein Regexp lautet:

.*:.*(temperature|desiredTemperature|valveposition|humidity|humidity_absolute|dewpoint|tempdiff_avg_day|tempdiff).*

Ich würde also erwarten dass nur tempdiff und tempdiff_avg_day gelogged werden, wie ihr oben sehen könnt sind allerdings auch noch tempdiff_max_day und tempdiff_min_day im Log. Ist mein Regexp zu unspezifisch?

Grüße,

Markus


Puschel74

Hallo,

ZitatDie Werte werden einmal am Tag, irgendwann kurz nach Mitternacht gelogged:
ZitatWarum nur dann?
Weil es nur kurz nach Mitternacht Sinn macht einen Durchschnittswert des vergangenen! Tages zu berechnen.

ZitatIst mein Regexp zu unspezifisch?
Hier
...tempdiff_avg_day|tempdiff).*
würde ich vermuten das der .* in Verbindung mit dem "tempdiff" davor für alles steht was mit tempdiff anfängt und beliebig viele Zeichen hat.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.