...
This commit is contained in:
@@ -312,6 +312,32 @@ sub checkSkip($)
|
|||||||
return($skipRunter, $skipHoch);
|
return($skipRunter, $skipHoch);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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()
|
sub RollCheck()
|
||||||
|
|||||||
Reference in New Issue
Block a user