diff --git a/fhem/FHEM/91_watchdog.pm b/fhem/FHEM/91_watchdog.pm index 4ea641242..f5690fec9 100755 --- a/fhem/FHEM/91_watchdog.pm +++ b/fhem/FHEM/91_watchdog.pm @@ -14,6 +14,7 @@ watchdog_Initialize($) $hash->{DefFn} = "watchdog_Define"; $hash->{UndefFn} = "watchdog_Undef"; + $hash->{AttrFn} = "watchdog_Attr"; $hash->{NotifyFn} = "watchdog_Notify"; $hash->{AttrList} = "disable:0,1 disabledForIntervals execOnReactivate ". "regexp1WontReactivate:0,1 addStateEvent:0,1"; @@ -175,6 +176,23 @@ watchdog_Undef($$) return undef; } +sub +watchdog_Attr(@) +{ + my ($cmd, $name, $attrName, $attrVal) = @_; + my $do = 0; + + my $hash = $defs{$name}; + + if($cmd eq "set" && $attrName eq "disable") { + $do = (!defined($attrVal) || $attrVal) ? 1 : 2; + } + $do = 2 if($cmd eq "del" && (!$attrName || $attrName eq "disable")); + return if(!$do); + $hash->{STATE} = ($do == 1 ? "disabled" : "defined"); + return undef; +} + 1; =pod