mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-12 22:56:34 +00:00
fhem.pl: deterministic order of userReadings execution (Forum #49682)
git-svn-id: https://svn.fhem.de/fhem/trunk@10906 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
cac627b37b
commit
a2dca22ceb
@ -2479,8 +2479,7 @@ CommandAttr($$)
|
||||
# matches myReading1[:trigger2] { codecode1 }
|
||||
my $regexi= '\s*([\w.-]+)(:\S*)?\s+((\w+)\s+)?({.*?})\s*';
|
||||
my $regexo= '^(' . $regexi . ')(,\s*(.*))*$';
|
||||
|
||||
#Log 1, "arg is $arg";
|
||||
my $rNo=0;
|
||||
|
||||
while($arg =~ /$regexo/s) {
|
||||
my $userReading= $2;
|
||||
@ -2495,6 +2494,7 @@ CommandAttr($$)
|
||||
$userReadings{$userReading}{trigger}= $trigger;
|
||||
$userReadings{$userReading}{modifier}= $modifier;
|
||||
$userReadings{$userReading}{perlCode}= $perlCode;
|
||||
$userReadings{$userReading}{readingNo}= $rNo++;
|
||||
} else {
|
||||
push @rets, "$sdev: unknown modifier $modifier for ".
|
||||
"userReading $userReading, this userReading will be ignored";
|
||||
@ -3870,7 +3870,9 @@ readingsEndUpdate($$)
|
||||
# process user readings
|
||||
if(defined($hash->{'.userReadings'})) {
|
||||
my %userReadings= %{$hash->{'.userReadings'}};
|
||||
foreach my $userReading (keys %userReadings) {
|
||||
foreach my $userReading (sort { $userReadings{$a}{readingNo} <=>
|
||||
$userReadings{$b}{readingNo} }
|
||||
keys %userReadings) {
|
||||
|
||||
my $trigger = $userReadings{$userReading}{trigger};
|
||||
if(defined($trigger)) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user