diff --git a/fhem/FHEM/98_structure.pm b/fhem/FHEM/98_structure.pm index 5932eb641..bf09129b5 100644 --- a/fhem/FHEM/98_structure.pm +++ b/fhem/FHEM/98_structure.pm @@ -49,6 +49,7 @@ structure_Initialize($) disable disabledForIntervals evaluateSetResult:1,0 + propagateAttr setStateIndirectly:1,0 setStructType:0,1 ); @@ -390,7 +391,8 @@ structure_Set($@) my %pars; # see Forum # 28623 for .cachedHelp - return $hash->{".cachedHelp"} if($list[1] eq "?" && $hash->{".cachedHelp"}); + return $hash->{".cachedHelp"} + if(@list > 1 && $list[1] eq "?" && $hash->{".cachedHelp"}); my @devList = @{$hash->{".memberList"}}; if(@list > 1 && $list[$#list] eq "reverse") { @@ -525,6 +527,7 @@ structure_Attr($@) group=>1, icon=>1, room=>1, + propagateAttr=>1, setStateIndirectly=>1, stateFormat=>1, webCmd=>1, @@ -535,6 +538,8 @@ structure_Attr($@) my $me = $list[0]; my $hash = $defs{$me}; + my $pa = AttrVal($me, "propagateAttr", $featurelevel <= 5.9 ? '.*' : '^$'); + return undef if($list[1] !~ m/$pa/); if($hash->{INATTR}) { Log3 $me, 1, "ERROR: endless loop detected in structure_Attr for $me"; @@ -734,6 +739,12 @@ structure_Attr($@) compute the new status. +