10_FS20.pm: fix follow-on-for-timer for non-integer duration (Forum #139149)
git-svn-id: https://svn.fhem.de/fhem/trunk@29139 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -161,6 +161,7 @@ FS20_Follow($$$$)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($newState) {
|
if($newState) {
|
||||||
|
if(int($val) == $val) {
|
||||||
my $to = sprintf("%02d:%02d:%02d", $val/3600, ($val%3600)/60, $val%60);
|
my $to = sprintf("%02d:%02d:%02d", $val/3600, ($val%3600)/60, $val%60);
|
||||||
$modules{FS20}{ldata}{$name} = $to;
|
$modules{FS20}{ldata}{$name} = $to;
|
||||||
Log3 $name, 4, "Follow: +$to setstate $name $newState";
|
Log3 $name, 4, "Follow: +$to setstate $name $newState";
|
||||||
@@ -168,6 +169,13 @@ FS20_Follow($$$$)
|
|||||||
"{readingsSingleUpdate(\$defs{'$name'},'state','$newState', 1);".
|
"{readingsSingleUpdate(\$defs{'$name'},'state','$newState', 1);".
|
||||||
"delete \$defs{'$name'}->{TIMED_OnOff}; undef}");
|
"delete \$defs{'$name'}->{TIMED_OnOff}; undef}");
|
||||||
|
|
||||||
|
} else {
|
||||||
|
Log3 $name, 4, "Follow: sleep $val; setstate $name $newState";
|
||||||
|
AnalyzeCommandChain(undef,
|
||||||
|
"sleep $val; setreading $name state $newState; ".
|
||||||
|
"{delete \$defs{'$name'}->{TIMED_OnOff};;undef}");
|
||||||
|
}
|
||||||
|
|
||||||
if($defs{$name}) {
|
if($defs{$name}) {
|
||||||
$defs{$name}->{TIMED_OnOff} = {
|
$defs{$name}->{TIMED_OnOff} = {
|
||||||
START=>time(),
|
START=>time(),
|
||||||
|
|||||||
Reference in New Issue
Block a user