mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-13 17:26: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 }
|
# matches myReading1[:trigger2] { codecode1 }
|
||||||
my $regexi= '\s*([\w.-]+)(:\S*)?\s+((\w+)\s+)?({.*?})\s*';
|
my $regexi= '\s*([\w.-]+)(:\S*)?\s+((\w+)\s+)?({.*?})\s*';
|
||||||
my $regexo= '^(' . $regexi . ')(,\s*(.*))*$';
|
my $regexo= '^(' . $regexi . ')(,\s*(.*))*$';
|
||||||
|
my $rNo=0;
|
||||||
#Log 1, "arg is $arg";
|
|
||||||
|
|
||||||
while($arg =~ /$regexo/s) {
|
while($arg =~ /$regexo/s) {
|
||||||
my $userReading= $2;
|
my $userReading= $2;
|
||||||
@ -2495,6 +2494,7 @@ CommandAttr($$)
|
|||||||
$userReadings{$userReading}{trigger}= $trigger;
|
$userReadings{$userReading}{trigger}= $trigger;
|
||||||
$userReadings{$userReading}{modifier}= $modifier;
|
$userReadings{$userReading}{modifier}= $modifier;
|
||||||
$userReadings{$userReading}{perlCode}= $perlCode;
|
$userReadings{$userReading}{perlCode}= $perlCode;
|
||||||
|
$userReadings{$userReading}{readingNo}= $rNo++;
|
||||||
} else {
|
} else {
|
||||||
push @rets, "$sdev: unknown modifier $modifier for ".
|
push @rets, "$sdev: unknown modifier $modifier for ".
|
||||||
"userReading $userReading, this userReading will be ignored";
|
"userReading $userReading, this userReading will be ignored";
|
||||||
@ -3870,7 +3870,9 @@ readingsEndUpdate($$)
|
|||||||
# process user readings
|
# process user readings
|
||||||
if(defined($hash->{'.userReadings'})) {
|
if(defined($hash->{'.userReadings'})) {
|
||||||
my %userReadings= %{$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};
|
my $trigger = $userReadings{$userReading}{trigger};
|
||||||
if(defined($trigger)) {
|
if(defined($trigger)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user