Hallo,
irgendwie komme ich mit dem WIKI-Einträgen, was und wie man das dbLog einschränkt und wo was welches global und was im Device gemacht werden muss nicht klar.
Problem:
Ich möchte über dbLog meine Daten loggen. Dazu muss ich zuerst ein dbLog-Device anlegen, klar.
Ich möchte das aber so, dass das dbLog-Device erst mal gar nichts loggt.
Was dann jeweils geloggt werden soll möchte ich dann im jeweiligen anderen Device einstellen.
Kann mir mal jemand die entsprechenden Zeilen posten, wie ich das machen kann? Bzw. einen Auszug aus seiner fhem.cgf?
Danke an alle!
Stichworte: dblogSelectionMode Include (im dblog) und dann im Device DBlogInclude setzen
Zitat von: KernSani am 17 März 2017, 18:21:33
Stichworte: dblogSelectionMode Include (im dblog) und dann im Device DBlogInclude setzen
und wie sieht dann eine Beispieldefiniton eines dbLog-Devices in der fhem.cfg aus?
Ich dachte eigentlich die Stichworte, Commandref, Wiki und ein bisschen probieren wären ausreichend, aber gut...
defmod fhemDbLog DbLog /opt/fhem/db.conf .*:.*
attr fhemDbLog DbLogSelectionMode Include
attr fhemDbLog DbLogType Current/History
attr fhemDbLog room IODevices
Bitte nicht in fhem.cfg eintragen, sondern über DEF bzw... Kommandofeld
Erst mal vielen vielen Dank.
Ich bin im WIKI immer wieder über den Eintrag
defmod fhemDbLog DbLog /opt/fhem/db.conf .*:.*
gestolpert und dachte, dass mit der Definition per se erst mal alles geloggt wird.....
Oder wo ist mein Denkfehler?
Hängt vom selectionMode ab ;-) Bei "Include" wird mit dieser Def erst mall alles nicht geloggt... (ich gebe zu, die Logik ist vielleicht nicht unbedingt intuitiv)
Aha.
Also von der Logik her:
mit
defmod fhemDbLog DbLog /opt/fhem/db.conf .*:.*
lege ich das so an, dass erst mal alles geloggt wird. Das bleibt auch so, es sei denn ich schränke es über die Attribute ein.
Jetzt hab' ich es auch kapiert :-)
Danke nochmal und schönen Abend!
Mit
attr fhemDbLog DbLogSelectionMode Include
Sagst du dem dblog, dass es nur loggen soll, was explizit included wird.
Im Device dann z. B.
DbLogInclude .*(humidity|temperature).*
man muss gar nicht mit den vielen Attributen rumkaspern...
define fhemDbLog DbLog ./FHEM/logDB.cfg (.*Diesel.*|.*lumi.*|GW1_.*|.*measured.*|.*desired.*|.*actuator.*|.*valve.*|.*temperature.*|.*humidity.*|.*pressure.*|RM_.*|out_Regen.*|gds.*|gtag.*)
Das hat den Vorteil, dass ich mich nur an einer einzigen Stelle darum kümmern muss, WAS genau geloggt werden soll.
Zitat von: betateilchen am 17 März 2017, 19:43:26
man muss gar nicht mit den vielen Attributen rumkaspern...
define fhemDbLog DbLog ./FHEM/logDB.cfg (.*Diesel.*|.*lumi.*|GW1_.*|.*measured.*|.*desired.*|.*actuator.*|.*valve.*|.*temperature.*|.*humidity.*|.*pressure.*|RM_.*|out_Regen.*|gds.*|gtag.*)
Das hat den Vorteil, dass ich mich nur an einer einzigen Stelle darum kümmern muss, WAS genau geloggt werden soll.
Das ist natürlich richtig, aber wahrscheinlich Geschmackssache... Ich logge z.B. die temperature meiner Bodenfeuchtesensoren nicht und die müsste ich dann wieder im Device direkt excluden (oder gäbe es einen anderen Weg? Wenn ja fürchte ich, er würde meine RegEx-Künste übersteigen ;-))