Ron · @ron
13 followers · 69 posts · Server social.amichan.de

Das Thema -Logging mit ist jetzt auf der Zielgeraden.
Folgende Erkenntnisse (aus diversen Webseiten zusammen gesammelt):

1. Man kommt nicht umhin, in jedes Gerät einmal zu schauen. Dort das Attribut auf .* setzen. Wenn man Punkt 2 befolgt, ist das für neue Geräte dann nicht mehr notwendig.
2. Neue Geräte sollten erst einmal gar nichts loggen. Das Loggen wird explizit für ganz bestimmte Readings dieser Geräte freigeschaltet: define defaultAusschluss notify global:DEFINED.* attr $EVTPART1 DbLogExclude .*
3. Im Datenbankdevice muss das Attribut auf Exclude/Include gesetzt sein.
4. Im Datenbankdevice muss das Attribut auf Current/History gesetzt sein.
5. Es sollte nur gelogged werden, wenn sich das Reading geändert hat (-on-change-reading wird auf .* gesetzt. Hier muss man natürlich aufpassen, zu pauschal darf man das nicht sehen, bei kummulierenden Readings können auch unveränderte Readings notwendig sein.
5. zu loggende Readings definiert man am besten direkt in jedem Gerät. bei einer klassischen Steckdose hab ich z.B. das Attribut auf ENERGY_Current,ENERGY_Power,ENERGY_Today,ENERGY_Voltage,ENERGY_Yesterday gesetzt.

Wenn man das alles berücksichtigt, bleibt die Datenbank überschaubar.

Also: Explizit auswählen, was man loggen will und nur loggen, wenn es Änderungen gibt.
Abschliessend die Datenbank säubern, sprich alle überflüssigen Einträge löschen (über Abfragen, ich hab mir dazu ein paar MS-Access Abfragen definiert). Die current-Datenbank sollte man vielleicht einmal komplett leeren, die füllt sich ja grundsätzlich wieder von selbst.

Nächste Woche kommt der zusätzliche Arbeitsspeicher, mit dem Lala (also mein Server) aufgerüstet wird. Dann werden noch diverse MariaDB-Optimierungen gestzt, um Abfragen und generell das Handling der Datenbank etwas flutschiger zu machen.

Wenn das alles geschafft ist, können die Programmroutinen angepasst werden, die heute noch auf die Geräte direkt zugreifen. Mit der Current-Datenbank ist es ja vergleichsweise leicht, auf die Gerätewerte zuzugreifen. Und dann sinkt hoffentlich der Duty-Cycle wieder. Zur Erinnerung: Das war der ursprüngliche Grund für die ganzen Orgien der letzten Tage.

#datenbank #fhem #dblogexclude #dblogselectionmode #dblogtype #event #tasmota #dbloginclude

Last updated 2 years ago