fehlerhafte Werte ausblenden

Begonnen von Muschelpuster, 26 April 2017, 20:35:54

Vorheriges Thema - Nächstes Thema

Muschelpuster

Moin zusammen,

Aus mir nicht bekannten Gründen liefert mein 1-Wire-Luftfeuchtesensor im Schnitt 1x am Tag einen falschen Wert. Der ist recht leicht zu erkennen, da er größer als 100% ist. Dank logdb ist das Löschen nur ein SQL-Statement, welches ich sicher auch scripten könnte, aber kann ich nicht im Vorfeld schon verhindern, dass der fehlerhafte Wert geloggt wird.

bereinigte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

franky08

Alle Werte die größer 100 sind verwerfen, mittels notify und if ..., dann den sog. "Korrekturwert" mit setreading als neues Reading in das device schreiben.

VG
Frank
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...

rudolfkoenig

#2
Oder etwas kuerzer mit readingsChange:

define rc readingsChange myDevice myReading (.+) { $1 > 100 ? 100 : $1}

DS_Starter

Eine weitere Möglichkeit wäre mit valueFn direkt in DbLog eine Korrektur vorzunehmen oder mit $IGNORE den Daten Satz zu verwerfen.

VG
Heiko
ESXi@NUC+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

Muschelpuster

#4
Ok, erst einmal Danke an Alle.
Zitat von: rudolfkoenig am 26 April 2017, 21:39:58
Oder etwas kuerzer mit readingsChange:
define rc readingsChange myDevice myReading (.+) { $1 > 100 ? 100 : $1}
Sieht toll aus, verstehe ich aber nicht  :'(
Das muss ich am Wochenende nochmal in Ruhe genießen  8)

Zitat von: DS_Starter am 26 April 2017, 22:40:22
Eine weitere Möglichkeit wäre mit valueFn direkt in DbLog eine Korrektur vorzunehmen oder mit $IGNORE den Daten Satz zu verwerfen.
Das bekomme ich wohl hin. Könnte bei mehreren Korrekturen zwar ein langer Lex werden, aber dafür kein zusätzliches Device. Müsste also wohl so aussehen:attr logdb valueFN {if ($DEVICE eq "1Wire_TerraLF" && $READING eq "Luftfeuchte" && $VALUE > 99){$IGNORE=1;}}
Da könnte ich ja auch gleich noch einen Temperaturwert korrigieren, bei dem Value immer noch das °C dran hängt. Also z.B. '23.4 °C'. Das kann ich ja mit '[0-9\.]*' filtern, aber an der fertigen Formulierung hapert es noch.

korrigierte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Muschelpuster

Zitat von: Muschelpuster am 26 April 2017, 23:10:27Da könnte ich ja auch gleich noch einen Temperaturwert korrigieren, bei dem Value immer noch das °C dran hängt. Also z.B. '23.4 °C'. Das kann ich ja mit '[0-9\.]*' filtern, aber an der fertigen Formulierung hapert es noch.
Hat er auch kapiert:{$VALUE =~ s/[^0-9\.]//g;}

lernfähige Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

DS_Starter

Hallo Niels,

na das liest sich doch gut.
Nach meinem Urlaub, der glücklicherweise noch einige Zeit dauert  :D , werde ich noch etwas weiter am DbLog arbeiten. Unter anderem dass man mit valueFn auch Werte auf 0 bzw. " " setzen kann. Das geht momentan nicht falls du bei deinen Versuchen darauf stossen solltest.
Die aktuellen Diskussionen dazu findest du hier :  https://forum.fhem.de/index.php/topic,65860.msg571048.html#msg571048

viele Grüße
ESXi@NUC+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