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