Ich habe bereits sehr viele verschiedene HomeMatic und weitere Komponenten in meiner FHEM Installation via 868MHz CUL-Stick integriert. Da es wieder kälter wird steht die Programmierung der Heizungssteuerung an, diese wollte ich eigentlich im vorhandenen FHEM anpassen und erweitern. Nachdem ich über den Sommer nicht viel an meiner FHEM Installation gemacht habe war sämtliches Wissen wieder aus meinen Gedächtnis verschwunden und mir viel es noch immer schwer mich an die sehr komplexen Vorgänge in FHEM zu gewöhnen. Die perfekte Motivation mich endlich mal mit dem etwas komfortableren OpenHAB zu beschäftigen, FHEM ist was die Programmierung, das Backend und die Konfiguration angeht einfach nicht mehr zeitgemäß.
Heute möchte ich mir OpenHAB als alternative Lösung zu FHEM ansehen und eventuell vorhandene Geräte darauf umstellen.
Hardware
Folgendes habe ich an Hardware verwendet:
- Raspberry Pi 3
- Netzteil (2,5A@5,1V),
- Eine Class 10 MicroSD Karte
- Ein Netzwerkkabel – Falls kein WLAN vorhanden
- Busware USB Stick CC1101-USB-Lite 868MHz – Für HomeMatic Ansteuerung
Zusätzlich empfohlen
- Ein Gehäuse für den Pi mit Lüfter Vorbereitung
- Ein Lüfter für das Gehäuse
- Eine externe USB Festplatte – Speichern der Daten und Backups
- Kabellose Media Center Tastatur
- HDMI Kabel
Installation von OpenHAB auf den Raspberry Pi
Für die Grundeinrichtung des Raspberry Pi mit Raspbian benutze ich selbst immer meinen Einsteiger Guide, wenn auch mittlerweile aus dem Gedächtnis. Es kommt das aktuelle Raspbian Strecht Image zum Einsatz.
Für die Installation von OpenHAB gibt es zwei Varianten, es kann das vorkonfigurierte OpenHABian Image verwendet werden oder die Installation wird manuell auf Basis von Raspbian durchgeführt. Da ich möglichst selbst die Kontrolle über das System behalten und flexibel bleiben möchte habe ich mich für das manuelle Setup von OpenHAB auf Basis von Raspbian entschieden.
Als erstes installieren wir alle notwendige Software und Abhängigkeiten
1 |
sudo apt-get install dirmngr apt-transport-https screen mc vim git htop |
Dann entferne ich das Oracle JAVA und den GNU Java Compiler von meinem System
1 |
sudo apt-get remove --purge oracle-java8-jdk openjdk-7-jre oracle-java7-jdk openjdk-8-jre gcj-jre |
Ich verwende das OpenSource Java Build von Zulu. Zulu ist die empfohlene Java Variante. Installiert wird Zulu Java indem wir den Schlüssel des Repository und das Repository selbst hinzufügen, die Installation starten und dann rebooten.
1 2 3 4 5 6 7 8 |
sudo su apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 219BD9C9 echo 'deb http://repos.azulsystems.com/debian stable main' > /etc/apt/sources.list.d/zulu.list apt-get update apt-get install zulu-embedded-8 -y sudo reboot |
Nun können wir schon mit der Installation von OpenHAB beginnen, als erstes benötigen wir wieder das Repository und den Schlüssel
1 2 3 4 |
wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' | sudo apt-key add - echo 'deb https://dl.bintray.com/openhab/apt-repo2 stable main' | sudo tee /etc/apt/sources.list.d/openhab2.list sudo apt-get update |
Dann installieren wir OpenHAB und wichtige Addons via Paket aus dem Repository
1 |
sudo apt-get install openhab2 openhab2-addons |
Wir konfigurieren noch den Autostart für OpenHAB via systemd und starten den Dienst direkt
1 2 3 4 5 |
sudo systemctl start openhab2.service sudo systemctl status openhab2.service sudo systemctl daemon-reload sudo systemctl enable openhab2.service |
Ruft die OpenHAB Webseite im Browser auf, entweder via IP-Adresse eures Raspberry Pi (ifconfig Befehl zeigt diese an) oder über den Rechnernamen. Wichtig! Der erste Start von OpenHAB kann sehr lange dauern (>10Minuten), wartet etwas ab falls ihr die Webseite nicht gleich erreichen könnt.
- http://ip-adresse:8080 als zum Beispiel http://192.168.178.20 oder
- http://raspberrypi:8080
Ihr müsst nun euer initiales Addon-Setup wählen, ich verwende erst mal Standard.
Danach könnt ihr die bevorzugte Oberfläche auswählen in welcher sich OpenHAB präsentiert, ich benutze erst mal das Paper UI. Auf dem Paper UI lassen sich viele Dinge über die Webseite einstellen anstelle Konfigurationsdateien via Texteditor zu bearbeiten, via Basic UI ist das nicht möglich.
Da ich meine Homematic Komponenten mit meinem CUL Stick am Raspberry Pi steuern möchte ist noch eine weitere Installation und Einrichtung notwendig.
CUL Firmware Flashen
Unser CUL Stick benötigt die letzte CUL Firmware um mit OpenHAB bzw. Homegear kommunizieren zu können. Wir benötigen zum flashen via Raspberry Pi das Tool dfu-programmer
1 |
sudo apt-get install dfu-programmer |
Dann laden wir uns die letzte Firmware von culfw.de runter, schaut bitte auf culfw.de ob die Version noch passt.
1 |
wget http://culfw.de/culfw-1.67.tar.gz |
Wir entpacken die Datei mit tar und wechseln in das Verzeichnis
1 |
tar zxf culfw-1.67.tar.gz |
Da ich einen CC1101-USB-Lite 868MHz besitze, was dem CUL V3 entspricht, wechsle ich in das Verzeichnis in welchem die entpackte Firmware liegt
1 |
cd culfw-1.67/Devices/CUL |
Dann flashe ich die Firmware Datei für den CULv3 auf meinen Stick, verbindet ihn hierzu via USB. Wichtig! Während des Verbindens muss der Flash Button auf der Rückseite des Sticks gedrückt sein, sonst wird der Stick nicht erkannt und kann nicht programmiert werden (Programmier-Modus).
1 |
sudo make usbprogram_v3 |
Steckt nach erfolgreichem flashen euren Stick einmal ab und wieder an um den Progammier Modus zu beenden.
OpenHAB für Homematic einrichten – Homegear
Da meine Homematic Komponenten bisher nicht über die CCU des Herstellers angebunden waren sonder ein CUL USB Stick der Firma Busware verwendet wurde benötige ich eine spezielle Software als „Brücke“ zwischen OpenHAB dem CUL Stick und meinen HomeMatic Geräten.
Die Brücke wird mit der Software Homegear erstellt.
Wir installieren Homegear aus dem Repository, fügen vorher wieder die Keys hinzu.
1 2 3 4 5 6 7 8 |
sudo apt install apt-transport-https curl https://homegear.eu/packages/Release.key | sudo apt-key add - sudo sh -c 'echo "deb https://homegear.eu/packages/Debian/ stretch/" >> /etc/apt/sources.list.d/homegear.list' sudo apt update sudo apt install homegear homegear-nodes-core homegear-nodes-extra homegear-homematicbidcos homegear-homematicwired homegear-insteon homegear-max homegear-philipshue homegear-sonos homegear-kodi homegear-ipcam homegear-beckhoff homegear-knx homegear-enocean homegear-intertechno homegear-influxdb |
Nach der Installation müssen wir in HomeGear noch unseren CUL Stick konfigurieren, wichtig der CUL Stick muss die letzte CUL Firmware haben. Folgendes fügen wir am Ende der Datei homematicbidcos.conf ein um unseren CUL stick mit Heamgear bekannt zu machen
1 |
sudo nano /etc/homegear/families/homematicbidcos.conf |
Inhalt
1 2 3 4 5 6 |
[CUL] id = CUL868 default = true deviceType = cul device = /dev/ttyACM0 responseDelay = 95 |
Innerhalb der Konfiguration muss noch folgendes editiert werden
- centralAddress
- rfKey
Für die centralAddress entferne ich einfach die voranstehende Raute (#) und ändere den Hex-Wert ab um zu vermeiden das in meiner Nachbarschaft die gleichen Adressen vorhanden sind.
1 |
centralAddress = 0xFD0009 |
Den rfKey ändere ich auch ab, dieser wird für die verschlüsselte Kommunikation benutzt, der Key muss 32 Zeichen lang sein, es sind nur HEX Werte erlaubt 0-9 und A-F. Hier ein Beispiel:
1 |
rfKey = 012345678901234567890123456789AB |
Wichtig!
Notiert euch den Key an einem sicheren Ort, falls der Key verloren geht sind eure HomeMatic Devices Wertlos
Speichert mit STRG+X, Y und Enter.
Homematic Geräte mit OpenHAB / Homegear Pairen
Wir können nun unsere HomeMatic Komponenten mit OpenHAB bzw. Homegear verbinden, ich paire/peere jetzt erst mal nur ein Gerät um die weitere Einrichtung zu beschreiben, später können über den selben Weg weitere Geräte gepaired werden. Bereits gepairte Geräte sollten erst vom alten System abgelernt werden, alternativ ist ein Werksreset ggf. hilfreich (insofern kein AES verwendet wurde).
Wir starten dazu Homegear
1 |
sudo homegear -r |
Innerhalb der Kommandozeile von Homegear wählen mir nun BidCos zum Konfigurieren aus. Gebt folgenden Befehl ein
1 |
families select 0 |
Dann aktiviert den Pairing Modus
1 |
pairing on |
Nun löst das Pairing an eurem HomeMatic Device aus (das ist bei jedem Gerät anders, lest dazu die Anleitung). Nach einigen Sekunden Wartezeit könnt ihr via peers list die verbundenen Geräte anzeigen.
1 |
peers list |
Es macht Sinn einem Gerät direkt nach dem Anlernen einen sprechenden Namen zu geben. Geht unter Angabe der ID des angelernten Geräts einen neuen Namen ein. Ich gebe dem Gerät mit der ID 1 den Namen „Rollladen-Buero-Philipp
1 |
peers setname 1 Rollladen-Buero-Philipp |
Damit haben wir nun unsere Homematic Geräte mit dem Raspberry Pi verbunden, nun müssen wir noch eine Verbindung zwischen OpenHAB und Homegear herstellen.
Beendet Homegear mit STRG+C.
Homegear und OpenHAB verbinden
Wir müssen nun via OpenHAB Modul die Brücke zwischen OpenHAB, dem CUL Stick und unseren Geräten fertig bauen. Hierfür öffnet ihr die OpenHAB Webseite wieder in eurem Browser.
Wechselt in das Menu Add-Ons
Wählt im unter Menu „Bindings„, Sucht nach Homematic und installiert das „Homematic Binding“
Wartet etwas ab und wechselt dann in die Inbox, wählt dort über das + Zeichen euer Binding aus.
Da vermutlich der CUL Stick nicht automatisch erkannt wird wählt ihr „Add Manualy“ aus
Innerhalb des Dialogs zum Hinzufügen eures über Homegear angebunden CUL müsst ihr nun noch localhost als Adresse eingeben und bestätigen.
Nach kurzer Wartezeit taucht unter Configuration > Things euer CUL als Homematic Bridge mit dem Status „online“ auf. Die Webseite muss ggf. mit F5 refreshed werden, der Status aktualisiert sich nicht.
Das bereits gepairte Gerät taucht wenig später in der „Inbox“ auf und kann direkt verwendet werden. Klickt auf den Blauen Haken neben dem Namen und bestätigt den Dialog um das Gerät in OpenHAB verwenden zu können, führt das für beide Geräte durch.
Nun möchten wir uns noch in der Oberfläche unter „Control“ die Geräte und Steuerungsmöglichkeiten anzeigen lassen. Hierzu gehen wir auf Configuration > Things dort klicken wir auf die beiden neuen Homematic Gerät und aktivieren die Knöpfe der Eigenschaften die wir unter „Control“ angezeigt haben wollen.
Zum Beispiel für meinen Rollladenaktor
Die Homegear Extras:
Hiernach finden wir auf der Seite unter Control die Steuerbefehle für die Geräte und können mit der Steuerung beginnen.
Die weitere Einrichtung und Umstellung meiner Geräte und Funktionen werde ich in den nächsten Wochen veröffentlichen, ich habe Gefallen an OpenHAB gefunden und werde darauf umsatteln.