From d86afd59181bea4588f0b61ab39f0cc1e7930e00 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 28 Nov 2017 10:43:51 +0000 Subject: [PATCH] 14_CUL_WS: pressure check by HomeAuto_User (Forum #80216) git-svn-id: https://svn.fhem.de/fhem/trunk@15513 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/14_CUL_WS.pm | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/fhem/FHEM/14_CUL_WS.pm b/fhem/FHEM/14_CUL_WS.pm index fea41dbd3..dd0f32033 100644 --- a/fhem/FHEM/14_CUL_WS.pm +++ b/fhem/FHEM/14_CUL_WS.pm @@ -291,23 +291,32 @@ CUL_WS_Parse($$) Log3 $name, 4, "CUL_WS $devtype $name: $val"; # Sanity checks - if($NotifyTemperature && - $hash->{READINGS}{temperature} && - $hash->{READINGS}{temperature}{VAL}) { - my $tval = $hash->{READINGS}{strangetemp} ? - $hash->{READINGS}{strangetemp}{VAL} : - $hash->{READINGS}{temperature}{VAL}; + if($NotifyTemperature && ReadingsVal($name, "temperature", undef)) { + my $tval = ReadingsVal($name, "strangetemp", + ReadingsVal($name, "temperature", undef)); my $diff = ($NotifyTemperature - $tval)+0; if($diff < -15.0 || $diff > 15.0) { Log3 $name, 2, "$name: Temp difference ($diff) too large: $val, skipping it"; - $hash->{READINGS}{strangetemp}{VAL} = $NotifyTemperature; - $hash->{READINGS}{strangetemp}{TIME} = TimeNow(); + readingsSingleUpdate($name, "strangetemp", $NotifyTemperature, 0); return ""; } } delete $hash->{READINGS}{strangetemp} if($hash->{READINGS}); + if($NotifyPressure && ReadingsVal($name, "pressure", undef)) { + my $tval = ReadingsVal($name, "strangepress", + ReadingsVal($name, "pressure", undef)); + my $diff = ($NotifyPressure - $tval)+0; + if($diff < -10.0 || $diff > 10.0) { + Log3 $name, 2, + "$name: Pressure difference ($diff) too large: $val, skipping it"; + readingsSingleUpdate($name, "strangepress", $NotifyPressure, 0); + return ""; + } + } + delete $hash->{READINGS}{strangepress} if($hash->{READINGS}); + if(defined($hum) && ($hum < 0 || $hum > 100)) { Log3 $name, 1, "BOGUS: $name reading: $val, skipping it"; return "";