Wenn ich das richtig verstanden habe werden Events standardmäßig immer bei Änderung oder Aktualisierung mit dem gleichen Wert erzeugt. Dieses Verhalten ließe sich mit event-on-change-reading, event-on-update-reading und event-min-interval verändern um weniger Events zu bekommen.
Protokolliert wird jeder Event standardmäßig im Logfile des Devices oder im DbLog.
Aktuell läuft mein DbLog etwas voll, von daher folgende Überlegung:
- ich verzichte auf alle event-on-... Attribute um alle Events zu erzeugen
- im DbLog nicht benötigte Devices gebe ich im DbLog über excludeDevs an
- im DbLog nicht benötigte Readings gebe ich beim Device mit DbLogExclude an
- um nicht mit Daten überschwemmt zu werden gebe ich für benögte Readings im Device bei DbLogExclude ein MinInterval für das Reading mit
Jetzt sollten nur noch Events von gewünschten Devices/Readings im DbLog landen - identische Einträge auch erst wieder nach Ablauf von MinInterval Sekunden (wenn angegeben).
Liege ich mit dieser Annahme richtig oder habe ich etwas übersehen ?
p.s.: kann ich bei DbLogExclude z.B. folgendes angeben
attr <device> DbLogExclude (temperature|humidity):3600,battery:84000,.*
um nur die Readings temperature, humidity und battery bei Änderung immer (bei Aktualisierung maximal 1x pro Stunde bzw. Tag) in die DbLog zu schreiben und alle anderen Readings nicht oder sollte ich dann lieber generell DbLogInclude in Verbindung mit DbLogSelectionMode Include verwenden ? Ich weiß leider nicht, ob die Angaben bei DbLogExclude sequentiell abgearbeitet werden bzw. wie sich das .* auswirkt ...
Events benötigst du auch für andere Dinge als Logging. Das ist sogar in der Automation in der Regel Nebensache. event-on-. * wird nicht überflüssig, wenn du Logging einschränkst. Zumindest nicht pauschal.
Ich möchte ja die Events nicht einschränken - warum auch, sollen alle kommen - sondern nur das Logging. Also brauche ich doch auch keine event-on-.* angaben - oder ?
ZitatProtokolliert wird jeder Event standardmäßig im Logfile des Devices oder im DbLog.
Nein, Du legst fest ob es ein Logfile gibt und was da rein kommt. Ich lösche meist die automatisch angelegten Logfiles.
Lieber definiere ich mir selbst die Logfiles und entscheide welches Gerät was (Event) dort rein schreibt.
Das gilt genauso für DBLog.
Deine Aussage ohne das define des Logfiles oder von DBLog ist somit falsch.
Übrigens steht das alles in der Doku und findet man hier mit der Suchfunktion.
Zitat von: rabehd am 31 Oktober 2019, 15:17:15
Nein, Du legst fest ob es ein Logfile gibt und was da rein kommt. Ich lösche meist die automatisch angelegten Logfiles.
Lieber definiere ich mir selbst die Logfiles und entscheide welches Gerät was (Event) dort rein schreibt.
Das gilt genauso für DBLog.
Deine Aussage ohne das define des Logfiles oder von DBLog ist somit falsch.
Übrigens steht das alles in der Doku und findet man hier mit der Suchfunktion.
Die automatisch angelegten Logfiles hab' ich auch gelöscht und ein DbLog angelegt wo jetzt auch alles reinläuft. Meine Frage war doch eigentlich ganz einfach (und aus der Dokumentation wurde ich nicht 100% schlau, deshalb hier die Frage):
Aussage 1)
event-on-update-reading/event-on-change-reading schränkt die
Events selbst ein (die will ich
alle haben)
Aussage 2)
excludeDevs, DbLogExclude schränkt die
Protokollierung ein (da will ich
nur bestimmte haben)
Frage: Muss ich IRGENDEIN event-on-.* definieren oder brauche ich die in meinem Fall nicht ?
Bonusfrage: ist die Definition
attr <device> DbLogExclude (temperature|humidity):3600,battery:84000,.* korrekt ? Über diese Kombination (mit .* - also alle anderen Readings - am Ende) steht leider nix in der Doku
Ich vermute aber mal, dass ich beim DbLog
attr DbLog DbLogSelectionMode Exclude/Include
und beim Device
attr <device> DbLogExclude .*
attr <device> DbLogInclude (temperature|humidity):3600,battery:84000
angeben muss um alle Readings außer den gewünschten zu exkludieren.
Zitat von: rabehd am 31 Oktober 2019, 15:17:15
Deine Aussage ohne das define des Logfiles oder von DBLog ist somit falsch.
Wo hab' ich irgendwas davon geschrieben, dass ich kein define der Logfiles bzw. von DbLog mache ???
Zitatdass ich kein define der Logfiles bzw. von DbLog mache
Also für Dich. Deine Aussage kann ich nicht nachvollziehen, da Du das define hier nicht reinstellst.
ZitatAussage 1) event-on-update-reading/event-on-change-reading schränkt die Events selbst ein (die will ich alle haben)
Wofür brauchst Du
alle?
In der Definition der DBlog oder dem Logfile kannst Du doch festlegen welche Readings geloggt werden.
Wo ist das Problem? Was sit an der Doku unklar?
Helfen würde natüröich dein Define.