Gerätename

Aus FHEMWiki
Zur Navigation springen Zur Suche springen

Erläuterung

Jedes Gerät wird bei der Erstellung mit define mit einem Namen versehen, über den es im weiteren in Kommandos, Skripten, Aktionen identifiziert wird. Dies kann dann über den gesamten Namen oder auch in manchen Fällen über Namensmuster geschehen. Im letzteren Fall wird dann eine Aktion für alle Geräte ausgeführt, deren Gerätename auf das Muster passt. Genaueres dazu wird in der Referenz erläutert.

Umbenennen

Geräte können später umbenannt werden (Rename), wobei FHEM versucht, möglichst intelligent, abhängige Objekte zu finden und mit umzubenennen. Auch versuchen manche Module intelligente Hilfe bei Umbenennungen, z. B. CUL_HM mit SET deviceRename <newName>, bei dem versucht wird, die HM-Channels eines Gerätes gleich mit zu erfassen.

Allerdings können dabei (eigene) Skripte mit "hart kodierten" Namen oder auch Aktionen, die auf Gerätemuster (s.o.) basieren, übersehen werden und daher nicht mehr korrekt funktionieren. Vorsicht ist also angebracht.

Vergaberegeln

Es empfiehlt sich daher, möglichst frühzeitig im Projekt Regeln für die Vergabe von Gerätenamen zu finden. Beispiele dafür finden sich hier oder in der Einsteigerfibel (S. 18). So können Namen von Anfang an korrekt vergeben und stabil über die Projektzeit verwendet werden.

Restriktionen

Gerätenamen unterliegen folgenden Restriktionen und Empfehlungen:

  1. Die Länge ist grundsätzlich durch die Praktikabilität (Lesbarkeit, Tippaufwand und Fehlervermeidung in Skripten) begrenzt. Technische Längenbeschränkungen sind bei der Erstellung nicht vorhanden. Es empfiehlt sich aber dringend, maximal 32 Zeichen zu verwenden, da einige Module (z. B. DbLog, configdb) Gerätenamen bis zu einer Länge von 32 Zeichen korrekt unterstützen.
  2. Zulässige Zeichen sind die englischen Groß- und Kleinbuchstaben ("a".."z", "A".."Z"), die Ziffern ("0".."9"), der Unterstrich "_" und (im Moment der Definition) auch der Doppelpunkt ":". Letzter kann z. B. beim Einsatz von Notify als Trennzeichen missinterpretiert werden. Daher die Empfehlung: keinen Doppelpunkt verwenden.

Ab Revision 13938 ist der Doppelpunkt im Gerätenamen nicht mehr erlaubt, siehe forbid : in device name.