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:
parent
d5f5e874b6
commit
fb006f5411
@ -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> <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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user