Attribut: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Verweise ergänzt)
Zeile 1: Zeile 1:
'''{{Link2CmdRef|Lang=de|Anker=Attribute|Label=Attribute}}''' sind ein wichtiges Mittel, um das Verhalten von FHEM insgesamt ({{Link2CmdRef|Lang=de|Anker=global|Label=global}}) oder von einzelnen Geräten bzw. Geräteklassen zu beeinflussen.  
'''{{Link2CmdRef|Lang=de|Anker=Attribute|Label=Attribute}}''' sind ein wichtiges Mittel, um das Verhalten von [[FHEM]] insgesamt ({{Link2CmdRef|Lang=de|Anker=global|Label=global}}) oder von einzelnen [[Gerät|Geräten]] bzw. Geräteklassen zu beeinflussen.  


== Allgemeines ==
== Allgemeines ==
Damit der Nutzer das Verhalten einer einzelnen Gerätedefinition zur Laufzeit individuell anpassen kann, gibt es in FHEM für jede Definition sogenannte Attribute.
Damit der Nutzer das Verhalten einer einzelnen Gerätedefinition zur Laufzeit individuell anpassen kann, gibt es in FHEM für jede Definition sogenannte Attribute.


Attribute werden zusammen mit dem <code>define</code>-Befehl des jeweiligen Devices beim Speichern der aktuellen Konfiguration von FHEM in die [[Konfiguration|Konfigurationsdatei]] geschrieben. Beim Neustart werden die entsprechenden Befehle ausgeführt um alle Definition inkl. Attribute wieder anzulegen.
Attribute werden zusammen mit dem <code>define</code>-Befehl des jeweiligen [[Gerät|Devices]] beim Speichern der aktuellen Konfiguration von FHEM in die [[Konfiguration|Konfigurationsdatei]] geschrieben. Beim Neustart werden die entsprechenden Befehle ausgeführt um alle Definition inkl. Attribute wieder anzulegen.


Alle Geräte haben Attribute. Diese werden mittels des Befehls <code>attr</code> gesetzt, angezeigt mit dem Befehl <code>displayattr</code>, und mit dem Kommando <code>deleteattr</code> entfernt.
Alle [[Gerät|Geräte]] haben Attribute. Diese werden mittels des Befehls <code>attr</code> gesetzt, angezeigt mit dem Befehl <code>displayattr</code>, und mit dem Kommando <code>deleteattr</code> entfernt.


== Globale Attribute ==
== Globale Attribute ==


Globale Attribute können von allen Geräten genutzt werden. Welche vorhanden sind, kann mit <code>list global</code> ermittelt werden
Globale Attribute können von allen [[Gerät|Geräten]] genutzt werden. Welche vorhanden sind, kann mit <code>list global</code> ermittelt werden


== Lokale Attribute ==
== Lokale Attribute ==


Als lokale Attribute werden Attribute bezeichnet, die nur auf individuelle Geräteklassen oder einzelne Geräte zutreffen. Welche dies sind, wird jeweils durch den Code des Moduls festgelegt, dementsprechend sind Hinweise zur Funktion dieser Attribute in der jeweiligen Beschreibung zum Modul in der {{Link2CmdRef}} zu entnehmen.
Als lokale Attribute werden Attribute bezeichnet, die nur auf individuelle Geräteklassen oder einzelne [[Gerät|Geräte]] zutreffen. Welche dies sind, wird jeweils durch den Code des [[Modul|Moduls]] festgelegt, dementsprechend sind Hinweise zur Funktion dieser Attribute in der jeweiligen Beschreibung zum [[Modul]] in der {{Link2CmdRef}} zu entnehmen.


== userattr ==
== userattr ==
Neben den von FHEM und den jeweils verwendeten Modulen bereitgestellten Attributen besteht die Möglichkeit, eigene Attribute zu definieren.  
Neben den von FHEM und den jeweils verwendeten [[Modul|Modulen]] bereitgestellten Attributen besteht die Möglichkeit, eigene Attribute zu definieren.  
=== Global ===
=== Global ===
Dies kann zentral erfolgen, indem <code>attr global userattr <attributelist></code> verwendet wird. <attributelist> ist eine durch Leerzeichen getrennte Liste, die die Namen der zusätzlichen Attribute enthält.  
Dies kann zentral erfolgen, indem <code>attr global userattr <attributelist></code> verwendet wird. <attributelist> ist eine durch Leerzeichen getrennte Liste, die die Namen der zusätzlichen Attribute enthält.  
Zeile 23: Zeile 23:
Damit stehen die betreffenden Attribute dann system-weit zur Verfügung. Beim Erstellen oder Löschen von eigenen Attributen ist darauf zu achten, dass der Name des Attributs nicht durch anderweitig verwendet wurde.  
Damit stehen die betreffenden Attribute dann system-weit zur Verfügung. Beim Erstellen oder Löschen von eigenen Attributen ist darauf zu achten, dass der Name des Attributs nicht durch anderweitig verwendet wurde.  


