Structure: Unterschied zwischen den Versionen
K (→Define) |
|||
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 20: | Zeile 20: | ||
<pre>define structure_name structure <struct_type> <dev1> <dev2></pre> | <pre>define structure_name structure <struct_type> <dev1> <dev2></pre> | ||
Wobei <code><struct_type></code> ein beliebiger Bezeichner ist, welcher frei vergeben werden kann und in alle Mitglieder des | Wobei <code><struct_type></code> ein beliebiger Bezeichner ist, welcher frei vergeben werden kann und in alle Mitglieder des Structure Devices als Attribut propagiert wird; <code><dev1> <dev2></code> bezeichnen die Mitglieder des angelegten Structure Gerätes. | ||
=== Attribute === | === Attribute === | ||
Zeile 31: | Zeile 31: | ||
* relativeKnown | * relativeKnown | ||
* last - der Status der Struktur entspricht dem Status des Gerätes, das zuletzt eine Statusänderung erfahren hat | * last - der Status der Struktur entspricht dem Status des Gerätes, das zuletzt eine Statusänderung erfahren hat | ||
==== clientstate_priority ==== | ==== clientstate_priority ==== | ||
Zeile 39: | Zeile 38: | ||
Das Verhalten dieses Attributs ist zusätzlich beeinflusst durch den Wert des Attributs [[structure#clientstate_behavior|clientstate_behavior]]. | Das Verhalten dieses Attributs ist zusätzlich beeinflusst durch den Wert des Attributs [[structure#clientstate_behavior|clientstate_behavior]]. | ||
==== <struct_type>_map ==== | |||
Ohne dieses Attribut wertet ''structure'' erst das Reading ''state'' aus, und nur, falls das nicht existiert, das Internal ''STATE'' (beeinflussbar durch das allgemeine ''stateFormat''-Attribut). Vor allem bei Geräten, bei denen z.B. auch Konfigurationsbefehle in ''state'' geschrieben werden (wie etwa bei [[Z-Wave]]-Komponenten), empfiehlt es sich daher, dieses Attribut zu setzen. | |||
Beispiel für einen ZWave-Fensterkontakt, der zur ''structure'' "Alarm" gehört: | |||
attr <Sensorname> Alarm_map doorWindow | |||
== Anwendungsbeispiele == | == Anwendungsbeispiele == |
Aktuelle Version vom 3. September 2020, 08:33 Uhr
structure | |
---|---|
Zweck / Funktion | |
Zusammenfassung von Geräten (gemeinsam schalten, Status zusammenfassen) | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Automatisierung |
Modulname | 98_structure.pm |
Ersteller | rudolfkoenig |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
structure ist ein Erweiterungsmodul zur Zusammenfassung von Geräten, ursprünglich nur, um diese gemeinsam schalten zu können. Die Funktionalität wurde später erweitert um die Darstellung von Zuständen der in der Struktur zusammengefassten Geräte.
Es ist die Bildung von mehrstufigen Strukturen möglich.
Voraussetzungen
Keine.
Anwendung
Define
define structure_name structure <struct_type> <dev1> <dev2>
Wobei <struct_type>
ein beliebiger Bezeichner ist, welcher frei vergeben werden kann und in alle Mitglieder des Structure Devices als Attribut propagiert wird; <dev1> <dev2>
bezeichnen die Mitglieder des angelegten Structure Gerätes.
Attribute
Gesamtaufstellung: siehe Befehlsreferenz.
clientstate_behavior
Mögliche Werte:
- absolute
- relative
- relativeKnown
- last - der Status der Struktur entspricht dem Status des Gerätes, das zuletzt eine Statusänderung erfahren hat
clientstate_priority
Definiert das Verhalten der structure in Abhängigkeit der enthaltenen Geräte. Das Beispiel
attr myStructure clientstate_priority present absent
bedeutet: wenn mindestens eines des Geräte der Struktur den Status present hat, bekommt die Struktur den Status present (unabhängig vom Status der anderen Geräte der Struktur). Nur, wenn alle Geräte den Status absent haben, bekommt auch die Struktur den Status absent.
Das Verhalten dieses Attributs ist zusätzlich beeinflusst durch den Wert des Attributs clientstate_behavior.
<struct_type>_map
Ohne dieses Attribut wertet structure erst das Reading state aus, und nur, falls das nicht existiert, das Internal STATE (beeinflussbar durch das allgemeine stateFormat-Attribut). Vor allem bei Geräten, bei denen z.B. auch Konfigurationsbefehle in state geschrieben werden (wie etwa bei Z-Wave-Komponenten), empfiehlt es sich daher, dieses Attribut zu setzen. Beispiel für einen ZWave-Fensterkontakt, der zur structure "Alarm" gehört:
attr <Sensorname> Alarm_map doorWindow
Anwendungsbeispiele
Todo: Bis zur Verfügbarkeit komplexerer Beispielbeschreibungen bitte unbedingt auf die commandref zurückgreifen. |
EnOcean - Physischer EnOcean- und virtueller Fhem-Schalter zu einem Device zusammenfassen
Links
- Erklärung des
struct_type
im define String. - Diskussion über die Erweiterung des Moduls um Funktionen für die Status-Anzeige