mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
19_Revolt: disable risky plausability check for energy outliers (Forum #71840)
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@17443 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
7e7edbd4d7
commit
b7c4fc2e44
@ -101,22 +101,28 @@ sub Revolt_Parse($$)
|
|||||||
$energy -= AttrVal($name, "EnergyAdjustValue", 0);
|
$energy -= AttrVal($name, "EnergyAdjustValue", 0);
|
||||||
|
|
||||||
my $isInvalid = 0;
|
my $isInvalid = 0;
|
||||||
my $energydiff = 0;
|
#my $energydiff = 0;
|
||||||
my $maxenergy = 0;
|
#my $maxenergy = 0;
|
||||||
|
|
||||||
if (defined($def->{READINGS}{"energy"})) {
|
#TODO: This plausability check will stop accepting values forever after
|
||||||
my $timediff = gettimeofday() - str2time($def->{READINGS}{"energy"}{TIME});
|
#receiving a very small outlier once. We could use abs(...), but what about
|
||||||
$energydiff = $energy - $def->{READINGS}{"energy"}{VAL};
|
#changing energyadjustvalue etc.? Do we really need this at all?
|
||||||
$maxenergy = 3.65 * ($timediff / 3600.0);
|
#
|
||||||
}
|
#if (defined($def->{READINGS}{"energy"})) {
|
||||||
|
# my $timediff = gettimeofday() - str2time($def->{READINGS}{"energy"}{TIME});
|
||||||
|
# $energydiff = $energy - $def->{READINGS}{"energy"}{VAL};
|
||||||
|
# $maxenergy = 3.65 * ($timediff / 3600.0);
|
||||||
|
#}
|
||||||
|
#if ($energydiff > $maxenergy) {
|
||||||
|
# $isInvalid = 1;
|
||||||
|
#}
|
||||||
|
|
||||||
if (0 == $pf) {
|
if (0 == $pf) {
|
||||||
$pf = 0.0001;
|
$pf = 0.0001;
|
||||||
}
|
}
|
||||||
# plausability check partly taken from http://www.sknorrell.de/blog/energiemesssung-mit-revolt-nc-5462/
|
# plausability check partly taken from http://www.sknorrell.de/blog/energiemesssung-mit-revolt-nc-5462/
|
||||||
if (($voltage < 80) || ($freq > 65) || ($power > 3650) || ($current > 16) ||
|
if (($voltage < 80) || ($freq > 65) || ($power > 3650) || ($current > 16) ||
|
||||||
((($power / $voltage / $pf) > 0.00999) && (0 == $current)) ||
|
((($power / $voltage / $pf) > 0.00999) && (0 == $current))) {
|
||||||
($energydiff > $maxenergy)) {
|
|
||||||
$isInvalid = 1;
|
$isInvalid = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user