From 1d9028cef95b3044d4f4f47b044b09b6e96601ef Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Tue, 9 Jul 2019 20:56:14 +0000 Subject: [PATCH] 98_structure.pm: add propagateAttr (Forum #70773) git-svn-id: https://svn.fhem.de/fhem/trunk@19809 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_structure.pm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) 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. +