2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-20 01:06:04 +00:00

98_structure.pm: change doc-anchor to id, by Beta-User (Forum #123041)

git-svn-id: https://svn.fhem.de/fhem/trunk@24999 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2021-09-21 07:54:25 +00:00
parent 0b5128c762
commit d43610abb4

View File

@ -78,7 +78,7 @@ structAdd($$)
Log 1, "recursive structure definition" Log 1, "recursive structure definition"
} else { } else {
addToDevAttrList($c, $attrList); addToDevAttrList($c, $attrList, 'structure');
structAdd($c, $attrList) if($defs{$c} && $defs{$c}{TYPE} eq "structure"); structAdd($c, $attrList) if($defs{$c} && $defs{$c}{TYPE} eq "structure");
} }
} }
@ -136,7 +136,7 @@ structure_setDevs($;$)
$list{$d} = 1; $list{$d} = 1;
push(@list, $d); push(@list, $d);
next if($c && $c->{$d}); next if($c && $c->{$d});
addToDevAttrList($d, $aList); addToDevAttrList($d, $aList, 'structure');
structAdd($d, $aList) if($defs{$d} && $defs{$d}{TYPE} eq "structure"); structAdd($d, $aList) if($defs{$d} && $defs{$d}{TYPE} eq "structure");
} }
} }
@ -598,11 +598,11 @@ structure_Attr($@)
=item summary_DE mehrere Geräte zu einem zusammenfassen =item summary_DE mehrere Geräte zu einem zusammenfassen
=begin html =begin html
<a name="structure"></a> <a id="structure"></a>
<h3>structure</h3> <h3>structure</h3>
<ul> <ul>
<br> <br>
<a name="structuredefine"></a> <a id="structure-define"></a>
<b>Define</b> <b>Define</b>
<ul> <ul>
<code>define &lt;name&gt; structure &lt;struct_type&gt; &lt;dev1&gt; &lt;dev2&gt; ...</code> <code>define &lt;name&gt; structure &lt;struct_type&gt; &lt;dev1&gt; &lt;dev2&gt; ...</code>
@ -631,13 +631,15 @@ structure_Attr($@)
</ul> </ul>
<br> <br>
<a name="structureset"></a> <a id="structure-set"></a>
<b>Set</b> <b>Set</b>
<ul> <ul>
<a id="structure-set-saveStructState"></a>
<li>saveStructState &lt;readingName&gt;<br> <li>saveStructState &lt;readingName&gt;<br>
The state reading of all members is stored comma separated in the The state reading of all members is stored comma separated in the
specified readingName. specified readingName.
</li><br> </li><br>
<a id="structure-set-restoreStructState"></a>
<li>restoreStructState &lt;readingName&gt;<br> <li>restoreStructState &lt;readingName&gt;<br>
The state of all members will be restored from readingName by calling The state of all members will be restored from readingName by calling
"set memberName storedStateValue". "set memberName storedStateValue".
@ -656,17 +658,17 @@ structure_Attr($@)
</ul> </ul>
<br> <br>
<a name="structureget"></a> <a id="structure-get"></a>
<b>Get</b> <b>Get</b>
<ul> <ul>
get is not supported through a structure device. get is not supported through a structure device.
</ul> </ul>
<br> <br>
<a name="structureattr"></a> <a id="structure-attr"></a>
<b>Attributes</b> <b>Attributes</b>
<ul> <ul>
<a name="async_delay"></a> <a id="structure-attr-async_delay"></a>
<li>async_delay<br> <li>async_delay<br>
If this attribute is defined, unfiltered set commands will not be If this attribute is defined, unfiltered set commands will not be
executed in the clients immediately. Instead, they are added to a queue executed in the clients immediately. Instead, they are added to a queue
@ -680,13 +682,13 @@ structure_Attr($@)
<li><a href="#disable">disable</a></li> <li><a href="#disable">disable</a></li>
<li><a href="#disabledForIntervals">disabledForIntervals</a></li> <li><a href="#disabledForIntervals">disabledForIntervals</a></li>
<a name="structureconsiderDisabledMembers"></a> <a id="structure-attr-considerDisabledMembers"></a>
<li>considerDisabledMembers<br> <li>considerDisabledMembers<br>
if set, consider disabled members when computing the overall state of if set, consider disabled members when computing the overall state of
the structure. If not set or set to 0, disabled members are ignored. the structure. If not set or set to 0, disabled members are ignored.
</li> </li>
<a name="clientstate_behavior"></a> <a id="structure-attr-clientstate_behavior"></a>
<li>clientstate_behavior<br> <li>clientstate_behavior<br>
The backward propagated status change from the devices to this structure The backward propagated status change from the devices to this structure
works in two different ways. works in two different ways.
@ -710,7 +712,7 @@ structure_Attr($@)
</ul> </ul>
</li> </li>
<a name="clientstate_priority"></a> <a id="structure-attr-clientstate_priority"></a>
<li>clientstate_priority<br> <li>clientstate_priority<br>
If clientstate_behavior is set to relative, then you have to set the If clientstate_behavior is set to relative, then you have to set the
attribute "clientstate_priority" with all states of the defined devices attribute "clientstate_priority" with all states of the defined devices
@ -726,6 +728,7 @@ structure_Attr($@)
In this example the status of kitchen is either on or off. The status In this example the status of kitchen is either on or off. The status
of house is either Any_on or All_off. of house is either Any_on or All_off.
</li> </li>
<a id="structure-attr-struct_type_map" data-pattern=".*_map"></a>
<li>&lt;struct_type&gt;_map<br> <li>&lt;struct_type&gt;_map<br>
With this attribute, which has to specified for the structure- With this attribute, which has to specified for the structure-
<b>member</b>, you can redefine the value reported by a specific <b>member</b>, you can redefine the value reported by a specific
@ -757,7 +760,7 @@ structure_Attr($@)
or, if also absent, the STATE internal. or, if also absent, the STATE internal.
</li> </li>
<a name="evaluateSetResult"></a> <a id="structure-attr-evaluateSetResult"></a>
<li>evaluateSetResult<br> <li>evaluateSetResult<br>
if a set command sets the state of the structure members to something 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 different from the set command (like set statusRequest), then you have to
@ -765,6 +768,7 @@ structure_Attr($@)
compute the new status. compute the new status.
</li> </li>
<a id="structure-attr-propagateAttr"></a>
<li>propagateAttr &lt;regexp&gt;<br> <li>propagateAttr &lt;regexp&gt;<br>
if the regexp matches the name of the attribute, then this attribute will if the regexp matches the name of the attribute, then this attribute will
be propagated to all the members. The default is .* (each attribute) for be propagated to all the members. The default is .* (each attribute) for
@ -777,19 +781,21 @@ structure_Attr($@)
</ul> </ul>
</li> </li>
<a id="structure-attr-setStateIndirectly"></a>
<li>setStateIndirectly<br> <li>setStateIndirectly<br>
If true (1), set the state only when member devices report a state If true (1), set the state only when member devices report a state
change, else the state is first set to the set command argument. Default change, else the state is first set to the set command argument. Default
is 0. is 0.
</li> </li>
<a id="structure-attr-setStructType"></a>
<li>setStructType<br> <li>setStructType<br>
If true (1), then the &lt;struct-type&gt; will be set as an attribute for If true (1), then the &lt;struct-type&gt; will be set as an attribute for
each member device to the name of the structure. True is the default for each member device to the name of the structure. True is the default for
featurelevel <= 5.8. featurelevel <= 5.8.
</li> </li>
<a name="structexclude"></a> <a id="structure-attr-structexclude"></a>
<li>structexclude<br> <li>structexclude<br>
Note: this is an attribute for the member device, not for the struct Note: this is an attribute for the member device, not for the struct
itself.<br> itself.<br>
@ -815,11 +821,11 @@ structure_Attr($@)
=end html =end html
=begin html_DE =begin html_DE
<a name="structure"></a> <a id="structure"></a>
<h3>structure</h3> <h3>structure</h3>
<ul> <ul>
<br> <br>
<a name="structuredefine"></a> <a id="structure-define"></a>
<b>Define</b> <b>Define</b>
<ul> <ul>
<code>define &lt;name&gt; structure &lt;struct_type&gt; &lt;dev1&gt; <code>define &lt;name&gt; structure &lt;struct_type&gt; &lt;dev1&gt;
@ -854,13 +860,15 @@ structure_Attr($@)
</ul> </ul>
<br> <br>
<a name="structureset"></a> <a id="structure-set"></a>
<b>Set</b> <b>Set</b>
<ul> <ul>
<a id="structure-set-saveStructState"></a>
<li>saveStructState &lt;readingName&gt;<br> <li>saveStructState &lt;readingName&gt;<br>
Der Status (genauer: state Reading) aller Mitglieder wird im angegebenen Der Status (genauer: state Reading) aller Mitglieder wird im angegebenen
Reading Komma separiert gespeichert. Reading Komma separiert gespeichert.
</li><br> </li><br>
<a id="structure-set-restoreStructState"></a>
<li>restoreStructState &lt;readingName&gt;<br> <li>restoreStructState &lt;readingName&gt;<br>
Der Status der Mitglieder wird aus dem angegebenen Reading gelesen, und Der Status der Mitglieder wird aus dem angegebenen Reading gelesen, und
via "set Mitgliedsname StatusWert" gesetzt. via "set Mitgliedsname StatusWert" gesetzt.
@ -878,17 +886,17 @@ structure_Attr($@)
umgekehrten Reihenfolge ausgef&uuml;hrt. umgekehrten Reihenfolge ausgef&uuml;hrt.
</ul> </ul>
<br> <br>
<a name="structureget"></a> <a id="structure-get"></a>
<b>Get</b> <b>Get</b>
<ul> <ul>
Get wird im Structur-Device nicht unterst&uuml;tzt. Get wird im Structur-Device nicht unterst&uuml;tzt.
</ul> </ul>
<br> <br>
<a name="structureattr"></a> <a id="structure-attr"></a>
<b>Attribute</b> <b>Attribute</b>
<ul> <ul>
<a name="async_delay"></a> <a id="structure-attr-async_delay"></a>
<li>async_delay<br> <li>async_delay<br>
Wenn dieses Attribut gesetzt ist, werden ungefilterte set Kommandos nicht Wenn dieses Attribut gesetzt ist, werden ungefilterte set Kommandos nicht
sofort an die Clients weitergereicht. Stattdessen werden sie einer sofort an die Clients weitergereicht. Stattdessen werden sie einer
@ -912,7 +920,7 @@ structure_Attr($@)
der Struktur-Status ber&uuml;cksichtigt, sonst werden diese ignoriert. der Struktur-Status ber&uuml;cksichtigt, sonst werden diese ignoriert.
</li> </li>
<a name="clientstate_behavior"></a> <a id="structure-attr-clientstate_behavior"></a>
<li>clientstate_behavior<br> <li>clientstate_behavior<br>
Der Status einer Struktur h&auml;ngt von den Status der zugef&uuml;gten Der Status einer Struktur h&auml;ngt von den Status der zugef&uuml;gten
Devices ab. Dabei wird das propagieren der Status der Devices in zwei Devices ab. Dabei wird das propagieren der Status der Devices in zwei
@ -940,7 +948,7 @@ structure_Attr($@)
</ul> </ul>
</li> </li>
<a name="clientstate_priority"></a> <a id="structure-attr-clientstate_priority"></a>
<li>clientstate_priority<br> <li>clientstate_priority<br>
Wird die Struktur auf ein relatives Verhalten eingestellt, so wird die Wird die Struktur auf ein relatives Verhalten eingestellt, so wird die
Priorit&auml;t der Devicestatus &uuml;ber das Attribut Priorit&auml;t der Devicestatus &uuml;ber das Attribut
@ -966,6 +974,7 @@ structure_Attr($@)
stehen. stehen.
</li> </li>
<a id="structure-attr-struct_type_map" data-pattern=".*_map"></a>
<li>&lt;struct_type&gt;_map<br> <li>&lt;struct_type&gt;_map<br>
Mit diesem Attribut, das dem Struktur-<b>Mitglied</b> zugewiesen werden Mit diesem Attribut, das dem Struktur-<b>Mitglied</b> zugewiesen werden
muss, koennen die Werte, die die einzelnen Struktur- Mitglieder melden, muss, koennen die Werte, die die einzelnen Struktur- Mitglieder melden,
@ -999,7 +1008,7 @@ structure_Attr($@)
aus, bzw. falls dieser nicht existiert, dessen STATE. aus, bzw. falls dieser nicht existiert, dessen STATE.
</li> </li>
<a name="evaluateSetResult"></a> <a id="structure-attr-evaluateSetResult"></a>
<li>evaluateSetResult<br> <li>evaluateSetResult<br>
Falls ein set Befehl den Status der Struktur-Mitglieder auf was Falls ein set Befehl den Status der Struktur-Mitglieder auf was
unterschiedliches setzt (wie z.Bsp. beim set statusRequest), dann muss unterschiedliches setzt (wie z.Bsp. beim set statusRequest), dann muss
@ -1007,6 +1016,7 @@ structure_Attr($@)
neuen Status auswerten soll. neuen Status auswerten soll.
</li> </li>
<a id="structure-attr-propagateAttr"></a>
<li>propagateAttr &lt;regexp&gt;<br> <li>propagateAttr &lt;regexp&gt;<br>
Falls der Regexp auf den Namen des Attributes zutrifft, dann wird dieses Falls der Regexp auf den Namen des Attributes zutrifft, dann wird dieses
Attribut an allen Mitglieder weitergegeben. F&uuml;r featurelevel <= 5.9 Attribut an allen Mitglieder weitergegeben. F&uuml;r featurelevel <= 5.9
@ -1021,18 +1031,21 @@ structure_Attr($@)
</ul> </ul>
</li> </li>
<a id="structure-attr-setStateIndirectly"></a>
<li>setStateIndirectly<br> <li>setStateIndirectly<br>
Falls wahr (1), dann wird der Status der Struktur nur aus dem Falls wahr (1), dann wird der Status der Struktur nur aus dem
Statusmeldungen der Mitglied-Ger&auml;te bestimmt, sonst wird zuerst der Statusmeldungen der Mitglied-Ger&auml;te bestimmt, sonst wird zuerst der
Status auf dem set Argument gesetzt. Die Voreinstellung ist 0. Status auf dem set Argument gesetzt. Die Voreinstellung ist 0.
</li> </li>
<a id="structure-attr-setStructType"></a>
<li>setStructType<br> <li>setStructType<br>
Falls wahr (1), &lt;struct-type&gt; wird als Attribute f&uuml;r jedes Falls wahr (1), &lt;struct-type&gt; wird als Attribute f&uuml;r jedes
Mitglied-Ger&auml;t auf dem Namen der Struktur gesetzt. Mitglied-Ger&auml;t auf dem Namen der Struktur gesetzt.
Wahr ist die Voreinstellung f&uuml;r featurelevel <= 5.8. Wahr ist die Voreinstellung f&uuml;r featurelevel <= 5.8.
</li> </li>
<a id="structure-attr-structexclude"></a>
<li>structexclude<br> <li>structexclude<br>
Bei gesetztem Attribut wird set, attr/deleteattr ignoriert. Dies Bei gesetztem Attribut wird set, attr/deleteattr ignoriert. Dies
trifft ebenfalls auf die Weitergabe des Devicestatus an die Struktur zu. trifft ebenfalls auf die Weitergabe des Devicestatus an die Struktur zu.