98_structure.pm: add evaluateSetResult attribute (Forum #73113)

git-svn-id: https://svn.fhem.de/fhem/trunk@14515 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig
2017-06-15 10:39:02 +00:00
parent 550a165ca4
commit b29b2d3a8c
2 changed files with 21 additions and 2 deletions

View File

@@ -1,5 +1,6 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it.
- feature: 98_structure.pm: add evaluateSetResult attribute (Forum #73113)
- feature: ESPEasy: improved defineFn if bridge port is missing, docu update
- feature: 37_Spotify: resume on target
- feature: 93_DbRep: V5.1.0, create dumps of MySQL on client- or serverside,

View File

@@ -43,7 +43,8 @@ structure_Initialize($)
$hash->{AttrFn} = "structure_Attr";
$hash->{AttrList} = "async_delay clientstate_priority ".
"clientstate_behavior:relative,relativeKnown,absolute,last ".
"disable disabledForIntervals $readingFnAttributes";
"disable disabledForIntervals evaluateSetResult:1,0 ".
$readingFnAttributes;
my %ahash = ( Fn=>"CommandAddStruct",
Hlp=>"<structure> <devspec>,add <devspec> to <structure>" );
@@ -185,7 +186,7 @@ structure_Notify($$)
my @structPrio = attrSplit($attr{$me}{clientstate_priority})
if($attr{$me}{clientstate_priority});
return "" if($hash->{INSET}); # Do not trigger for our own set
return "" if($hash->{INSET} && !AttrVal($me, "evaluateSetResult", 0));
return "" if(@{$hash->{".asyncQueue"}}); # Do not trigger during async set
if($hash->{INNTFY}) {
@@ -667,6 +668,14 @@ structure_Attr($@)
</ul>
</li>
<a name="evaluateSetResult"></a>
<li>evaluateSetResult<br>
if a set command sets the state of the structure members to something
different from the set command (like set statusRequest), then you have to
set this attribute to 1 in order to enable the structure instance to
compute the new status.
</li>
<a name="structexclude"></a>
<li>structexclude<br>
exclude the device from set/notify or attribute operations. For the set
@@ -858,6 +867,15 @@ structure_Attr($@)
</ul>
</li>
<a name="evaluateSetResult"></a>
<li>evaluateSetResult<br>
Falls ein set Befehl den Status der Struktur-Mitglieder auf was
unterschiedliches setzt (wie z.Bsp. beim set statusRequest), dann muss
dieses Attribut auf 1 gesetzt werden, wenn die Struktur Instanz diesen
neuen Status auswerten soll.
</li>
<li>structexclude<br>
Bei gesetztem Attribut wird set, attr/deleteattr ignoriert. Dies
trifft ebenfalls auf die Weitergabe des Devicestatus an die Struktur zu.