Messwerte glätten mit OldReadingsVal - Problem mit userReadings

Begonnen von cpramhofer, 13 Mai 2018, 15:50:41

Vorheriges Thema - Nächstes Thema

cpramhofer

Liebe Community,

ich habe folgendes Problem:
Ich messe in einer Zisterne alle 10min den Wasserstand mittels Ultraschall, das funktioniert prinzipiell sehr gut, hin und wieder kommt es aber zu Messfehlern (ich denke wenn es grosse Umgebungsgeräusche gibt).
Diese Messfehler möchte ich filtern.
Dazu habe ich ein userReading angelegt dass im Fall dass der Absolutwert der Differenz aus OldReadingsVal und ReadingsVal um mehr als X abweicht der OldReadingsVal zurückgegeben wird.
Leider scheint die Funktion "OldReadingsVal" bei mir nicht zu funktionieren, die Funktion scheint nicht sehr bekannt zu sein weshalb ich auch im Forum nicht viel dazu finde.
Kann mir vielleicht jemand helfen?



fuellhoehe_clean {if (abs(ReadingsNum($name,"fuellhoehe",0) - OldReadingsNum($name,"fuellhoehe",0))>100) {return OldReadingsNum($name,"fuellhoehe",0);} else {return ReadingsNum($name,"fuellhoehe",0);}}, fuellhoehe_prev { return OldReadingsNum($name,"fuellhoehe",0); }

CoolTux

Du musst das Attribut dafür setzen.
oldReadings und dann das Reading welches OkdReadingsVal unterstützen soll.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

cpramhofer