Lange habe ich überlegt wie ich eine (für mich) sinnvolle Bezeichnung der Devices innerhalb von FHEM umsetze. Da ich schon früh mit der Entwicklung eines eigenem Frontends begonnen hatte brauchte ich zwei Ebenen:
Ursprünglich unterstützte FHEM lediglich die Anzeige des Devicenamen. Anfangs behalf ich mir den menschenlesbaren Namen in dem Attribut comment zu speichern, was mir aber schnell missfiel. Dadurch verbaute ich mir die Möglichkeit tatsächliche Kommentare zu einem Device zu hinterlegen. Nach ein wenig Überredungskunst baute Rudolf schließlich das Attribut alias ein, welches fortan für die lesbare Darstellung einer Devicebezeichnung genutzt werden konnte.
Dadurch konnte ich nun folgende Definitionen in FHEM realisieren:
define EG.wz.DI.Decke X10 lm12 A 3 attr EG.wz.DI.Decke alias Strahler mitte attr EG.wz.DI.Decke model lm12
Die Bezeichnung des eigentlichen Devicenamen (in dem Beispiel: EG.wz.DI.Decke) folgt einem von mir definierten Schema, das ich hier beschreiben will.
Der Aufbau des Devicenamen gestaltet sich wie folgt:
Prefix 1 | Beschreibt die Lokation im Gebäude / auf dem Grundstück | |
Prefix 2 | Beschreibt den Raum | |
Prefix 3 | Beschreibt den Typ des Senders / Empfängers | |
Name | Der eigentliche Devicename | |
Postfix 1 | Laufende Nummer oder weitere Zuordnung | |
Postfix 2 | Weitere Zuordnung |
Ausnahmen bilden Jobs, Watchdogs, etc. Diese sind nach folgendem Schema aufgebaut:
Prefix |
Beschreibt den Typ (z.B. at oder wd) | |
Nummer |
Fortlaufende Nummer | |
Device | Das anzuwendende Device |
Alle Felder werden durch einen Punkt voneinander getrennt.
Beispiel eines Dimmers im Wohnzimmer, Erdgeschoß:
Prefix 1 | Prefix 2 | Prefix 3 | Name | Postfix 1 | Postfix 2 | Bemerkung | ||||||
EG | . | wz | . | DI | . | Decke | Bezeichnug des Devices | |||||
EG | . | wz | . | DI | . | Decke | . | log | Bezeichnung des Logfiles |
Beispiel einer Devicegruppe die mehrere Lichter schaltet im Wohnzimmer, Erdgeschoß:
Prefix 1 | Prefix 2 | Prefix 3 | Name | Postfix 1 | Postfix 2 | Bemerkung | ||||||
EG | . | wz | . | SD | . | Licht | . | grp | Bezeichnug einer Devicesgruppe | |||
EG | . | wz | . | SD | . | Licht | . | grp | . | log | Bezeichnung des Logfiles |
Beispiel eines Jobs für das Device EG.wz.SD.Licht.grp:
Prefix | Nr | Device | Parameter | Bemerkung | ||||
at | . | 10 | . | EG.wz.DI.Decke | <Parameter> | Bezeichnung eine at-Jobs für ein Device |
Folgende Schematas haben sich für mich als sinnvoll ergeben:
Prefix 1 | ID | Beschreibung | ||
KG | Kellergeschoß | |||
EG | Erdgeschoß | |||
OG | Obergeschoß | |||
DG | Dachgeschoß | |||
GV | Grundstück vorn | |||
GH | Grundstück hinten | |||
NN | Nicht definiert / spezifiziert | |||
Prefix 2 | ID | Beschreibung | ||
bz | Badezimmer | |||
ez | Esszimmer | |||
fl | Flur | |||
ga | Garage | |||
hz | Heizungskeller | |||
k1 | Kellerraum 1 | |||
k2 | Kellerraum 2 | |||
k3 | Kellerraum 3 | |||
ku | Küche | |||
kz | Kinderzimmer | |||
mz | Mehrzweckraum | |||
sr | Serverraum | |||
sz | Schlafzimmer | |||
wc | WC | |||
wz | Wohnzimmer | |||
xx | Nicht definiert / spezifiziert | |||
Prefix 3 | ID | Beschreibung | ||
BM | Bewegungsmelder | |||
DI | Dimmer | |||
DS | Dämmerungssensor | |||
FB | Fernbedienung | |||
GD | Gadetektor | |||
GZ | Gaszähler | |||
HS | Handsender | |||
HZ | Heizungsventil | |||
MS | Master/Slave Steckdose | |||
NE | Network | |||
RM | Rauchmelder | |||
RO | Rollade | |||
RP | Repeater | |||
SD | Steckdose | |||
TF | Temperatur- und Luftfeuchtesensor | |||
TK | Tür- und Fensterkontakt | |||
WD | Wasserdetektor | |||
WE | Wetterstation | |||
WS | Wandschalter | |||
XX | Nicht definiert / spezifiziert | |||
Postfix 1/2 | ID | Beschreibung | ||
grp | Gruppe | |||
dum | Dummy Device | |||
log | Loging | |||
not | Notify |
Dieser Aufbau der Namensvergabe von Devices in FHEM soll lediglich eine Anregung für den Einen oder die Andere bei der Qual der Wahl liefern.