FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Jewe am 27 Mai 2018, 21:45:10

Titel: DbLog RegEx funktioniert nicht ?
Beitrag von: Jewe am 27 Mai 2018, 21:45:10
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] }
Titel: Antw:DbLog RegEx funktioniert nicht ?
Beitrag von: amenomade am 28 Mai 2018, 00:55:57
Bestimmt sind die Events in der Log nicht
Gartenwasser_Monatsverbrauch:Liter   
Gartenwasser_Tagesverbrauch:Liter   
Gartenwasser_Wochenverbrauch:Liter


Da fehlt mind .* am Ende
Titel: Antw:DbLog RegEx funktioniert nicht ?
Beitrag von: Jewe am 28 Mai 2018, 23:59:18
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
Titel: Antw:DbLog RegEx funktioniert nicht ?
Beitrag von: amenomade am 29 Mai 2018, 12:47:28
Sorry, meinte nicht die Log, sondern den Eventmonitor
Aber ja, gundsätzlich sollte Gartenwasser.* gehen. Zeig man dann deine geänderte Definition
Titel: Antw:DbLog RegEx funktioniert nicht ?
Beitrag von: Jewe am 29 Mai 2018, 21:37:55
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

Titel: Antw:DbLog RegEx funktioniert nicht ?
Beitrag von: Jewe am 30 Mai 2018, 22:09:14
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

Titel: Antw:DbLog RegEx funktioniert nicht ?
Beitrag von: amenomade am 30 Mai 2018, 23:35:38
OK dann sollte Gartenwasser.* gehen... so lange Du in jedem Device
attr <device> DbLogExclude .*NICHT hast.