FHEM Forum

FHEM => Sonstiges => Thema gestartet von: franky08 am 15 April 2016, 08:53:15

Titel: unplausibele Daten ausfiltern, wie?
Beitrag von: franky08 am 15 April 2016, 08:53:15
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
Titel: Antw:unplausibele Daten ausfiltern, wie?
Beitrag von: Hans Franz am 15 April 2016, 10:58:56
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
Titel: Antw:unplausibele Daten ausfiltern, wie?
Beitrag von: CoolTux am 15 April 2016, 11:01:02
Wenn Du httpmod verwendest dann arbeitest Du doch schon mit RegEx. Lasse doch für pressure nur positive Zahlen zu in Deinem RegEx Ausdruck.
Titel: Antw:unplausibele Daten ausfiltern, wie?
Beitrag von: franky08 am 15 April 2016, 11:31:15
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