mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-22 08:11:44 +00:00
set of cyclic desired value is now intercepted
git-svn-id: https://svn.fhem.de/fhem/trunk@3068 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
0a6d409c83
commit
bc96d1fbe3
@ -184,12 +184,12 @@ THRESHOLD_Set($@)
|
||||
return "$pn, need a parameter for set" if(@a < 2);
|
||||
my $arg = $a[1];
|
||||
my $value = (defined $a[2]) ? $a[2] : "";
|
||||
my $desired_value;
|
||||
my $set_state = ($hash->{helper}{state_cmd1} eq "" and $hash->{helper}{state_cmd2} eq "") ? 1 : 0;
|
||||
|
||||
my $desired_value = ReadingsVal($pn,"desired_value","");
|
||||
|
||||
if ($arg eq "desired" ) {
|
||||
return "$pn: set desired value:$value, desired value needs a numeric parameter" if(@a != 3 || $value !~ m/^[-\d\.]*$/);
|
||||
return $ret if ($desired_value == $value);
|
||||
Log GetLogLevel($pn,3), "set $pn $arg $value";
|
||||
readingsBeginUpdate ($hash);
|
||||
readingsBulkUpdate ($hash, "state", "active $value") if ($set_state);
|
||||
@ -198,14 +198,12 @@ THRESHOLD_Set($@)
|
||||
readingsBulkUpdate ($hash, "desired_value", $value);
|
||||
readingsEndUpdate ($hash, 1);
|
||||
} elsif ($arg eq "deactivated" ) {
|
||||
$desired_value = ReadingsVal($pn,"desired_value","");
|
||||
return "$pn: set deactivated, set desired value first" if (!$desired_value);
|
||||
$ret=CommandAttr(undef, "$pn disable 1");
|
||||
if (!$ret) {
|
||||
readingsSingleUpdate ($hash, "state", "deactivated $desired_value",1) if ($set_state);
|
||||
}
|
||||
} elsif ($arg eq "active" ) {
|
||||
$desired_value = ReadingsVal($pn,"desired_value","");
|
||||
return "$pn: set active, set desired value first" if (!$desired_value);
|
||||
$ret=CommandDeleteAttr(undef, "$pn disable");
|
||||
if (!$ret) {
|
||||
@ -217,7 +215,6 @@ THRESHOLD_Set($@)
|
||||
} elsif ($arg eq "hysteresis" ) {
|
||||
return "$pn: set hysteresis value:$value, hysteresis needs a numeric parameter" if (@a != 3 || $value !~ m/^[\d\.]*$/ );
|
||||
$hash->{hysteresis} = $value;
|
||||
$desired_value = ReadingsVal($pn,"desired_value","");
|
||||
if ($desired_value) {
|
||||
readingsBeginUpdate ($hash);
|
||||
readingsBulkUpdate ($hash, "threshold_min",$desired_value-$hash->{hysteresis});
|
||||
|
Loading…
x
Reference in New Issue
Block a user