2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-13 17:26:34 +00:00

SetFn may return a second argument skpiTrigger (returning an array).

git-svn-id: https://svn.fhem.de/fhem/trunk@2085 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2012-11-05 07:32:55 +00:00
parent 2a690f6af7
commit 472e343dba

View File

@ -1110,9 +1110,9 @@ DoSet(@)
return "No set implemented for $dev" if(!$modules{$defs{$dev}{TYPE}}{SetFn}); return "No set implemented for $dev" if(!$modules{$defs{$dev}{TYPE}}{SetFn});
@a = ReplaceEventMap($dev, \@a, 0) if($attr{$dev}{eventMap}); @a = ReplaceEventMap($dev, \@a, 0) if($attr{$dev}{eventMap});
my $ret = CallFn($dev, "SetFn", $defs{$dev}, @a); my ($ret, $skipTrigger) = CallFn($dev, "SetFn", $defs{$dev}, @a);
return $ret if($ret); return $ret if($ret);
return undef if($skipTrigger);
shift @a; shift @a;
my $arg = $defs{$dev}{CHANGED} ? undef : join(" ", @a); my $arg = $defs{$dev}{CHANGED} ? undef : join(" ", @a);
return DoTrigger($dev, $arg); return DoTrigger($dev, $arg);
@ -2246,10 +2246,17 @@ CallFn(@)
} }
my $fn = $modules{$defs{$d}{TYPE}}{$n}; my $fn = $modules{$defs{$d}{TYPE}}{$n};
return "" if(!$fn); return "" if(!$fn);
no strict "refs"; if(wantarray) {
my $ret = &{$fn}(@_); no strict "refs";
use strict "refs"; my @ret = &{$fn}(@_);
return $ret; use strict "refs";
return @ret;
} else {
no strict "refs";
my $ret = &{$fn}(@_);
use strict "refs";
return $ret;
}
} }
##################################### #####################################