From 4210a4dc7bdb99b7c584982ffbdfdd0775b89d8b Mon Sep 17 00:00:00 2001 From: root Date: Fri, 31 Jul 2020 11:50:15 +0200 Subject: [PATCH] ... --- fhem/FHEM/99_MyUtils.pm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/fhem/FHEM/99_MyUtils.pm b/fhem/FHEM/99_MyUtils.pm index 4b0d18674..8a4cb8368 100644 --- a/fhem/FHEM/99_MyUtils.pm +++ b/fhem/FHEM/99_MyUtils.pm @@ -1,4 +1,6 @@ + package main; + use strict; use warnings; use POSIX; @@ -312,12 +314,39 @@ sub checkSkip($) return($skipRunter, $skipHoch); } +sub getTempOutRepaired() +{ + state @temps = (0,0,0,0,0); + state $i = 0; + + my $cnt=scalar@ temps; + my $temp = ReadingsVal("myWH1080", "Temp-outside", 99); + my $n = 0; + my $result=$temp; + # Anzahl der zu grossen Abweichungen ermitteln + foreach my $t (@temps) { + if(abs($t-$temp)>5) { + $n+=1; + } + } + # zuviele Abweichungen->Ausreißer->letzten Wert ausgeben (besser Mittelwert ?) + if($n >= 2) { + $result=@temps[$i]; + } + # aktuellen Wert merken + $i=($i+1) % $cnt; + @temps[$i]=$temp; + + return($result); +} + #------------------------------------------ sub RollCheck() { state $tagalt=0; state $wachalt=0; + my $r; my $ndelay = 0; my $tempOut= ReadingsVal("myWH1080", "Temp-outside", 99);