Hauptmenü

DBLog, falsche RegExp?

Begonnen von wowogiengen, 09 Oktober 2020, 10:54:48

Vorheriges Thema - Nächstes Thema

wowogiengen

Hallo,
ich habe mein DBLog wie hier https://forum.fhem.de/index.php?topic=114815.msg1090321#msg1090321 beschrieben wie folgt definiert:

defmod mySQLDB DbLog ./mySQLDB.conf Rolladen.*:pct|HzgThermostat.*:batteryLevel|HzgThermostat.*:desired-temp|HzgThermostat.*:measured-temp|HzgStatus.*:humidity|HzgAktor.*:level|HzgAktor.*:pct|HzgAktor.*:state|HzgHC.*:*.perDay\

attr mySQLDB .* 1
attr mySQLDB DbLogType Current/History
attr mySQLDB asyncMode 1
attr mySQLDB bulkInsert 1
attr mySQLDB cacheLimit 500
attr mySQLDB event-on-change-reading CacheUsage
attr mySQLDB room DbLog,LogFiles,System
attr mySQLDB showNotifyTime 0
attr mySQLDB showproctime 1
attr mySQLDB syncInterval 120
attr mySQLDB verbose 1

setstate mySQLDB connected
setstate mySQLDB 2020-10-09 10:52:02 CacheUsage 0
setstate mySQLDB 2020-10-09 10:52:02 NextSync 2020-10-09 10:54:02 or if CacheUsage 500 reached
setstate mySQLDB 2020-10-09 10:52:02 background_processing_time 0.2521
setstate mySQLDB 2020-09-26 18:08:54 countCurrent 289
setstate mySQLDB 2020-09-26 18:08:54 countHistory 1358710
setstate mySQLDB 2020-06-15 18:58:48 lastCachefile ./log/cache_mySQLDB_2020-06-15_18-05-08 import successful
setstate mySQLDB 2020-10-09 10:52:02 sql_processing_time 0.1911
setstate mySQLDB 2020-10-09 10:52:02 state connected



Offensichtlich werden jetzt aber die von mir gewünschten Werte der HourCounter-Devices nicht mehr in die DB geschrieben (im File-Log sehe ich sie jedoch):

2020-10-09_10:22:02 HzgHC_Buero pulseTimePerDay: 5100

Wo ist da mein Fehler? Liegt es an dem \ in der ersten Zeile?


Viele Grüße

Wolfgang

wowogiengen

Hallo,
irgendwie scheint die Frage untergegangen zu sein...
Möchte sie hiermit nochmal nach oben holen.
ich verzweifel an den Einträgen für die Datenbank...
was mache ich falsch

amenomade

HzgHC.*:*.perDay
vs
HzgHC.*:.*PerDay

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

wowogiengen

ähm,
ja...
das mit dem Großbuchstaben leuchtet mir ein, hatte es dann auch so geschrieben...
|HzgHC.*:*.PerDay

das mit .* und *. verstehe ich nicht...
bei HzgHC.* möchte ich ja, dass alle Devices, die mit HzgHC anfangen gematcht werden.

Bei :*.PerDay möchte ich, dass das Reading mit PerDay aufhört...
Und du sagst jetzt, dass es

|HzgHC.*:.*PerDay
heißen müsste?

Viele Grüße und Danke schon mal...

amenomade

#4
Regex Syntax:

"." steht für beliebige Zeichen
"*" definiert die Anzahl von den (hier mit Stern = beliebig)

Die Anzahl muss immer nach dem entspr "Matcher" kommen

:*.PerDay heisst: beliebige Anzahl von Doppelpunkten, dann ein einziges Zeichen, dann "PerDay"

Zitat von: wowogiengen am 11 Oktober 2020, 15:34:40

Und du sagst jetzt, dass es

|HzgHC.*:.*PerDay
heißen müsste?

Ja, so ist es
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

wowogiengen

Danke,
dann hab ich wieder was dazu gelernt, bzw. meine Verwechslung hat sich aufgeklärt...
ich war bei .* irgendwie mit LUA, da ist der Punkt glaub das Concat von zwei Zeichenketten... deswegen...
also immer .* wenn ich beliebige Zeichen haben möchte...

Viele Grüße
Wolfgang