mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 16:56:54 +00:00
Another try at the watchdog problem.
git-svn-id: https://svn.fhem.de/fhem/trunk@1113 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
e807860a9f
commit
aa7112d032
@ -47,8 +47,13 @@ watchdog_Define($$)
|
|||||||
$ntfy->{CMD} = $command;
|
$ntfy->{CMD} = $command;
|
||||||
|
|
||||||
|
|
||||||
$ntfy->{STATE} = ($re1 eq ".") ? "active" : "defined";
|
if($re1 eq ".") {
|
||||||
watchdog_Activate($ntfy) if($ntfy->{STATE} eq "active");
|
watchdog_Activate($ntfy)
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$ntfy->{STATE} = "defined";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
@ -71,12 +76,15 @@ watchdog_Notify($$)
|
|||||||
for (my $i = 0; $i < $max; $i++) {
|
for (my $i = 0; $i < $max; $i++) {
|
||||||
my $s = $dev->{CHANGED}[$i];
|
my $s = $dev->{CHANGED}[$i];
|
||||||
$s = "" if(!defined($s));
|
$s = "" if(!defined($s));
|
||||||
|
my $dotTrigger = ($ln eq $n && $s eq "."); # trigger w .
|
||||||
|
my $dontReAct = AttrVal($ln, "regexp1WontReactivate", 0);
|
||||||
|
|
||||||
if($ntfy->{STATE} =~ m/Next:/) {
|
if($ntfy->{STATE} =~ m/Next:/) {
|
||||||
|
|
||||||
if($n =~ m/^$re2$/ || "$n:$s" =~ m/^$re2$/) {
|
if($n =~ m/^$re2$/ || "$n:$s" =~ m/^$re2$/) {
|
||||||
RemoveInternalTimer($ntfy);
|
RemoveInternalTimer($ntfy);
|
||||||
|
|
||||||
if($re1 eq $re2 || $re1 eq ".") {
|
if(($re1 eq $re2 || $re1 eq ".") && !$dontReAct) {
|
||||||
watchdog_Activate($ntfy);
|
watchdog_Activate($ntfy);
|
||||||
return "";
|
return "";
|
||||||
|
|
||||||
@ -85,14 +93,20 @@ watchdog_Notify($$)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} elsif($n =~ m/^$re1$/ || "$n:$s" =~ m/^$re1$/) {
|
||||||
|
watchdog_Activate($ntfy) if(!$dontReAct);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
} elsif($ntfy->{STATE} eq "defined") {
|
||||||
|
if($dotTrigger || # trigger w .
|
||||||
|
($n =~ m/^$re1$/ || "$n:$s" =~ m/^$re1$/)) {
|
||||||
|
watchdog_Activate($ntfy)
|
||||||
|
}
|
||||||
|
|
||||||
|
} elsif($dotTrigger) {
|
||||||
|
$ntfy->{STATE} = "defined"; # trigger w .
|
||||||
|
|
||||||
if(($ln eq $n && $s eq ".") || # trigger w .
|
|
||||||
(($n =~ m/^$re1$/ || "$n:$s" =~ m/^$re1$/) &&
|
|
||||||
!AttrVal($ln, "regexp1WontReactivate", 0))) {
|
|
||||||
watchdog_Activate($ntfy)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -130,5 +144,4 @@ watchdog_Undef($$)
|
|||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
@ -7260,9 +7260,11 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
|
|||||||
<li>if <regexp2> is SAME, then it will be the same as the first
|
<li>if <regexp2> is SAME, then it will be the same as the first
|
||||||
regexp, and it will be reactivated, when it is received. This is
|
regexp, and it will be reactivated, when it is received. This is
|
||||||
probably the normal operation.</li>
|
probably the normal operation.</li>
|
||||||
<li>trigger <watchdogname> . will activate/reactivate the
|
<li>trigger <watchdogname> . will activate the trigger if its state
|
||||||
watchdog</li>
|
is defined, and set it into state defined if its state is
|
||||||
<li>generic watchdogs (one watchdog responsible for more devices) is
|
triggered</li>
|
||||||
|
</ul>
|
||||||
|
<li>a generic watchdog (one watchdog responsible for more devices) is
|
||||||
currently not possible.</li>
|
currently not possible.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user