2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-05-03 19:49:02 +00:00

98_DOIF.pm: subs block is now evaluated before init block

git-svn-id: https://svn.fhem.de/fhem/trunk@17665 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
Damian 2018-11-03 11:03:45 +00:00
parent d5f5e874b6
commit fb006f5411

View File

@ -2877,20 +2877,22 @@ CmdDoIfPerl($$)
$hash->{perlblock}{$i}=$blockname;
if ($blockname eq "init") {
$hash->{perlblock}{init}=$i;
if ($init_done) {
if (($ret,$err)=DOIF_CheckCond($hash,$hash->{perlblock}{init})) {
if ($err) {
Log3 $hash->{Name},4,"$hash->{NAME}: $err in perl block init" if ($ret != -1);
readingsSingleUpdate ($hash, "block_init", $err,0);
} else {
readingsSingleUpdate ($hash, "block_init", "executed",0);
}
}
}
}
}
$i++;
}
if (defined $hash->{perlblock}{init}) {
if ($init_done) {
if (($ret,$err)=DOIF_CheckCond($hash,$hash->{perlblock}{init})) {
if ($err) {
Log3 $hash->{Name},4,"$hash->{NAME}: $err in perl block init" if ($ret != -1);
readingsSingleUpdate ($hash, "block_init", $err,0);
} else {
readingsSingleUpdate ($hash, "block_init", "executed",0);
}
}
}
}
return("","")
}
@ -5143,7 +5145,7 @@ Da man beliebige Perl-Ausdrücke verwenden kann, lässt sich z. B. der Mittelwer
<b>Erzeugen berechneter Readings</b>&nbsp;&nbsp;&nbsp;<a href="#DOIF_Inhaltsuebersicht">back</a><br>
<br>
<a name="DOIF_Readings"></a>
Mit Hilfe des Attributes DOIF_Readings können eigene Readings innerhalb des DOIF definiert werden, auf die man im selben DOIF-Moduls zugreifen kann.
Mit Hilfe des Attributes DOIF_Readings können eigene Readings innerhalb des DOIF definiert werden, auf die man im selben DOIF-Device zugreifen kann.
Die Nutzung ist insbesondere dann sinnvoll, wenn zyklisch sendende Sensoren, im Perl-Modus oder mit dem Attribut do always, abgefragt werden.
DOIF_Readings-Berechnungen funktionieren ressourcenschonend ohne Erzeugung FHEM-Events nach außen. Änderungen dieser Readings triggern allerdings das eigene DOIF-Modul, allerdings nur, wenn sich deren Inhalt ändert.<br>
<br>