mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-17 17:36:01 +00:00
Fixing event-on-change-reading when using set (e.g. for dummy)
git-svn-id: https://svn.fhem.de/fhem/trunk@3308 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
ad453f5cc5
commit
5ecf13f92b
@ -186,7 +186,7 @@ my $intAtCnt=0;
|
||||
my %duplicate; # Pool of received msg for multi-fhz/cul setups
|
||||
my $duplidx=0; # helper for the above pool
|
||||
my $readingsUpdateDelayTrigger; # needed internally
|
||||
my $doTriggerCalled; # needed internally
|
||||
my $readingsUpdateUsed; # needed internally
|
||||
my $cvsid = '$Id$';
|
||||
my $namedef =
|
||||
"where <name> is either:\n" .
|
||||
@ -1188,13 +1188,13 @@ DoSet(@)
|
||||
return CallFn($dev, "SetFn", $hash, @a) if($a[1] && $a[1] eq "?");
|
||||
|
||||
@a = ReplaceEventMap($dev, \@a, 0) if($attr{$dev}{eventMap});
|
||||
$doTriggerCalled = 0;
|
||||
$readingsUpdateUsed = 0;
|
||||
my ($ret, $skipTrigger) = CallFn($dev, "SetFn", $hash, @a);
|
||||
return $ret if($ret);
|
||||
return undef if($skipTrigger);
|
||||
|
||||
# Backward compatibility. Use readingsUpdate in SetFn now
|
||||
if(!$doTriggerCalled) {
|
||||
if(!$readingsUpdateUsed) {
|
||||
shift @a;
|
||||
# set arg if the module did not triggered events
|
||||
my $arg = join(" ", @a) if(!$hash->{CHANGED} || !int(@{$hash->{CHANGED}}));
|
||||
@ -2359,7 +2359,6 @@ DoTrigger($$@)
|
||||
|
||||
my $max = int(@{$hash->{CHANGED}});
|
||||
Log 5, "Triggering $dev ($max changes)";
|
||||
$doTriggerCalled = 1;
|
||||
return "" if(defined($attr{$dev}) && defined($attr{$dev}{do_not_notify}));
|
||||
|
||||
################
|
||||
@ -3136,6 +3135,8 @@ readingsEndUpdate($$)
|
||||
my ($hash,$dotrigger)= @_;
|
||||
my $name = $hash->{NAME};
|
||||
|
||||
$readingsUpdateUsed = 1;
|
||||
|
||||
# process user readings
|
||||
if(defined($hash->{'.userReadings'})) {
|
||||
my %userReadings= %{$hash->{'.userReadings'}};
|
||||
|
Loading…
x
Reference in New Issue
Block a user