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] }
Bestimmt sind die Events in der Log nicht
Gartenwasser_Monatsverbrauch:Liter
Gartenwasser_Tagesverbrauch:Liter
Gartenwasser_Wochenverbrauch:Liter
Da fehlt mind .* am Ende
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
Sorry, meinte nicht die Log, sondern den Eventmonitor
Aber ja, gundsätzlich sollte Gartenwasser.* gehen. Zeig man dann deine geänderte Definition
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
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
OK dann sollte Gartenwasser.* gehen... so lange Du in jedem Device
attr <device> DbLogExclude .*
NICHT hast.