Als ich mit FHEM angefangen hatte, war mir nicht klar, wie ich eigentlich meine Geräte benennen darf oder in welche Fallen man tappen kann. Die nachfolgende Namenskonvention ist daher lediglich als eine Sammlung von Ideen, welches sich bei mir über die Jahre angesammelt haben, zu verstehen. Ich rate dazu, sich darüber mal anfangs Gedanken zu machen, denn die Umbenennung von Geräten mittels “rename” ist zwar möglich, aber sehr schmerzhaft mitunter.
Groß/Kleinschreibung von Gerätenamen
Ich habe mich dazu entschlossen, alle Geräte einfach mit Großbuchstaben zu benennen, sodass ich keine Probleme dadurch bekommen kann. Beispielsweise ist das Device ULI ein anderes als Uli und dieses wiederrum ein anderes als uli. Genau diese Verwirrung sorgt dann für lustige Probleme - eine Sache, die ich nicht mehr haben wollte.
Aufbau von Gerätenamen
Das Problem mit Gerätenamen ist, dass diese nur einmal vorkommen können was daher heisst: Ich kann nicht in jedem Raum ein Gerät namens “Thermostat” haben. Daher muss eine Unterscheidung her. Ich bin dazu übergegangen, den Aufenthaltsort des Geräts mit in den Gerätenamen aufzunehmen. Zudem nehme ich den Typ des Geräts mit auf - dies verhindert, dass man den Watchdog für das Fenster genauso benennt wie das Fenster selbst.
Raumname im Gerätenamen
Für die Räume will man wohl kaum den vollen Namen im Gerätenamen haben (dazu dient ja nun auch das Attribut “room”), da es nur um eine Unterscheidung geht. Mein Vorschlag ist, die Raumnamen auf drei Zeichen zu begrenzen und daher die Räume beispielsweise so zu benennen:
- BA1: Das erste Bad
- BA2: Das zweite Bad
- BAL: Balkon
- WOH: Wohnzimmer
- KIN: Kinderzimmer
- KUE: Küche
- GAN: Gang
- BUE: Büro
- TRE: Treppenhaus
- TEC: Technik
- INF: Informationen
Etagennamen im Gerätenamen
Wenn man im beabsichtigten Zielobjekt der Heimautomation mehrere Stockwerke abdeckt, so würde ich den Raumanteil des Gerätenamens zusätzlich mit einer Zahl prefixen, also beispielsweise 1BAL für den Balkon im ersten Stock oder KWAS die Waschküche im Keller.
Gerätetyp im Gerätenamen
Wenn man für einen bestimmten Anwendungsfall eine Automatisierung aufbaut, so hat man meist mehrere Geräte die zusammen spielen. Um nun kein Namenschaos auszulösen, bin ich dazu übergegangen, die Gerätetypen in den Namen aufzunehmen. Einige Typen sind dabei aber relativ häufig verwendet und bekommen daher bei mir eine Abkürzung, welche zwischen 2 und 4 Zeichen lang ist:
- DMY: dummy
- HTM: HTTPMOD
- HM: Homematic
- NFY: notify
- RGRP: readingsGroup
- RPXY: readingsproxy
- WADG: watchdog
Andere, welche ich entweder nur einmal verwende (z.B. KS300) oder die schon weniger als 5 Zeichen haben, bleiben einfach so wie diese sind (z.B. MAX, FS20 oder DOIF).
Unterscheidung von Geräten
Ich unterschiede gleiche Geräte innerhalb eines Raumes mit einem Suffix. Habe ich beispielsweise drei Thermostaten im gleichem Raum so benenne ich diese zwar mit THERMOSTAT als Gerätename, hänge jedoch das Suffix NORD, WEST ODER OST mit dran. Oder habe ich mehrere Funksteckdosen innerhalb eines Raumes, so benenne ich diese sprechend. Beispielsweise ist die des Heimkinos, dann eben STECKDOSE_HEIMKINO.
Vorstellung der Namenskonvention
So sieht also dann die Konvention aus:
|
|
Verschiedene Beispiele:
- BA1_MAX_THERMOSTAT (Thermostat im Bad)
- BAL_KS300_WETTERSTATION (Wetterstation auf dem Balkon)
- WOH_HM_STECKDOSE_HEIMKINO (Steckdose im Wohnzimmer für das Heimkino)
- WOH_HM_STECKDOSE_ECKLAMPE (Steckdose im Wohnzimmer für die Ecklampe)
Ein “Achtung” noch
Bindet man weitere Oberflächen usw. an, so muss man sich im klaren sein, dass bei einer Änderung des Gerätenamens man diese unter Umständen ebenso ändern muss (Beispielsweise wenn man die MAX-Thermostate gegen HomeMatic tauscht). Hier muss man dann eben einen TradeOff hinnehmen oder Lösungen wie “ structure ” oder “ readingsProxy ” verwenden.