unplausibele Daten ausfiltern, wie?

Begonnen von franky08, 15 April 2016, 08:53:15

Vorheriges Thema - Nächstes Thema

franky08

Hallo, ich logge den Luftdruck mittels HTTPMOD über Wouderground, ab und an kommen da aber vollkommen unsinnige Werte an, siehe Screenshot.
Wie könnte man solche unsinnigen Daten ausfiltern?
Hier ein Log-Auszug mit solch einem Datensatz
2016-04-15_07:37:30 Wetter_Wouderground Pressure: 999.2
2016-04-15_07:42:30 Wetter_Wouderground windDegrees: 195
2016-04-15_07:42:30 Wetter_Wouderground windSpeed: 5.44
2016-04-15_07:42:30 Wetter_Wouderground Pressure: 999.2
2016-04-15_07:47:30 Wetter_Wouderground windDegrees: 231
2016-04-15_07:47:30 Wetter_Wouderground windSpeed: 0
2016-04-15_07:47:30 Wetter_Wouderground Pressure: 999.2
2016-04-15_07:52:30 Wetter_Wouderground windDegrees: 123
2016-04-15_07:52:30 Wetter_Wouderground windSpeed: 5.44
2016-04-15_07:52:30 Wetter_Wouderground Pressure: -338566.1
2016-04-15_07:57:30 Wetter_Wouderground windDegrees: 201
2016-04-15_07:57:30 Wetter_Wouderground windSpeed: 1.76
2016-04-15_07:57:30 Wetter_Wouderground Pressure: -338566.1
2016-04-15_08:02:30 Wetter_Wouderground windDegrees: 172
2016-04-15_08:02:30 Wetter_Wouderground windSpeed: 5.76
2016-04-15_08:02:30 Wetter_Wouderground Pressure: -338566.1
2016-04-15_08:07:30 Wetter_Wouderground windDegrees: 198
2016-04-15_08:07:30 Wetter_Wouderground windSpeed: 0
2016-04-15_08:07:30 Wetter_Wouderground Pressure: 993.8
2016-04-15_08:12:30 Wetter_Wouderground windDegrees: 209
2016-04-15_08:12:30 Wetter_Wouderground windSpeed: 0.64
2016-04-15_08:12:30 Wetter_Wouderground Pressure: 993.8
2016-04-15_08:17:30 Wetter_Wouderground windDegrees: 184
2016-04-15_08:17:30 Wetter_Wouderground windSpeed: 0
2016-04-15_08:17:30 Wetter_Wouderground Pressure: -338566.1


normal wäre Pressure von ca. 993.8, dann plötzlich ein Sprung in´s negative was natürlich jeden Plot "versaut".
Hat jemand eine Idee wie da Abhilfe geschaffen werden könnte?

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Hans Franz

Zwei spontane Ideen hätte ich.

Zum einen die Log-Datei regelmäßig zu bereinigen (perl,awk oder so), zum anderen:
userreading auf Pressure, wenn Wert nicht negativ userreading anlegen und dieses loggen.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

CoolTux

Wenn Du httpmod verwendest dann arbeitest Du doch schon mit RegEx. Lasse doch für pressure nur positive Zahlen zu in Deinem RegEx Ausdruck.
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

franky08

Hab mir einen kleinen "Filter" über eine Bedingung gebaut und logge für einige Zeit mal beide Werte (den mit Korrektur und den originalen) um zu sehen was für einen Wertebereich umfasst wird.

sub Filter1
{
my $daten = ReadingsVal("Wetter_Wouderground","Pressure",0);

if ( $daten > 600 && $daten < 1300 ) {
fhem "setreading Wetter_Wouderground Pressure_korrektur $daten";
} else {
fhem "setreading Wetter_Wouderground Pressure_ist $daten";
}
}


VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1