98_DOIF.pm fixed: error: Reading/Internal does not exist at zero
git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@7147 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -215,8 +215,8 @@ sub ReplaceAllReadingsDoIf($$$$)
|
|||||||
($block,$err,$device,$reading,$internal)=ReplaceReadingDoIf($block);
|
($block,$err,$device,$reading,$internal)=ReplaceReadingDoIf($block);
|
||||||
return ($block,$err) if ($err);
|
return ($block,$err) if ($err);
|
||||||
if ($eval) {
|
if ($eval) {
|
||||||
return ($block,"reading does not exist: [$device:$reading]") if (defined ($reading) and !$defs{$device}{READINGS}{$reading});
|
return ($block,"reading does not exist: [$device:$reading]") if (defined ($reading) and !defined($defs{$device}{READINGS}{$reading}));
|
||||||
return ($block,"internal does not exist: [$device:$internal]") if (defined ($internal) and !$defs{$device}{$internal});
|
return ($block,"internal does not exist: [$device:$internal]") if (defined ($internal) and !defined($defs{$device}{$internal}));
|
||||||
my $ret = eval $block;
|
my $ret = eval $block;
|
||||||
return($block." ",$@) if ($@);
|
return($block." ",$@) if ($@);
|
||||||
$block=$ret;
|
$block=$ret;
|
||||||
@@ -487,13 +487,13 @@ DOIF_CheckCond($$)
|
|||||||
if (defined ($hash->{readings}{$condition})) {
|
if (defined ($hash->{readings}{$condition})) {
|
||||||
foreach my $devReading (split(/ /,$hash->{readings}{$condition})) {
|
foreach my $devReading (split(/ /,$hash->{readings}{$condition})) {
|
||||||
($device,$reading)=(split(":",$devReading));
|
($device,$reading)=(split(":",$devReading));
|
||||||
return (0,"reading does not exist: [$device:$reading]") if ($devReading and !$defs{$device}{READINGS}{$reading});
|
return (0,"reading does not exist: [$device:$reading]") if ($devReading and !defined($defs{$device}{READINGS}{$reading}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (defined ($hash->{internals}{$condition})) {
|
if (defined ($hash->{internals}{$condition})) {
|
||||||
foreach my $devInternal (split(/ /,$hash->{internals}{$condition})) {
|
foreach my $devInternal (split(/ /,$hash->{internals}{$condition})) {
|
||||||
($device,$internal)=(split(":",$devInternal));
|
($device,$internal)=(split(":",$devInternal));
|
||||||
return (0,"internal does not exist: [$device:$internal]") if ($devInternal and !$defs{$device}{$internal});
|
return (0,"internal does not exist: [$device:$internal]") if ($devInternal and !defined($defs{$device}{$internal}));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
my $ret = eval $hash->{condition}{$condition};
|
my $ret = eval $hash->{condition}{$condition};
|
||||||
|
|||||||
Reference in New Issue
Block a user