FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: blueberry63 am 10 Februar 2014, 18:47:41

Titel: 2 Einträge pro Ereignis in DBLog
Beitrag von: blueberry63 am 10 Februar 2014, 18:47:41
Hallo,

ich benutze zwar schon einige Zeit FHEM, aber nun will ich doch mal einer Sache auf den Grund gehen. Ich nutze DBlog und dabei fällt mir auf, dass es immer 2 Einträge pro Ereignis gibt:
Zitat
2014-02-10 18:15:18   Gaszaehler   CUL_HM   contact: closed (to HMLAN1)   contact   closed (to HMLAN1)   
2014-02-10 18:15:18   Gaszaehler   CUL_HM   closed   state   closed   
Dies könnte bei meinem neuen "Gaszähler" wegen der vielen Ereignisse natürlich dazu führen, daß das max. Stundenlimit von Funkübertragungen schneller erreicht wird. Kann mir jemand sagen, ob und wie man das abstellen kann?
Gruß
Blueberry63
Titel: Antw:2 Einträge pro Ereignis in DBLog
Beitrag von: betateilchen am 10 Februar 2014, 18:48:56
Das eine ist der event, das andere ist das aus dem event resultierende reading. Und Du bist ungefähr der 728. User, der danach fragt  8) Stöbere einfach mal im Forum, da gibt es schon genug Beiträge mit Lösungen.

Titel: Antw:2 Einträge pro Ereignis in DBLog
Beitrag von: blueberry63 am 10 Februar 2014, 19:39:50
  :-[
Du hast Recht, ich werde zuerst mal auf die Suche gehen. Entschuldigung!
Titel: Antw:2 Einträge pro Ereignis in DBLog
Beitrag von: betateilchen am 10 Februar 2014, 19:40:43
such mal nach "event-on-change" oder "event-on-update"
Titel: Antw:2 Einträge pro Ereignis in DBLog
Beitrag von: blueberry63 am 10 Februar 2014, 20:20:51
Es ist doch wie verhext: ich habe mehrere Threads gelesen, aber ich finde keine befriedigende Erklärung. Ich hatte ja schon bei meinem HM_SCI_3_FM das Reading "R-msgScPosB"=noMsg gesetzt, damit ich nur noch das "Closed"-Ereignis gemeldet bekomme. Aber dann muß ich mir nochmal das FHEM-Kompendium zu Gemüte führen, um "Event" und "Reading" zu verstehen. Falls ich nicht weiterkomme, melde ich mich hier wieder.

Blueberry63
Titel: Antw:2 Einträge pro Ereignis in DBLog
Beitrag von: blueberry63 am 14 Februar 2014, 11:53:06
Ich muß doch nochmal auf meine Frage zurückkommen, da ich bis jetzt keine Lösung gefunden habe.
Anmerkung: Ich arbeite nur mit DbLog!

Wie bestimme ich, welche Events in die DB (für ein bestimmtes Gerät) weggeschrieben werden? Hier noch ein Auszug aus meiner Datenbank:
Zitat

TIMESTAMP           DEVICE   TYPE           EVENT           READING   VALUE   UNIT
2014-02-14 11:08:30   gpio_pin11   RPI_GPIO   Pinlevel: low   Pinlevel   low   
2014-02-14 11:08:30   gpio_pin11   RPI_GPIO   off                   state   off   
2014-02-14 11:08:30   gpio_pin11   RPI_GPIO   Counter: 238   Counter   238   
2014-02-14 11:08:30   gpio_pin11   RPI_GPIO   Toggle: on           Toggle   on


Eigentlich würde mir hier nur eine Zeile reichen:
Zitat
2014-02-14 11:08:30   gpio_pin11   RPI_GPIO   Pinlevel: low   Pinlevel   low   

Es wäre super, wenn mir jemand die Lösung erklären könnte.
Gruß
Blueberry63
Titel: Antw:2 Einträge pro Ereignis in DBLog - GELÖST
Beitrag von: blueberry63 am 14 Februar 2014, 14:01:32
 ;D Hat sich erledigt: Die Lösung ist das Attribut "DbLogExclude". Allerdings muß ich mich jetzt mal mit "RegExp" beschäftigen

Gruß
Blueberry63
Titel: Antw:2 Einträge pro Ereignis in DBLog
Beitrag von: Wuppi68 am 14 Februar 2014, 16:15:19
Plan B:

alle doppelten Einträge aus der DB rauswerden :-)

ungefähr so

lösche alle Datensaätze in Tabelle history und current wo (TIMESTAMP = TIMESTAMP -1)  UND (DEVICE = DEVICE -1) UND (EVENT = EVENT -1) ist

das SQL Statement habe ich bewusst umgangssprachlisch gemacht, da ich die SQL Sünntax nicht im Schädel habe :-)