Hauptmenü

DBLog falsche RegExp?

Begonnen von wowogiengen, 02 Oktober 2024, 10:13:14

Vorheriges Thema - Nächstes Thema

wowogiengen

Hallo,
ich bekomme es nie hin, dass meine RegExp für DbLog auf Anhieb funktioniert...
define mySQLDB DbLog ./mySQLDB.conf HzgThermostat.*:statMeasured-temp.*AvgLast|HzgAktor.*:statLevel.*Last.*|HzgThermostat.*:measured-temp.*
attr mySQLDB .* 1
attr mySQLDB DbLogType Current/History
attr mySQLDB asyncMode 1
attr mySQLDB cacheLimit 1500
attr mySQLDB event-on-change-reading CacheUsage
attr mySQLDB insertMode 1
attr mySQLDB room Büro,DbLog,LogFiles,System
attr mySQLDB showNotifyTime 0
attr mySQLDB showproctime 1
attr mySQLDB stateFormat {\
"Cache: ".ReadingsVal($name,"CacheUsage",0)."<br> NextSync:".ReadingsVal($name,"NextSync",0)\
}
attr mySQLDB syncInterval 240
attr mySQLDB verbose 1
attr mySQLDB webCmd listCache:commitCache
#   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
#   CONFIGURATION ./mySQLDB.conf
#   DEF        ./mySQLDB.conf HzgThermostat.*:statMeasured-temp.*AvgLast|HzgAktor.*:statLevel.*Last.*|HzgThermostat.*:measured-temp.*
#   FD         4
#   FUUID      5ed93474-f33f-a625-5c2b-b4f6628ef5ffc1ff
#   FVERSION   93_DbLog.pm:v5.10.2-s29036/2024-07-21
#   MODE       asynchronous
#   MODEL      MYSQL
#   NAME       mySQLDB
#   NOTIFYDEV  HzgAktor.*,HzgThermostat.*
#   NR         2
#   NTFY_ORDER 50-mySQLDB
#   PID        8964
#   REGEXP     HzgThermostat.*:statMeasured-temp.*AvgLast|HzgAktor.*:statLevel.*Last.*|HzgThermostat.*:measured-temp.*
#   SBP_PID    8965
#   SBP_STATE  running
#   STATE      Cache: 25<br> NextSync:2024-10-02 10:03:23 or when CacheUsage 1500 is reached
#   TYPE       DbLog
#   dbconn     mysql:database=fhem;host=192.168.188.6;port=3307
#   dbuser     fhemdbuser
#   eventCount 8
#   HELPER:
#     COLSET     1
#     DEVICECOL  64
#     EVENTCOL   512
#     OLDSTATE   connected
#     PACKAGE    main
#     READINGCOL 64
#     TC         current
#     TH         history
#     TYPECOL    64
#     UNITCOL    32
#     VALUECOL   128
#     VERSION    5.10.2
#   OLDREADINGS:
#   READINGS:
#     2024-10-02 09:55:23   CacheOverflowLastNum 0
#     2024-03-28 17:00:16   CacheOverflowLastState normal
#     2024-10-02 09:59:55   CacheUsage      25
#     2024-10-02 09:59:23   NextSync        2024-10-02 10:03:23 or when CacheUsage 1500 is reached
#     2024-10-02 09:55:24   background_processing_time 0.1962
#     2024-10-02 09:55:24   sql_processing_time 0.1810
#     2024-10-02 09:59:23   state           connected
#
setstate mySQLDB Cache: 25<br> NextSync:2024-10-02 10:03:23 or when CacheUsage 1500 is reached
setstate mySQLDB 2024-10-02 09:55:23 CacheOverflowLastNum 0
setstate mySQLDB 2024-03-28 17:00:16 CacheOverflowLastState normal
setstate mySQLDB 2024-10-02 09:59:55 CacheUsage 25
setstate mySQLDB 2024-10-02 09:59:23 NextSync 2024-10-02 10:03:23 or when CacheUsage 1500 is reached
setstate mySQLDB 2024-10-02 09:55:24 background_processing_time 0.1962
setstate mySQLDB 2024-10-02 09:55:24 sql_processing_time 0.1810
setstate mySQLDB 2024-10-02 09:59:23 state connected

