diff --git a/fhem/FHEM/98_structure.pm b/fhem/FHEM/98_structure.pm index 8cbf3afb6..969f3662f 100755 --- a/fhem/FHEM/98_structure.pm +++ b/fhem/FHEM/98_structure.pm @@ -375,6 +375,10 @@ structure_Set($@) my @devList = split("[ \t][ \t]*", $hash->{DEF}); shift @devList; + if(@list > 1 && @list[$#list] eq "reverse") { + pop @list; + @devList = reverse @devList; + } foreach my $d (@devList) { next if(!$defs{$d}); if($defs{$d}{INSET}) { @@ -553,9 +557,13 @@ structure_Attr($@) Every set command is propagated to the attached devices. Exception: if an attached device has an attribute structexclude, and the attribute value matches (as a regexp) the name of the current structure.
- If the set is of the form set <structure> [FILTER=<filter>] <type-specific> - then :FILTER=<filter> will be appended to the device name in the propagated set for - the attached devices like this: set :FILTER=<filter> <type-specific> + If the set is of the form set <structure> + [FILTER=<filter>] <type-specific> then + :FILTER=<filter> will be appended to the device name in the + propagated set for the attached devices like this: set + :FILTER=<filter> <type-specific>
+ If the last set parameter is "reverse", then execute the set commands in + the reverse order.
@@ -719,10 +727,14 @@ structure_Attr($@)