Hallo zusammen.
Ich bin dabei meine Datensammlung von LOGfile auf DBLog umzustellen.
Definiert habe ich DBLog mit
/opt/fhem/db.conf .*:.*
das hat leider zur Folge das die CPU last von 1-3% auf 40-60% steigt. So wie ich das jetzt verstanden habe (lesen im Forum und Google) logge ich jetzt Tod und Teufel (also quasi alles) und das belastet das System. Ich brauche aber nur einzelne Readings und meine Idee ist das Attr. DBLogExclude überall einzubauen. Da ich sehr viele Devices habe ist das natürlich sehr mühsam und so habe ich nach einer Möglichkeit gesucht alle Devices gleichzeitig mit diesem Attr. auszustatten.
Jetzt nach einigem lesen bin ich aber nicht sicher ob das der goldene Weg ist und deswegen wende ich mich an Euch. Es gibt wie immer so viele Wege nach Rom.... Habt Ihr die eine oder andere Idee wie ich nur die für mich wichtige Readings logge???
Gruß.
Guckst Du hier:
https://haus-automatisierung.com/hardware/fhem/2018/03/12/fhem-tutorial-reihe-part-7-3-mysql-mariadb-server-fuer-logging-nutzen.html (https://haus-automatisierung.com/hardware/fhem/2018/03/12/fhem-tutorial-reihe-part-7-3-mysql-mariadb-server-fuer-logging-nutzen.html)
Gruß
Jürgen k.
Attr * DbLogExclude .*
Sollte es machen.
Und dann gezielt mit DbLogInclude die gewünschten readings loggen.
Gesendet von meinem Doogee S60 mit Tapatalk
./db.conf .*:(temperatur|humidity).*
Schreib einfach das, mit deinen Readings.
Hier werden nur readings mit temperatur und humidity gelogged
schau dir auch mal event-on-***-reading an wenn du das noch nicht im Einsatz hast ... damit schränkst du auch noch ein...
https://wiki.fhem.de/wiki/Event-on-change-reading
Hey Frank, wie kann ich
Attr * DbLogExclude .*
auf alle devices /readings gleichzeitig anwenden?
Zitat von: rhoffm34 am 02 Juni 2018, 01:11:36
Attr * DbLogExclude .*
auf alle devices /readings gleichzeitig anwenden?
falsches Regex
attr .* DbLogExclude .*
müsste es machen.
Backup bevor du auf alle Devices losgehst.
Damit es automatisch beim Anlegen neuer Devices drin ist
defmod ntf_defaultAttributes notify global:DEFINED.* { fhem "attr $EVTPART1 DbLogExclude .*" }
Ich würde es trotzdem sauber aufstetzen und die zu loggenden Readings direkt beim Define es DbLogs angeben wie es in der Commandref und Wiki beschrieben ist. Und nur explizit excluden was du raus haben willst. Was du vorhast ist mMn zu fehleranfällig.
https://wiki.fhem.de/wiki/DbLog#Einschr.C3.A4nkung_.C3.BCber_den_zentralen_define-Eintrag
Danke für die Korrektur! Klar, das muss .* sein.
Gesendet von meinem Doogee S60 mit Tapatalk
Vielen Dank Jungs, passt.