Und zum Beispiel einer der Thermostate:

define HzgThermostatBuero CUL_HM 3F8344
attr HzgThermostatBuero .mId 00AD
attr HzgThermostatBuero IODev Funkantenne
attr HzgThermostatBuero actCycle 004:00
attr HzgThermostatBuero actStatus alive
attr HzgThermostatBuero alias Thermostat Büro
attr HzgThermostatBuero autoReadReg 5_readMissing
attr HzgThermostatBuero devStateIcon low:10px-kreis-gelb off:10px-kreis-rot ok:10px-kreis-gruen
attr HzgThermostatBuero event-min-interval .*:900
attr HzgThermostatBuero event-on-change-reading .*
attr HzgThermostatBuero event-on-update-reading .*
attr HzgThermostatBuero expert defReg,allReg,rawReg,templ
attr HzgThermostatBuero firmware 1.3
attr HzgThermostatBuero model HM-TC-IT-WM-W-EU
attr HzgThermostatBuero msgRepeat 1
attr HzgThermostatBuero room Büro,Heizung,System
attr HzgThermostatBuero serialNr MEQ1571498
attr HzgThermostatBuero stateFormat battery
attr HzgThermostatBuero subType thermostat
attr HzgThermostatBuero verbose 1
attr HzgThermostatBuero webCmd getConfig:clear msgEvents
#   DEF        3F8344
#   FUUID      5ce84eb9-f33f-a625-c910-4dc5076d284ebed3
#   Funkantenne_MSGCNT 4688
#   Funkantenne_RAWMSG A0CEA84703F834400000000E932::-70.5:Funkantenne
#   Funkantenne_RSSI -70.5
#   Funkantenne_TIME 2024-10-02 10:10:21
#   IODev      Funkantenne
#   LASTInputDev Funkantenne
#   MSGCNT     4688
#   NAME       HzgThermostatBuero
#   NOTIFYDEV  global
#   NR         39
#   NTFY_ORDER 48-HzgThermostatBuero
#   STATE      ok
#   TYPE       CUL_HM
#   channel_01 HzgStatusBuero
#   channel_02 HzgSetBuero
#   channel_03 unused_HzgFensterKontaktBuero
#   channel_06 unused_HzgFernBuero
#   channel_07 HzgVentilBuero.out
#   eventCount 4785
#   lastMsg    No:EA - t:70 s:3F8344 d:000000 00E932
#   protLastRcv 2024-10-02 10:10:21
#   protRcv    4688 last_at:2024-10-02 10:10:21
#   protSnd    4 last_at:2024-10-01 12:38:32
#   protState  CMDs_done
#   rssi_at_Funkantenne cnt:4688 min:-90 max:-58 avg:-66.77 lst:-70.5
#   Helper:
#     DBLOG:
#       measured-temp:
#         mySQLDB:
#           TIME       1727855616.77228
#           VALUE      23.3
#       statMeasured-tempDayAvgLast:
#         mySQLDB:
#           TIME       1727819995.12247
#           VALUE      23.3
#       statMeasured-tempHourAvgLast:
#         mySQLDB:
#           TIME       1727855995.12876
#           VALUE      23.1
#       statMeasured-tempMonthAvgLast:
#         mySQLDB:
#           TIME       1727733595.12541
#           VALUE      24.6
#   READINGS:
#     2024-09-28 10:30:28   Activity        alive
#     2024-09-26 18:24:24   CommandAccepted yes
#     2024-03-28 16:56:16   D-firmware      1.3
#     2024-03-28 16:56:16   D-serialNr      MEQ1571498
#     2024-10-01 12:38:32   IODev           Funkantenne
#     2024-03-31 09:51:09   PairedTo        0xF11034
#     2024-03-31 09:51:09   R-btnLock       off
#     2024-03-31 09:51:09   R-burstRx       on
#     2024-03-31 09:51:09   R-cyclicInfoMsg on
#     2024-03-31 09:51:09   R-cyclicInfoMsgDis 1
#     2024-03-31 09:51:09   R-globalBtnLock off
#     2024-03-31 09:51:09   R-localResDis   off
#     2024-03-31 09:51:09   R-lowBatLimitRT 2.2 V
#     2024-03-31 09:51:09   R-modusBtnLock  off
#     2024-03-31 09:51:09   R-pairCentral   0xF11034
#     2024-03-31 09:51:09   RegL_00.        00:00 01:01 02:01 09:01 0A:F1 0B:10 0C:34 0F:00 11:01 12:16 16:00 18:00 19:00 1A:00
#     2024-09-26 20:41:57   RegL_07.       
#     2024-10-02 09:53:36   battery         ok
#     2024-10-02 09:53:36   batteryLevel    2.4
#     2024-09-26 18:25:25   cfgState        ok
#     2024-10-01 12:38:32   commState       CMDs_done
#     2024-10-02 09:53:36   desired-temp    20.0
#     2024-10-02 09:53:36   measured-temp   23.3
#     2024-09-23 22:35:10   powerOn         2024-09-23 22:35:10
#     2024-09-23 22:35:10   recentStateType info
#     2024-10-02 10:10:21   statMeasured-tempDay Min: 23.1 Avg: 23.3 Max: 23.6
#     2024-10-02 10:10:21   statMeasured-tempDayAvg 23.3
#     2024-10-01 23:59:55   statMeasured-tempDayAvgLast 23.3
#     2024-10-01 23:59:55   statMeasured-tempDayLast Min: 22.6 Avg: 23.3 Max: 23.6
#     2024-10-02 10:10:21   statMeasured-tempHour Min: 23.3 Avg: 23.3 Max: 23.3
#     2024-10-02 10:10:21   statMeasured-tempHourAvg 23.3
#     2024-10-02 09:59:55   statMeasured-tempHourAvgLast 23.1
#     2024-10-02 09:59:55   statMeasured-tempHourLast Min: 23.1 Avg: 23.1 Max: 23.3
#     2024-10-02 10:10:21   statMeasured-tempMonth Min: 22.6 Avg: 23.3 Max: 23.6
#     2024-10-02 10:10:21   statMeasured-tempMonthAvg 23.3
#     2024-09-30 23:59:55   statMeasured-tempMonthAvgLast 24.6
#     2024-09-30 23:59:55   statMeasured-tempMonthLast Min: 21.0 Avg: 24.6 Max: 26.7
#     2024-10-02 10:10:21   statMeasured-tempYear Min: 20.4 Avg: 24.3 Max: 26.9 (since: 2024-03-28_17:10:59 )
#     2024-10-01 12:38:32   state           CMDs_done
#     2024-10-01 12:38:32   time-request    -
#   helper:
#     HM_CMDNR   234
#     PONtest    1
#     _98_statistics myStatDevice
#     lastMsgTm  1727856621.2874
#     mId        00AD
#     peerFriend -
#     peerOpt    -:thermostat
#     regLst     0
#     rxType     6
#     supp_Pair_Rep 0
#     cmds:
#       TmplKey    :no:1727511630.00591
#       TmplTs     1727511630.00591
#       cmdKey     0:1:0::HzgThermostatBuero:00AD:00:
#       cmdLst:
#         assignHmKey noArg
#         clear      [({msgErrors}|msgEvents|rssi|attack|trigger|register|oldRegs|readings|all)]
#         deviceRename -newName-
#         fwUpdate   -filename- [-bootTime-]
#         getConfig  noArg
#         getDevInfo noArg
#         getRegRaw  (List0|List1|List2|List3|List4|List5|List6|List7) [-peerChn-]
#         inhibit    [(on|{off})]
#         raw        -data- [...]
#         regBulk    -list-.-peerChn- -addr1:data1- [-addr2:data2-]...
#         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
#         reset      noArg
#         sysTime    noArg
#         tplDel     -tplDel-
#         tplSet_0   -tplChan-
#         unpair     noArg
#       lst:
#         condition  slider,0,1,255
#         peer       
#         peerOpt   
#         tplChan   
#         tplDel     
#         tplPeer   
#       rtrvLst:
#         cmdList    [({short}|long)]
#         deviceInfo [({short}|long)]
#         list       [({normal}|full)]
#         param      -param-
#         reg        -addr- -list- [-peerChn-]
#         regList    noArg
#         regTable   noArg
#         regVal     -addr- -list- [-peerChn-]
#         saveConfig [-filename-]
#         tplInfo    noArg
#     expert:
#       def        1
#       det        1
#       raw        1
#       tpl        1
#     io:
#       flgs       0
#       newChn     +3F8344,00,00,00
#       nextSend   1727856621.38672
#       rxt        0
#       vccu       
#       p:
#         3F8344
#         00
#         00
#         00
#       prefIO:
#     mRssi:
#       mNo        EA
#       io:
#         Funkantenne:
#           -68.5
#           -68.5
#     peerIDsH:
#     prt:
#       bErr       0
#       sProc      0
#       rspWait:
#     q:
#       qReqConf   
#       qReqStat   
#     role:
#       dev        1
#       prs        1
#     rssi:
#       at_Funkantenne:
#         avg        -66.777090443686
#         cnt        4688
#         lst        -70.5
#         max        -58
#         min        -90
#     shRegW:
#       07         02
#     tmpl:
#
setstate HzgThermostatBuero ok
setstate HzgThermostatBuero 2024-09-28 10:20:30 .associatedWith HzgSetBuero,HzgStatusBuero,HzgThermostatBuero,HzgVentilBuero.out,unused_HzgFensterKontaktBuero,unused_HzgFernBuero,HzgThermostatBuero
setstate HzgThermostatBuero 2024-10-02 10:10:21 .protLastRcv 20241002101021
setstate HzgThermostatBuero 2024-09-28 10:30:28 Activity alive
setstate HzgThermostatBuero 2024-09-26 18:24:24 CommandAccepted yes
setstate HzgThermostatBuero 2024-03-28 16:56:16 D-firmware 1.3
setstate HzgThermostatBuero 2024-03-28 16:56:16 D-serialNr MEQ1571498
setstate HzgThermostatBuero 2024-10-01 12:38:32 IODev Funkantenne
setstate HzgThermostatBuero 2024-03-31 09:51:09 PairedTo 0xF11034
setstate HzgThermostatBuero 2024-03-31 09:51:09 R-btnLock off
setstate HzgThermostatBuero 2024-03-31 09:51:09 R-burstRx on
setstate HzgThermostatBuero 2024-03-31 09:51:09 R-cyclicInfoMsg on
setstate HzgThermostatBuero 2024-03-31 09:51:09 R-cyclicInfoMsgDis 1
setstate HzgThermostatBuero 2024-03-31 09:51:09 R-globalBtnLock off
setstate HzgThermostatBuero 2024-03-31 09:51:09 R-localResDis off
setstate HzgThermostatBuero 2024-03-31 09:51:09 R-lowBatLimitRT 2.2 V
setstate HzgThermostatBuero 2024-03-31 09:51:09 R-modusBtnLock off
setstate HzgThermostatBuero 2024-03-31 09:51:09 R-pairCentral 0xF11034
setstate HzgThermostatBuero 2024-03-31 09:51:09 RegL_00. 00:00 01:01 02:01 09:01 0A:F1 0B:10 0C:34 0F:00 11:01 12:16 16:00 18:00 19:00 1A:00
setstate HzgThermostatBuero 2024-09-26 20:41:57 RegL_07.
setstate HzgThermostatBuero 2024-10-02 09:53:36 battery ok
setstate HzgThermostatBuero 2024-10-02 09:53:36 batteryLevel 2.4
setstate HzgThermostatBuero 2024-09-26 18:25:25 cfgState ok
setstate HzgThermostatBuero 2024-10-01 12:38:32 commState CMDs_done
setstate HzgThermostatBuero 2024-10-02 09:53:36 desired-temp 20.0
setstate HzgThermostatBuero 2024-10-02 09:53:36 measured-temp 23.3
setstate HzgThermostatBuero 2024-09-23 22:35:10 powerOn 2024-09-23 22:35:10
setstate HzgThermostatBuero 2024-09-23 22:35:10 recentStateType info
setstate HzgThermostatBuero 2024-10-02 10:10:21 statMeasured-tempDay Min: 23.1 Avg: 23.3 Max: 23.6
setstate HzgThermostatBuero 2024-10-02 10:10:21 statMeasured-tempDayAvg 23.3
setstate HzgThermostatBuero 2024-10-01 23:59:55 statMeasured-tempDayAvgLast 23.3
setstate HzgThermostatBuero 2024-10-01 23:59:55 statMeasured-tempDayLast Min: 22.6 Avg: 23.3 Max: 23.6
setstate HzgThermostatBuero 2024-10-02 10:10:21 statMeasured-tempHour Min: 23.3 Avg: 23.3 Max: 23.3
setstate HzgThermostatBuero 2024-10-02 10:10:21 statMeasured-tempHourAvg 23.3
setstate HzgThermostatBuero 2024-10-02 09:59:55 statMeasured-tempHourAvgLast 23.1
setstate HzgThermostatBuero 2024-10-02 09:59:55 statMeasured-tempHourLast Min: 23.1 Avg: 23.1 Max: 23.3
setstate HzgThermostatBuero 2024-10-02 10:10:21 statMeasured-tempMonth Min: 22.6 Avg: 23.3 Max: 23.6
setstate HzgThermostatBuero 2024-10-02 10:10:21 statMeasured-tempMonthAvg 23.3
setstate HzgThermostatBuero 2024-09-30 23:59:55 statMeasured-tempMonthAvgLast 24.6
setstate HzgThermostatBuero 2024-09-30 23:59:55 statMeasured-tempMonthLast Min: 21.0 Avg: 24.6 Max: 26.7
setstate HzgThermostatBuero 2024-10-02 10:10:21 statMeasured-tempYear Min: 20.4 Avg: 24.3 Max: 26.9 (since: 2024-03-28_17:10:59 )
setstate HzgThermostatBuero 2024-10-01 12:38:32 state CMDs_done
setstate HzgThermostatBuero 2024-10-01 12:38:32 time-request -


Ich weiß nicht, warum das measured-temp-Reading nicht in der DB landen sollte... die anderen Readings vom mySQLDB DbLog Device werden ja auch geschrieben....

betateilchen

Ersetze mal bitte testweise das

HzgThermostat.*:measured-temp.*
durch

.*measured-temp.*
und beobachte, ob der Wert dann gelogged wird.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

wowogiengen

#2
Hallo Betateilchen,
dann loggt er auch die measured-temp der HzgSet.*-Devices.
Ich hab aber gesehen, dass beim def am Ende der Zeile vorher noch ein \ gestanden hat, das heißt ja, dass die Regexp in der nächsten Zeile weitergegangen wäre...
Das habe ich wie in meinem Post gezeigt bereits korrigiert, aber noch keine Werte in der DB gesehen.
Erst als ich deine Änderung reinmachte, zeigte mir die DB auch die früheren Werte korrekt an.

Ich beobachte das jetzt nochmal ein paar Stunden, und dann schliesse ich das Thema.

Aber trotzdem erstmal danke.