FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Guybrush am 22 April 2023, 12:31:41

Titel: dblog/dbloginclude/exclude
Beitrag von: Guybrush am 22 April 2023, 12:31:41
Ich steh gerade auf dem Schlauch und hoffe, dass mir jemand sagen kann wieso :D

Ich möchte nur bestimmte Werte mit dblog speichern, allerdings werden alle Werte gespeichert.

Dblog Device:
defmod DB DbLog ./db.conf .*
attr DB DbLogExclude .*
attr DB DbLogSelectionMode Exclude/Include
attr DB colEvent 0
attr DB verbose 5

Mein Verständnis ist, dass durch DbLogExclude .* grundsätzlich erstmal nichts mehr gespeichert wird, auch wenn die regexp im defmod mit .* versehen ist. Durch DbLogSelectionMode Exclude/Include soll dann nur noch das gespeichert werden, was in einem Device per DbLogInclude definiert ist. Das funktioniert allerdings nicht.

Beispielsweise hier:

2023.04.22 11:18:04 4: DbLog DB -> ################################################################
2023.04.22 11:18:04 4: DbLog DB -> ###         New database processing cycle - synchronous      ###
2023.04.22 11:18:04 4: DbLog DB -> ################################################################
2023.04.22 11:18:04 4: DbLog DB -> DbLogType is: History
2023.04.22 11:18:04 4: DbLog DB -> AutoCommit mode: ON, Transaction mode: ON
2023.04.22 11:18:04 4: DbLog DB -> Insert mode: Array
2023.04.22 11:18:04 4: DbLog DB -> Primary Key used in history: none
2023.04.22 11:18:04 4: DbLog DB -> Primary Key used in current: none
2023.04.22 11:18:04 4: DbLog DB -> processing event Timestamp: 2023-04-22 11:18:04, Device: SolarLog.Pdc, Type: MODBUSREGISTER, Event: , Reading: state, Value: 5703, Unit:
2023.04.22 11:18:04 4: DbLog DB -> processing event Timestamp: 2023-04-22 11:18:04, Device: SolarLog.Pdc, Type: MODBUSREGISTER, Event: , Reading: RAW, Value: 1647, Unit:
2023.04.22 11:18:04 4: DbLog DB -> 2 of 2 events inserted into table history
2023.04.22 11:18:04 4: DbLog DB -> insert table history committed by autocommit

Im Device SolarLog.Pdc ist "DbLogInclude state" gesetzt. Meine Erwartung wäre jetzt gewesen, dass nur das Reading state gespeichert wird, weil ja im DbLog Device DbLogExclude .* gesetzt ist. Gespeichert werden aber sowohl das reading state als auch RAW. Muss man etwa bei jedem Device selbst das DbLogExclude .* setzen, damit das funktioniert? Hätte gedacht, dass das vererbt wird, wenn es in einem Device nicht ausdrücklich gesetzt ist
Titel: Aw: dblog/dbloginclude/exclude
Beitrag von: RalfRog am 22 April 2023, 21:20:50
Ich habe bei mir nur den "DbLogSelectionMode" LogDevice gesetzt und dann "DbLogExclude" und "DbLogInclude" in den Devices in denen geloggt werden soll.

Der "DbLogSelectionMode" gehört ja zu den ModulAttributen und die "DbLogEx(In)clude" zu den "global Userattributen" und würde doch nur das Logging vom DBlog-Device selber betreffen.