Manche Geräte (wie [[FHEMWEB]]) definieren automatisch neue globale Attribute beim ersten Anlegen eines Gerätes dieses Typs.
Manche [[Gerät|Geräte]] (wie [[FHEMWEB]]) definieren automatisch neue globale Attribute beim ersten Anlegen eines [[Gerät|Gerätes]] dieses Typs.


=== Einzelne Geräte ===
=== Einzelne Geräte ===
Mit <code>attr <devicename> userattr <attributelist></code> können auch ein oder mehrere neue lokale Attribute für bestimmte individuelle Geräte eingeführt werden.  
Mit <code>attr <devicename> userattr <attributelist></code> können auch ein oder mehrere neue lokale Attribute für bestimmte individuelle [[Gerät|Geräte]] eingeführt werden.  


== ReadingsGroup ==
== ReadingsGroup ==
[[ReadingsGroup]] stellt eine Möglichkeit dar, neben Readings auch Attribute strukturiert darzustellen.  
[[ReadingsGroup]] stellt eine Möglichkeit dar, neben [[Readings]] auch Attribute strukturiert darzustellen.  
Mit Hilfe dieses Moduls können auch den End-Anwendern auf einfache Weise vielfältige Einstellmöglichkeiten zur Verfügung gestellt werden.
Mit Hilfe dieses [[Modul|Moduls]] können auch den End-Anwendern auf einfache Weise vielfältige Einstellmöglichkeiten zur Verfügung gestellt werden.


== Weitere Infos für Modulentwickler ==
== Weitere Infos für Modulentwickler ==

Version vom 9. August 2018, 16:14 Uhr

Attribute sind ein wichtiges Mittel, um das Verhalten von FHEM insgesamt (global) oder von einzelnen Geräten bzw. Geräteklassen zu beeinflussen.

Allgemeines

Damit der Nutzer das Verhalten einer einzelnen Gerätedefinition zur Laufzeit individuell anpassen kann, gibt es in FHEM für jede Definition sogenannte Attribute.

Attribute werden zusammen mit dem define-Befehl des jeweiligen Devices beim Speichern der aktuellen Konfiguration von FHEM in die Konfigurationsdatei geschrieben. Beim Neustart werden die entsprechenden Befehle ausgeführt um alle Definition inkl. Attribute wieder anzulegen.

Alle Geräte haben Attribute. Diese werden mittels des Befehls attr gesetzt, angezeigt mit dem Befehl displayattr, und mit dem Kommando deleteattr entfernt.

Globale Attribute

Globale Attribute können von allen Geräten genutzt werden. Welche vorhanden sind, kann mit list global ermittelt werden

Lokale Attribute

Als lokale Attribute werden Attribute bezeichnet, die nur auf individuelle Geräteklassen oder einzelne Geräte zutreffen. Welche dies sind, wird jeweils durch den Code des Moduls festgelegt, dementsprechend sind Hinweise zur Funktion dieser Attribute in der jeweiligen Beschreibung zum Modul in der commandref zu entnehmen.

userattr

Neben den von FHEM und den jeweils verwendeten Modulen bereitgestellten Attributen besteht die Möglichkeit, eigene Attribute zu definieren.

Global

Dies kann zentral erfolgen, indem attr global userattr <attributelist> verwendet wird. <attributelist> ist eine durch Leerzeichen getrennte Liste, die die Namen der zusätzlichen Attribute enthält.

Damit stehen die betreffenden Attribute dann system-weit zur Verfügung. Beim Erstellen oder Löschen von eigenen Attributen ist darauf zu achten, dass der Name des Attributs nicht durch anderweitig verwendet wurde.

Manche Geräte (wie FHEMWEB) definieren automatisch neue globale Attribute beim ersten Anlegen eines Gerätes dieses Typs.

Einzelne Geräte

Mit attr <devicename> userattr <attributelist> können auch ein oder mehrere neue lokale Attribute für bestimmte individuelle Geräte eingeführt werden.

ReadingsGroup

ReadingsGroup stellt eine Möglichkeit dar, neben Readings auch Attribute strukturiert darzustellen. Mit Hilfe dieses Moduls können auch den End-Anwendern auf einfache Weise vielfältige Einstellmöglichkeiten zur Verfügung gestellt werden.

Weitere Infos für Modulentwickler

Hinweise und Links

Die Commandref zum Befehl attr enthält einige Beispiele zur Verwendung von Attributen.