DbLog unrealistische Werte rausfiltern

Begonnen von ronilee, 12 Mai 2021, 17:23:23

Vorheriges Thema - Nächstes Thema

ronilee

Hallo!

Ich nutze bereit länger FHEM, habe dort viele Wettersensoren angeschlossen.
Beim DbLog nutze ich bereits Exclude/Include und auch DbLoggingReduce, funktioniert auch einwandfrei.

Ich habe ab und zu bei den Temperatursensoren unrealistische Werte (100 Grad) (wenn ich mal was Neustarte oder mal Feuchtigkeit dazu kommt)

Kann ich solche Werte filtern, sozusagen das ich die erst gar nicht in meine SQL Datenbank speichern lasse?

z.B. Max 50 Grad alles drüber ignorieren, Min -10 Grad alles darunter ignorieren

Habe dazu noch nichts gefunden.

Herzlichen Dank


DS_Starter

#1
Das haben wir schon öfter diskutiert.
Stichworte / Suchworte wäre valueFn oder $IGNORE.

Du kannst dir im Attribut valueFn eine kleinen Code reinschreiben, etwa so:


{
   if ($DEVICE eq "xxx" && $READING eq "yyyyy" && $VALUE > 50) {
      $IGNORE = 1;
   }
}


Dann wird der betreffende Satz nicht geloggt.
Siehe z.B. hier -> https://forum.fhem.de/index.php/topic,120926.0.html

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter