mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-19 00:26:03 +00:00
State for disabled fixed
git-svn-id: https://svn.fhem.de/fhem/trunk@1246 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
188d24b16b
commit
07d942bca2
@ -20,6 +20,7 @@ at_Initialize($)
|
|||||||
|
|
||||||
|
|
||||||
my $at_tdiff;
|
my $at_tdiff;
|
||||||
|
my $oldattr;
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
sub
|
sub
|
||||||
@ -73,8 +74,7 @@ at_Define($$)
|
|||||||
RemoveInternalTimer($name);
|
RemoveInternalTimer($name);
|
||||||
InternalTimer($nt, "at_Exec", $name, 0);
|
InternalTimer($nt, "at_Exec", $name, 0);
|
||||||
|
|
||||||
$hash->{STATE} = ("Next: " . FmtTime($nt))
|
$hash->{STATE} = ($oldattr && $oldattr->{disable} ? "disabled" : ("Next: ".FmtTime($nt)));
|
||||||
if(!($attr{$name} && $attr{$name}{disable}));
|
|
||||||
|
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ at_Exec($)
|
|||||||
my $count = $defs{$name}{REP};
|
my $count = $defs{$name}{REP};
|
||||||
my $def = $defs{$name}{DEF};
|
my $def = $defs{$name}{DEF};
|
||||||
|
|
||||||
my $oldattr = $attr{$name}; # delete removes the attributes too
|
$oldattr = $attr{$name}; # delete removes the attributes too
|
||||||
|
|
||||||
# Correct drift when the timespec is relative
|
# Correct drift when the timespec is relative
|
||||||
$at_tdiff = $defs{$name}{TRIGGERTIME}-gettimeofday() if($def =~ m/^\+/);
|
$at_tdiff = $defs{$name}{TRIGGERTIME}-gettimeofday() if($def =~ m/^\+/);
|
||||||
@ -126,6 +126,7 @@ at_Exec($)
|
|||||||
CommandDefine(undef, "$name at $def"); # Recompute the next TRIGGERTIME
|
CommandDefine(undef, "$name at $def"); # Recompute the next TRIGGERTIME
|
||||||
delete($data{AT_RECOMPUTE});
|
delete($data{AT_RECOMPUTE});
|
||||||
$attr{$name} = $oldattr;
|
$attr{$name} = $oldattr;
|
||||||
|
$oldattr = undef;
|
||||||
}
|
}
|
||||||
$at_tdiff = undef;
|
$at_tdiff = undef;
|
||||||
}
|
}
|
||||||
@ -141,10 +142,10 @@ at_Attr(@)
|
|||||||
}
|
}
|
||||||
$do = 2 if($a[0] eq "del" && (!$a[2] || $a[2] eq "disable"));
|
$do = 2 if($a[0] eq "del" && (!$a[2] || $a[2] eq "disable"));
|
||||||
return if(!$do);
|
return if(!$do);
|
||||||
|
|
||||||
$defs{$a[1]}{STATE} = ($do == 1 ?
|
$defs{$a[1]}{STATE} = ($do == 1 ?
|
||||||
"disabled" :
|
"disabled" :
|
||||||
"Next: " . FmtTime($defs{$a[1]}{TRIGGERTIME}));
|
"Next: " . FmtTime($defs{$a[1]}{TRIGGERTIME}));
|
||||||
|
Log 1, "ATTR: $a[1] $defs{$a[1]}{STATE}";
|
||||||
|
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user