mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-28 02:44:53 +00:00
90_at.pm: fix dissableForIntervals bug (Forum #34864)
git-svn-id: https://svn.fhem.de/fhem/trunk@8192 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
3f31aa54b6
commit
7b9d5dad91
@ -110,9 +110,8 @@ at_Define($$)
|
||||
RemoveInternalTimer($hash);
|
||||
InternalTimer($nt, "at_Exec", $hash, 0);
|
||||
$hash->{NTM} = $ntm if($rel eq "+" || $fn);
|
||||
my $val = IsDisabled($name) ?
|
||||
(AttrVal($name, "disable", undef) ? "disabled" : "inactive") :
|
||||
("Next: ".FmtTime($nt));
|
||||
my $d = IsDisabled($name); # 1
|
||||
my $val = ($d==3 ? "inactive" : ($d ? "disabled":("Next: ".FmtTime($nt))));
|
||||
readingsSingleUpdate($hash, "state", $val,
|
||||
!$hash->{READINGS}{state} || $hash->{READINGS}{state}{VAL} ne $val);
|
||||
}
|
||||
@ -138,13 +137,12 @@ at_Exec($)
|
||||
my $name = $hash->{NAME};
|
||||
Log3 $name, 5, "exec at command $name";
|
||||
|
||||
my $skip = AttrVal($name, "skip_next", undef);
|
||||
my $disable = IsDisabled($name);
|
||||
|
||||
my $skip = AttrVal($name, "skip_next", undef);
|
||||
delete $attr{$name}{skip_next} if($skip);
|
||||
|
||||
my $command = SemicolonEscape($hash->{COMMAND});
|
||||
my $ret = AnalyzeCommandChain(undef, $command) if(!$skip && !$disable);
|
||||
my $ret = AnalyzeCommandChain(undef, $command)
|
||||
if(!$skip && !IsDisabled($name));
|
||||
Log3 $name, 3, "$name: $ret" if($ret);
|
||||
|
||||
return if($hash->{DELETED}); # Deleted in the Command
|
||||
|
@ -695,7 +695,7 @@ IsDisabled($)
|
||||
return 0 if(!$devname || !defined($attr{$devname}));
|
||||
|
||||
return 1 if($attr{$devname}{disable});
|
||||
return 1 if($defs{$devname} && $defs{$devname}{STATE} &&
|
||||
return 3 if($defs{$devname} && $defs{$devname}{STATE} &&
|
||||
$defs{$devname}{STATE} eq "inactive");
|
||||
|
||||
my $dfi = $attr{$devname}{disabledForIntervals};
|
||||
@ -704,7 +704,7 @@ IsDisabled($)
|
||||
my $hms = sprintf("%02d:%02d:%02d", $hour, $min, $sec);
|
||||
foreach my $ft (split(" ", $dfi)) {
|
||||
my ($from, $to) = split("-", $ft);
|
||||
return 1 if($from && $to && $from le $hms && $hms le $to);
|
||||
return 2 if($from && $to && $from le $hms && $hms le $to);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user