FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Hermann20 am 22 November 2015, 19:34:18

Titel: Nicht alle VALUEs eines READINGS loggen, geht das?
Beitrag von: Hermann20 am 22 November 2015, 19:34:18
Hallo,

ich nutze DbLog mit SQLite zur Aufzeichnung meiner Daten und würde gerne überflüssige Einträge in die Datenbank vermeiden.

Ein Beispiel:
An der Haustür habe ich einem Bewegungsmelder HM-Sen-MDIR-O-2 und eine Lampe, die an einen HM-LC-SW2-FM angeschlossen ist. Die Lampe wird durch verschieden Ereignisse geschaltet. Den Taster innen, Twiligt (Eintritt der Dämmerung), feste Uhrzeit (22:00) aus, Bewegungsmelder (5 Minuten an).

Beim Schalter habe ich das Attribut "DbLogInclude state" gesetzt.
So weit, so gut, aber leider leider führt das vielfach zu zwei Einträgen mit gleichem Zeitstempel für ein Ereignis. (und später zu Schwierigkeiten bei der Erstellung von Plots)
rowid TIMESTAMP         DEVICE     TYPE EVENT                 READING VALUE               UNIT
........................
123368 17.11.2015 07:14 L_Haustuer CUL_HM set_on-for-timer 300 state set_on-for-timer 300
123369 17.11.2015 07:14 L_Haustuer CUL_HM on                 state on
........................
123856 17.11.2015 17:21 L_Haustuer CUL_HM set_on                 state set_on
123857 17.11.2015 17:21 L_Haustuer CUL_HM on                 state on
........................
124083 17.11.2015 22:00 L_Haustuer CUL_HM set_off                 state set_off
124084 17.11.2015 22:00 L_Haustuer CUL_HM off                 state off

Eigentlich würde ich gerne nur die Werte on und off des Readings state loggen.

Eine Einschränkung beim Attribut DbLogInclude ist mir nicht gelungen.
Ein anderes Reading, das nur on und off enthält, gibt es bei dem Device nicht.
Der Umweg über Dummy anlegen und nur on bzw. off eintragen mag ja funktionieren, scheint jedoch nicht wirklich elegant zu sein.

Wie löst man das richtig?

Vielen Dank im voraus,
Hermann
Titel: Antw:Nicht alle VALUEs eines READINGS loggen, geht das?
Beitrag von: viegener am 22 November 2015, 20:54:16
Hallo Herrmann,
normalerweise wäre aus meiner Sicht userReadings die einfachste Lösung hier. Damit kannst Du relativ einfach (auch über den Trigger RegExp) bereits nur auf bestimmte Werte die Berechnung starten (oder wie in diesem Fall nur filtern).
Gruss,
Johannes