Nachdem FHEM nun läuft, mit Homematic Geräten sprechen kann und wir uns eine Namenskonvention überlegt haben, möchte ich einen Weg vorstellen, die Struktur der FHEM Konfigurationsdateien einfacher zu gestalten.

Der FHEM Server speichert standardmäßig alles immer in der Konfigurationsdatei “fhem.cfg”. Das ist eine sehr einfache Lösung, führt jedoch mit einer wachsenden Anzahl an Homematic Geräten und einer wachsenden Komplexität der Konfiguration zu einer großen Unübersichtlichkeit.

Ein Ansatz, den ich hier vorstellen möchte, ist das Auslagern von Teilen der Konfiguration in weitere Konfigurationsdateien. Hierbei wird von FHEM zuerst die Datei “fhem.cfg” ausgelesen. Die Datei “fhem.cfg” bildet das Zentrum aller Konfigurationsdateien. Hier sind Verweise auf die anderen Konfigurationsdateien vorhanden, die FHEM ebenfalls ausliest und bearbeitet.

Das Trennen der gesamten Konfiguration in mehrere Konfigurationsdateien hat unter anderem auch den Vorteil, dass man Teile des gesamten Heimautomations-Netzes schnell aus- und wieder einschalten kann. Das kann man durch einfaches Auskommentieren, bzw. Einkommentieren der entsprechenden Konfigurationsdatei.

Ich habe mich dazu entschlossen, die Konfigurationsdateien nach der Geräteart zu unterscheiden. Ich möchte beispielsweise die Konfiguration aller Raffstoren in einer Datei durchführen, dabei kann man auch das Verhalten der Raffstoren in einzelnen Zimmern konfigurieren.

Man kann eine neue Konfigurationsdatei auch mit Hilfe von PuTTY und der Konsole bewerkstelligen. Ich habe einen einfachen – in meinen Augen leichteren – Ansatz dafür.

Man kann direkt über das Webinterface von FHEM im Bereich “Edit files” die bestehende “fhem.cfg” öffnen. Daraufhin erscheint im oberen Bereich ein Textfeld mit einem Button “Save as” daneben. Man kann also ganz bequem einen neuen gewünschten Dateinamen vergeben und auf den Button klicken.

Neue Konfigurationsdatei anlegen

FHEM erstellt daraufhin eine neue Konfigurationsdatei mit dem gewünschten Namen in dem Verzeichnis “./opt/fhem/FHEM”. Der volle Pfad zur neuen Konfigurationsdatei ist dann also

./opt/fhem/FHEM/Raffstoren.cfg

Bitte achte darauf, dass die neue Konfigurationsdatei zunächst einmal leer ist.

Damit die neue Konfigurationsdatei von FHEM auch geladen und angesprochen wird, muss in der Hauptdatei “fhem.cfg” auf die neue Datei verlinkt werden. Das geschieht mit der Zeile

include /opt/fhem/FHEM/Raffstoren.cfg

Nach den Änderungen ist ein kurzer Neustart von FHEM erforderlich, damit die neue Struktur der Konfigurationsdateien eingelesen werden kann.

FacebooktwitterFacebooktwitter

Am 17.09.2016 findet in Beuren an der Aach zwischen 10:00 Uhr und 12:00 Uhr ein Kinder-Flohmarkt statt. Der Veranstalter ist der Elternbeirat des Kindergartens im Ort.

Der Kinder-Flohmarkt wird im Gemeindehaus ausgerichtet. Das befindet sich in der Ortsmitte, direkt hinter dem Rathaus. Man kann dort bequem parken und erreicht somit ziemlich einfach das Gemeindehaus.

Für die Kinder ist neben dem Gemeindehaus ein kleiner Spielplatz, auf dem sich die Kleinen (und Großen) zwischenrein die Zeit vertreiben können.

Die Tischgebühr beträgt 5,- €. Verkäufern, die sich nicht angemeldet haben und spontan vorbei schauen, hilft der Elternbeirat gerne beim Aufstellen und Einrichten des Tisches. Tische sind generell vorhanden und müssen nicht mitgenommen werden.

Als besonderes Extra bietet dieser Kinder-Flohmarkt eine Mädels-Ecke. Hier können die (bereits erwachsenen) Mädchen und Frauen ihre Waren zum Verkauf anbieten.

Das leibliche Wohl wird durch einen Kuchen- und Getränkeverkauf zu günstigen Preisen sichergestellt.

Kinderflohmarkt Beuren an der Aach am 17.09.2016

FacebooktwitterFacebooktwitter

Geräte in FHEM werden nach dem Anbinden standardmäßig zunächst sehr kryptisch angezeigt. Dieser setzt sich aus der offiziellen Modellbezeichnung des Homematic Gerätes und der HMID zusammen. Zusammen ergibt das beispielsweise einen Namen wie “CUL_HM_HM_TC_IT_WM_W_EU_45F7E0”. Da man sich damit nur schlecht merken kann, welches Gerät für was zuständig ist, ist es ratsam, sich im Vorfeld eine Namenskonvention zu überlegen. Wenn man das macht, bevor man alle Geräte an FHEM anbindet, erspart es einem zu einem späteren Zeitpunkt sehr viel Arbeit zum Umbenennen der Geräte.

Es gibt viele Ansätze für verschiedene Namenskonventionen. Die entsprechenden Regeln müssen natürlich auch zum Anwendungszweck passen. Am Ende entscheidet also jeder selbst über seine für sich passende Namenskonvention. Im Bereich der Heimautomation muss einfach ersichtlich sein, um welches Gerät es sich handelt und wo es sich befindet.

Ich entschied mich für folgendes einfaches Schema:

<Zimmer>_<Gerät>

Ein Rauchmelder im Büro ist also folgendermaßen benannt:

Arbeitszimmer_Rauchmelder

Sind mehrere Geräte eines Typs in einem Raum vorhanden, wird nummeriert, also beispielsweise

Arbeitszimmer_Fensterkontakt_1
Arbeitszimmer_Fensterkontakt_2

Gibt es mehrere Zimmer eines Typs, werden die Räume ebenfalls nummeriert, jedoch mit einem Punkt separiert.

Kinderzimmer.1_Rauchmelder
Kinderzimmer.2_Rauchmelder

Umbenennen von Geräten

Geräte müssen nach dem Anbinden an FHEM umbenannt werden, um in die jeweils gewählte Namenskonvention hinein zu passen. Das Umbenennen eines angebundenen Gerätes kann mit dem folgenden Befehl gemacht werden. Dabei wird der Befehl in die Kommandozeile im Webinterface von FHEM eingegeben:

rename <Alter_Gerätename> <Neuer_Gerätename>
rename HM-SEC-SD_32D5A4 Arbeitszimmer_Rauchmelder

FacebooktwitterFacebooktwitter

FHEM kann mit einer Vielzahl verschiedener Geräte kommunizieren. Dabei muss man darauf achten, dass es unterschiedliche Kommunikationsprotokolle gibt, die die Geräte unterstützen. Ich hatte mich für Homematic entschieden, da dieses Protokoll eine bidirektionale Kommunikation vorsieht und eine Installation mit Homematic Geräten extrem flexibel aufgebaut werden kann. Bidirektionale Kommunikation bedeutet in diesem Fall, dass ein Kommunikationsvorgang von der entgegennehmenden Stelle bestätigt wird. Damit hat man beispielsweise die Sicherheit, dass ein Schalter auch wirklich geschaltet hat, da er den Schaltvorgang bestätigt, nachdem er den Schaltvorgang durchgeführt hat.

Der Raspberry Pi und FHEM benötigen jedoch eine Schnittstelle, um mit den Homematic Geräten kommunizieren zu können. Hier gibt es zwei gängige Geräte, die die Schnittstelle zu den Homematic Geräten herstellen können:

  • CUL Stick
    Der CUL Stick wird in eine freie USB Schnittstelle am Raspberry Pi eingesteckt.
  • HomeMatic Konfigurations-Adapter LAN
    Dieser Adapter wird per LAN Schnittstelle in das lokale Netzwerk eingebunden und kommuniziert per LAN mit dem FHEM Server. Im Gegensatz zum CUL Stick beherrscht der LAN Adapter auch die verschlüsselte Kommunikation zu Homematic Geräten. Manche Geräte, wie beispielsweise das KeyMatic Funk-Türschloss, beherrschen nur verschlüsselte Kommunikation und können nur über den LAN Adapter angesprochen werden.

Ich habe mich dazu entschlossen, die Homematic Geräte per LAN Adapter anzusprechen. Das ermöglicht einem, zu einem späteren Zeitpunkt, die Heimautomation auch auf solche Geräte auszubauen, die nur verschlüsselte Kommunikationspakete entgegen nehmen. Nachfolgend möchte ich beschreiben, wie man den LAN Adapter einrichtet, damit man die Homematic Geräte ansprechen kann.

Ausgangslage

Was wird benötigt?

Dem HomeMatic Konfigurations-Adapter LAN eine IP-Adresse zuweisen

Zunächst muss der Konfigurations-Adapter mit dem Heim-Netzwerk verbunden und das Netzteil angesteckt werden. Das Zuweisen einer IP Adresse geschieht am einfachsten über die herstellereigene Software “HomeMatic Lan-Interface Configurator”. Nach dem Start der Software scannt das Heim-Netzwerk nach dem Konfigurations-Adapter und listet alle Einträge auf.

HMLan Konfigurationsadapter in Software

Indem man das aufgelistete Gerät markiert und auf den Button “Change IP Settings” klickt, wird ein neues Fenster geöffnet, in dem man dem Gerät eine IP Adresse zuweisen kann.

HMLan IP Adresse ändern

Persönlich bevorzuge ich, alle Geräte per DHCP zu konfigurieren und die feste Zuordnung einer IP Adresse dann über den Router durchzuführen. Im Router stelle ich dann ein, dass einem bestimmten Gerät immer die gleiche IP Adresse zugewiesen werden soll. Meiner Meinung nach lässt sich eine Änderung der IP Konfiguration dann schneller durchführen. Man braucht sich dann nur noch am Router anmelden und die entsprechenden Einstellungen anzupassen. Es ist dann nicht mehr erforderlich, spezielle Software für das Gerät zu verwenden oder IP Änderungen manuell an Geräten durchzuführen. Diese Vorgehensweise ist natürlich jedem selbst überlassen.

HMID herausfinden

Um die HMID auslesen zu können, ist es erforderlich, mit der herstellereigenen Software “HomeMatic-Komponenten konfigurieren” eine einmalige Verbindung zu dem Konfigurations-Adapter herzustellen. Dazu startet man die Software und gibt für die Verbindung die Seriennummer und den AES Key des Konfigurations-Adapters ein. Wenn keine Verbindung zu dem Adapter hergestellt werden kann, muss in den LAN-Einstellungen des Adapters eventuell das Häkchen “AES Encrypt Lan Communication” aktiviert werden.

Die HMID wird in eine Log-Datei auf der Festplatte geschrieben. Da der Ordner standardmäßig versteckt ist, muss man im Datei-Explorer zunächst unter “Ansicht -> Optionen -> Ordner- und Suchoptionen ändern” die ausgeblendeten Ordner und Dateien anzeigen lassen. Unter Windows 10 befindet sich die Log-Datei in dem Ordner “C:\ProgramData\Bidcos-Service”. Hier befindet sich eine Datei mit dem Namen “ids”. Diese Datei hat keine Dateiendung und lässt sich mit dem Windows-Texteditor öffnen. Innerhalb der Log-Datei findet sich die Zeile

BidCoS-Address = 2861738

Diese 7-stellige Adresse ist bei jedem natürlich anders. Man muss sich seine eigene Adresse herausschreiben.

Abgefahren wird es erst jetzt: Denn um die HMID zu erhalten, muss man die ausgelesene BidCoS-Adresse in Hexadezimal umrechnen. Das kann man einfach mit dem Windows-Rechner machen. Dazu muss man den Rechner nur in den Modus “Programmierer” umstellen. Heraus kommt eine 6-stellige hexadezimale Zahl. Das ist unsere HMID:

HMLan HMID

HomeMatic Konfigurations-Adapter LAN in FHEM konfigurieren

Damit sind alle Informationen vorhanden, um den Konfigurations-Adapter in FHEM einrichten zu können. Damit FHEM mit dem Konfigurations-Adapter kommunizieren kann, muss in den LAN-Einstellungen des Adapters zunächst wieder das Häkchen “AES Encrypt Lan Communication” deaktiviert werden.

Um den Konfigurations-Adapter einzurichten, ruft man das Webinterface von FHEM auf (http://raspberrypi:8083) und geht zum Menüpunkt “Edit files -> fhem.cfg”. Hier trägt man in einer freien Zeile

# HM-CFG-LAN Interface
define HMLAN1 HMLAN 192.168.0.232:1000
attr HMLAN1 hmId 2BAAAA

ein. Dabei muss die IP-Adresse und die HMID durch die eigenen Daten ersetzt werden.

Nach einem Klick auf den Button “Save fhem.cfg” ist der Konfigurations-Adapter eingerichtet und einsatzbereit. FHEM kann nun über den Konfigurations-Adapter mit anderen Homematic-Geräten kommunizieren.

FacebooktwitterFacebooktwitter