Bugifx: wrong inform data when notifies generate additional device events
git-svn-id: https://fhem.svn.sourceforge.net/svnroot/fhem/trunk/fhem@1299 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
10
fhem.pl
10
fhem.pl
@@ -1224,7 +1224,6 @@ CommandDefine($$)
|
|||||||
my ($cl, $def) = @_;
|
my ($cl, $def) = @_;
|
||||||
my @a = split("[ \t][ \t]*", $def, 3);
|
my @a = split("[ \t][ \t]*", $def, 3);
|
||||||
my $name = $a[0];
|
my $name = $a[0];
|
||||||
|
|
||||||
return "Usage: define <name> <type> <type dependent arguments>"
|
return "Usage: define <name> <type> <type dependent arguments>"
|
||||||
if(int(@a) < 2);
|
if(int(@a) < 2);
|
||||||
return "$name already defined, delete it first" if(defined($defs{$name}));
|
return "$name already defined, delete it first" if(defined($defs{$name}));
|
||||||
@@ -2157,7 +2156,11 @@ DoTrigger($$)
|
|||||||
return "" if(!defined($defs{$dev}));
|
return "" if(!defined($defs{$dev}));
|
||||||
|
|
||||||
if(defined($ns)) {
|
if(defined($ns)) {
|
||||||
|
if($defs{$dev}{CHANGED}) {
|
||||||
|
push @{$defs{$dev}{CHANGED}}, $ns;
|
||||||
|
} else {
|
||||||
$defs{$dev}{CHANGED}[0] = $ns;
|
$defs{$dev}{CHANGED}[0] = $ns;
|
||||||
|
}
|
||||||
} elsif(!defined($defs{$dev}{CHANGED})) {
|
} elsif(!defined($defs{$dev}{CHANGED})) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
@@ -2192,8 +2195,6 @@ DoTrigger($$)
|
|||||||
my $r = CallFn($n, "NotifyFn", $defs{$n}, $defs{$dev});
|
my $r = CallFn($n, "NotifyFn", $defs{$n}, $defs{$dev});
|
||||||
$ret .= $r if($r);
|
$ret .= $r if($r);
|
||||||
}
|
}
|
||||||
delete($defs{$dev}{INTRIGGER});
|
|
||||||
}
|
|
||||||
|
|
||||||
################
|
################
|
||||||
# Inform
|
# Inform
|
||||||
@@ -2217,6 +2218,9 @@ DoTrigger($$)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete($defs{$dev}{INTRIGGER});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
####################
|
####################
|
||||||
# Used by triggered perl programs to check the old value
|
# Used by triggered perl programs to check the old value
|
||||||
|
|||||||
Reference in New Issue
Block a user