DbLog RegEx funktioniert nicht ?

Begonnen von Jewe, 27 Mai 2018, 21:45:10

Vorheriges Thema - Nächstes Thema

Jewe

Hallole,

ich habe meinen RegEx für eine DbLog erweitert, aber es funktioniert nicht.

Diese 3 habe ich erweitert :
Gartenwasser_Monatsverbrauch:Liter    
Gartenwasser_Tagesverbrauch:Liter    
Gartenwasser_Wochenverbrauch:Liter

Leider wird nichts in die Datenbank geschrieben.

REGEXP     (.*:(app\w*(Utilization|PerHour|PerDay|PerWeek|PerMonth|PerYear|Tanklevel)(?!Temp).*)|.*:(eState|energy|energyCalc|energyOffset|frequency|kWh|power|statKWh|statKWhLast|statKWhDay|statKWhHour|statKWhMonth|statKWhYear|statKWhDayLast|statKWhHourLast|statKWhMonthLast|statKWhYearLast).*|Pelletofen_Anforderung:state|Gartenwasser_Tagesverbrauch:Liter|Gartenwasser_Wochenverbrauch:Liter|Gartenwasser_Monatsverbrauch:Liter)

List Gartenwasser_Tagesverbrauch:Liter
Internals:
   NAME       Gartenwasser_Tagesverbrauch
   NR         537
   STATE      44.06 Liter
   TYPE       dummy
   READINGS:
     2018-05-27 08:00:19   Liter           44.06 Liter
     2018-05-27 08:00:19   state           44.063
Attributes:
   DbLogExclude .*
   room       1_8_Garten
   stateFormat Liter
   userReadings Liter { sprintf("%.2f Liter", ReadingsVal("Gartenwasser_Tagesverbrauch","state",0)); }


List DbLog:
Internals:
   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
   CONFIGURATION /opt/fhem/dbimportant.conf
   DEF        /opt/fhem/dbimportant.conf (.*:(app\w*(Utilization|PerHour|PerDay|PerWeek|PerMonth|PerYear|Tanklevel)(?!Temp).*)|.*:(eState|energy|energyCalc|energyOffset|frequency|kWh|power|statKWh|statKWhLast|statKWhDay|statKWhHour|statKWhMonth|statKWhYear|statKWhDayLast|statKWhHourLast|statKWhMonthLast|statKWhYearLast).*|Pelletofen_Anforderung:state|Gartenwasser_Tagesverbrauch:Liter|Gartenwasser_Wochenverbrauch:Liter|Gartenwasser_Monatsverbrauch:Liter)
   MODE       asynchronous
   MODEL      SQLITE
   NAME       impDbLog
   NR         455
   NTFY_ORDER 50-impDbLog
   PID        19488
   C
   STATE      connected
   TYPE       DbLog
   VERSION    3.10.8
   dbconn     SQLite:dbname=/opt/fhem/important.db
   dbuser     
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     OLDSTATE   connected
     READINGCOL 64
     TYPECOL    64
     UNITCOL    32
     VALUECOL   128
   READINGS:
     2018-05-27 21:10:06   CacheUsage      0
     2018-05-27 21:10:06   NextSync        2018-05-27 21:10:36 or if CacheUsage 500 reached
     2018-04-10 00:06:17   countHistory    2688746
     2018-05-27 21:10:06   state           connected
   cache:
     index      9462
Attributes:
   DbLogSelectionMode Exclude
   asyncMode  1
   room       DbLog
   userReadings DbFileSize:reduceLogState.* { (split(' ',`du -m important.db`))[0] }

amenomade

Bestimmt sind die Events in der Log nicht
Gartenwasser_Monatsverbrauch:Liter   
Gartenwasser_Tagesverbrauch:Liter   
Gartenwasser_Wochenverbrauch:Liter


Da fehlt mind .* am Ende
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Jewe

#2
Hab mir das Log angeschaut :
2018.05.28 23:30:21 4: dummy set Gartenwasser_Tagesverbrauch 78.101
bzw.
2018.05.29 00:08:22 5: Triggering n_Gartenwasser_UpdateTagesverbrauch
2018.05.29 00:08:22 4: n_Gartenwasser_UpdateTagesverbrauch exec {
my $x = ReadingsVal("Gartenwasser_Durchfluss", "Liter_Temp", "");;
my $y = ReadingsVal("Gartenwasser_Tagesverbrauch", "state", "");;
my $z = $x+$y;;
fhem("set Gartenwasser_Tagesverbrauch $z");;
}
2018.05.29 00:08:22 4: dummy set Gartenwasser_Tagesverbrauch 6.26419999999996


Dann müsste ich doch mit dem RegEx :  Gartenwasser.*  alles bekommen ?
geht aber nicht ?

Jens

amenomade

Sorry, meinte nicht die Log, sondern den Eventmonitor
Aber ja, gundsätzlich sollte Gartenwasser.* gehen. Zeig man dann deine geänderte Definition
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Jewe

Das Projekt muss nun ein paar Tage warten, bis ich wieder aus d Urlaub zurück bin.
Danke schonmal.

Gesendet von meinem F5121 mit Tapatalk


Jewe

Jetzt habe ich im Event Monitor den Einträge gesehen :
2018-05-30 22:04:40 dummy Gartenwasser_Tagesverbrauch 11.5283
2018-05-30 22:04:40 dummy Gartenwasser_Tagesverbrauch Liter: 11.53 Liter
2018-05-30 22:04:40 OWCOUNT Gartenwasser_Durchfluss Gartenwasser: 650.0205
2018-05-30 22:04:40 OWCOUNT Gartenwasser_Durchfluss Gartenwasser_rate: 166.728
2018-05-30 22:04:40 OWCOUNT Gartenwasser_Durchfluss Wasser: 650.020  Liter Wasser_Rate: 166.728  Liter/h B:  0.00  cts B_r:  0.00  cts/h
2018-05-30 22:04:40 OWCOUNT Gartenwasser_Durchfluss Liter_Temp: 2.77879999999993
2018-05-30 22:04:40 OWCOUNT Gartenwasser_Durchfluss Liter_Gesamt: 650.0205



Gesendet von meinem F5121 mit Tapatalk


amenomade

OK dann sollte Gartenwasser.* gehen... so lange Du in jedem Device
attr <device> DbLogExclude .*NICHT hast.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus