Es werde Licht: mit HomeMatic und OpenHab – SmartHome Server Tutorial – Teil 2

3. November 2017

Bei meinen ersten SmartHome Gehversuchen vor einigen Jahren, habe ich mit der FS20 Reihen begonnen. Die Serie wurde damals primär von ELV und Conrad vertrieben – der Hersteller eQ-3 hat dann mit den HomeMatic und HomeMatic IP Reihen nachgelegt. In Punkto Zuverlässigkeit und Haltbarkeit hat mich FS20 bereits überzeugt, von daher wollte ich mit der (etwas aktuelleren) HomeMatic Reihe auf jeden Fall eine neue Basis aufbauen.

Das Raspberry Pi HomeMatic Funkmodul

Statt der Steuerungszentrale CCU, die üblicherweise für HomeMatic eingesetzt wird, gibt es auch die Möglichkeit die Steuerung über einen Raspberry Pi umzusetzen. Hierzu bietet ELV ein passendes Modul (link) an:

HomeMatic Raspberry Pi Modul

Das Modul wird als Bausatz vertrieben – eigentlich muss man aber nur den Stecker anlöten. Das Ganze wird dann wie folgt im SmartHome-Server verbaut: (Raspberry PI 3B, Hutschienengehäuse)

HomeMatic Modul im SmartHome Server

Konfiguration und HomeGear

Nachdem das Gehäuse wieder zusammengesteckt ist, müssen zunächst ein paar Anpassungen vorgenommen werden. Beim Raspberry Pi3 gibt es ein nämlich einige „Doppelbelegungen“ mit Wifi und Bluetooth, die dazu führen, dass das Modul nicht direkt funktioniert. Dazu meldet man sich mit Putty an (wie das geht, habe ich in Teil 1 beschrieben) und bearbeitet die Datei config.txt:

sudo vi /boot/config.txt

hier müssen die folgende Zeilen hinzugefügt werden:

dtoverlay=pi3-miniuart-bt
dtparam=spi=on
enable_uart=1

Hinweis: Ja – der VI ist ein gewöhnungsbedürftiger Text-Editor. Aber dafür ist er auf so gut wie jedem Unix-artigem Betriebssystem vorhanden. Zur Erläuterung: mit „i“ wechselt man in den Insert-Modus und kann schreiben. Mit „ESC“ verlässt man den aktuellen Modus, mit „:w“ kann man speichern und mit „:q“ verlässt man den Editor. Mehr Infos gibt es hier – alternativ kann man natürlich auch mcedit, nano, etc. verwenden.

Außerdem muss noch die Datei /boot/cmdline.txt bearbeitet werden. Hier sollten alle console-Einträge bis auf „console=tty1“ entfernt werden. Bei mir sieht die Datei dann so aus: (Bitte nicht einfach kopieren, denn diese Einträge „root=PARTUUID=80791236-02“ werden bei euch nicht passen)

dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=80791236-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

Als Nächstes werden die nicht benötigten seriellen Schnittstellen deaktiviert. Hierzu die folgenden Befehle ausführen:

sudo systemctl disable serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@serial0.service 
sudo systemctl disable serial-getty@ttyS0.service

Die Kommunikation mit dem Modul erfolgt über die Software HomeGear. Zur Installation gibt man einfach

openhabian-config

auf der Shell ein und wählt im darauffolgenden Menü erst „Optional Components“ und dann „HomeGear“ aus:

Installation HomeGear1

Installation HomeGear2

Nach der Installation der Software muss die Konfigurationsdatei angepasst werden:

vi /etc/homegear/families/homematicbidcos.conf

Hier gibt es einen Abschnitt HM-MOD-RPI-PCB, der wie folgt aussehen sollte:

Installation HomeGear3

Nachdem das Ganze gespeichert wurde, einmal den Raspberry mit „reboot“ neu starten, damit die Änderungen an /boot/config.txt usw. übernommen werden.

Ran an die Steckdose

ACHTUNG!: Bei der Montage des Funkmoduls wird am 230V Stromnetz gearbeitet. Der Einbau sollte durch eine qualifizierte Elektro-Fachkraft erfolgen. Auf jeden Fall vorab Sicherungen raus und auf Spannungsfreiheit prüfen!

Die ersten HomeMatic Geräte, die eingebunden werden, sind Unterputz Funk-Aktoren zur Steuerung der Deckenlampen (gibt es z.B. hier). Das Schöne bei diesen Geräten ist: a) man sieht sie nicht und b) die Lampe kann nach wie vor normal über einen Lichtschalter geschaltet werden – aber eben auch per Funk.

Homematic Funk Schaltaktor

Angeschlossen wird das Ganze dann folgendermaßen:

HomeMatic Funkaktor Anschluss

Bei einigen Wänden konnte ich das Gerät hinter dem Schalter platzieren. Bei dieser Wand ging das leider nicht. Also habe ich kurzerhand die wenig benötigte Steckdose, die sich früher unter dem Lichtschalter befand ausgebaut und das HomeMatic Modul dort platziert.

HomeMatic Unterputz Lichtschalter

Gerät anlernen

Um jetzt den Funk-Aktor mit dem Raspberry Pi und Homegear zu verbinden, müssen beide in den Anlern-Modus versetzt werden. Das heißt: Jetzt kommt der spannende Moment, in dem wir feststellen ob die vorab ausgeführten Schritte auch wirklich funktionieren. Hierzu wechselt man in Putty in die HomeGear-Konsole:

sudo homegear -r

Die HomeGear-Befehle sind etwas kryptisch – es empfiehlt sich die Dokumentation zu lesen.
Als Erstes führt nun man ein FamilySelect durch, um das HomeMatic Funkmodul anzusteuern:

fs 0

Mit „ls“ kann man sich die bereits verbundenen Geräte ansehen – da dürfte noch nicht viel zu sehen sein.
Daher versetzt man nun HomeGear in den „Pairing Modus“ um das Anlernen neuer Geräte zu ermöglichen:

pon

Nun ein Sprint in den anderen Raum – der Pairing Modus hält nämlich nur 60 Sekunden an. Um am Funk-Aktor ebenfalls in den Lernmodus zu wechseln, wird der Lichtschalter mehr als 4 Sekunden gedrückt gehalten. Sprint zurück – und mit ls prüfen, ob es geklappt hat. Das Ganze sollte ungefähr so aussehen:

HomeGear und HomeMatic erfolgreich verbunden

Wenn hier das neue Gerät aufgelistet wird, kann die Einrichtung in OpenHab fortgesetzt werden.

OpenHab Binding installieren

Hierzu wird zunächst einmal im Bereich „AddOns“ das HomeMatic Binding installiert.

HomeMatic Binding in OpenHab installieren

Nach der Installation muss das Binding noch konfiguriert werden. Hierzu geht man wie folgt vor: Links im Menü auf Inbox klicken, dann auf das + Symbol, dann auf HomeMatic Binding. Die automatisch Suche bringt bei mir kein Ergebnis, also auf „Add manually“ geklickt. Dann wieder HomeMatic Binding auswählen. Jetzt können dort die Einstellungen für das Gateway vorgenommen werden:

OpenHab HomeMatic Bridge Einstellungen

Da der HomeGear-Server ja ebenfalls auf dem Raspberry läuft, kann dort als Gateway getrost localhost bzw. 127.0.0.1 eingetragen werden. Mit dem blauen Häkchen gespeichert und schon purzelt sowohl das Gateway als auch der Funk-Aktor in die Inbox:

OpenHab Inbox

Beim Bestätigen der „Things“ (siehe hierzu auch diesen Artikel) kann nun auch direkt ein passender Name zugewiesen werden:

Thing hinzufügen

Anschließend kann das Thing aufgerufen werden um zu sehen, welche Eigenschaften und Interaktionsmöglichkeiten es zur Verfügung stellt:

OpenHab Thing Eigenschaften

Hier ist natürlich bevorzugt die Möglichkeit des „Schaltens“ für uns von Interesse. Daher verknüpft man nun den Channel „State“ mit einem Item, indem man auf den blauen Kreis klickt und „Create New Item“ auswählt. Hinweis: In den nächsten Schritten des Tutorials werden wir Items über die Konfigurationsdateien im OpenHab Verzeichnis anlegen. Warum das sinnvoll ist, dazu später mehr.

Thing-Channel mit Item verbinden

Über das neue Item kann nun das Licht gesteuert werden. Hierzu gibt es eine Vielzahl von Möglichkeiten, auf die ich in den nächsten Artikeln noch eingehen werde – die einfachste Möglichkeit ist über den Menülink „Control“:

Lichtschalter im OpenHab Control-Center

8 Kommentare

Michael N.

Hi,
danke für die tolle Anleitung. Passt genau, da ich mein Aufsteckmodul die Tage bekomme.

Woher hast Du die Infos zum anpassen des Pis für das Homematic-Modul, also TTYs abschalten, BT aus…?

Gruß
Michael

Reply
Carsten

Hi Michael,
danke für dein Feedback! Die Infos habe ich mir mit etwas trial&error und Google-Recherchen zusammengesucht. Ursprünglich hatte ich das Modul mit dem XML-RPC Server aus dem OCCU-Projekt am Laufen – hierzu gibt es einen (kostenpflichtigen) Artikel von ELV im Netz. Würde ich mitlerweile von abraten. Mit homegear (wie oben beschrieben) ist das deutlich komfortabler.
Viel Erfolg bei deinem Projekt und schon mal schöne Feiertage 🙂

Grüße
Carsten

Reply
Martin

Nachdem ich
vi /etc/homegear/families/homematicbidcos.conf
entsprechend geändert habe, komme ich nicht weiter, weil ich nicht weiss, wie bzw mit welcher Tastenkombination ich das ganze speichern kann.

Reply
Martin

Alles gut, ich habe es jetzt über nano gemacht. Damit bin ich weitergekommen.

Reply
Carsten

Ja – der vi ist nicht so komfortabel. Mit Escape kommt man aus dem Edit-Modus raus, dann :w zum Speichern und :q zum Schließen. Aber der Nano geht natürlich auch 😉 Viel Erfolg weiterhin!

Reply
Lukas

Hallo Carsten, sehr schöner Artikel über Homematic.
Die Möglichkeit der Unterputzschalter finde ich super, denn meist hat man im einfachen Fall eine Lampe, die sich per Zwischenstecker ein- und ausschalten lässt.
Auch wir haben etwas mit Homematic experimentiert und es in unser Smart Home integriert. Dabei haben wir allerdings nicht aufs Licht gesetzt, sondern auf Fensterkontakte.
Dabei haben wir den CUL-Stick benutzt anstatt dem Bauteil. Dieser ist nicht nur auf den Raspberry Pi beschränkt, sondern könnte auch an einem NAS mittels virtueller Maschine genutzt werden.

Mit den Schaltern hast du mich allerdings nun auf eine gute Idee gebracht, denn dieser kann auch praktisch sein, wenn man eine Außensteckdose per Schalter von innen einschalten möchte. Es gibt hier so viele Einsatzmöglichkeiten.

Reply
Martin

Hallo Carsten,

weißt du ob es beim Pi2B auch diese Doppelbelegung gibt und ob die vorbereitenden Schritte auch gemacht werden, bzw. wie sie abgewandelt werden?

Dank und Gruß

Martin

Reply
Carsten

Hallo Martin, den Pi2 habe ich nie besessen, von daher kann ich da leider nicht wirklich helfen.
Das Modul ist aber lt. ELV für den Pi2B geeignet und da der kein WLAN hat, könnte es evtl. auch so funktionieren.
Probier es halt aus – ein bisschen experimentieren gehört eben dazu 😛 Kannst ja mal Bescheid sagen, was es ergeben hat.
Viel Erfolg und viele Grüße
Carsten

Reply

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.