CUL1101 flashen und Homegear installieren

Vorbereitung

Nachdem die Teile zum Ausprobieren von Homegear angekommen sind, kann ich endlich ein wenig ausprobieren.
Komponenten Liste:
– RaspberryPi
– CUL1101 v3.4

Der RaspberryPi läuft mit einem Debian Jessie minimal Image, das ich frisch für die Verwendung aufgesetzt habe.

CUL1101 vorbereiten

Der CUL muss mit der passenden Firmware geflasht werden, um verwendet werden zu können. Zuerst muss der CUL in dem RaspberryPi eingesteckt werden. Mit ‚lsusb‘ kann überprüft werden, ob der USB Stick erkannt wurde.

Es wird die Software ‚dfu-programmer‘ benötigt, um den CUL zu flashen.

Jetzt kann die Firmware auf den RaspberryPi heruntergeladen werden. Stand heute ist es mit diesem Link möglich. Ich empfehle aber, die neueste Version herunterzuladen.
http://culfw.de/culfw-1.66.tar.gz

Die neueste Version kann hier nachgeschaut werden: http://culfw.de/culfw.html#Links (Source)

Dann mit ‚tar xzf‘ entpacken. In das Verzeichnis wechseln:

Der CUL muss jetzt vom Raspberry getrennt werden.

Mit gedrücktem RESET Knopf jetzt den CUL wieder an den Raspberry stecken.

Danach folgende Befehle ausführen:

Nachdem der CUL nochmals aus und angesteckt wurde (diesmal natürlich ohne Reset Knopf), sollte er von ‚lsusb‘ erkannt werden als

Mit ’screen‘ kann überprüft werden, ob der CUL auch funktioniert.

Das sollte die Version des CUL zurückgeben.

Homegear installieren

Um jetzt mit den Homematic Geräten kommunizieren zu können, wird Homegear benötigt.

Zum hinzufügen des Repositories:

Unter „https://www.homegear.eu/index.php/Downloads“ ist alles genau beschrieben. Achtung! Es gibt drei Reiter (Debian, Raspbian, Ubuntu). Ich war zu schnell und hatte es mit Debian ausprobiert und das hat natürlich nicht funktioniert. 🙂

Der letzte Schritt kann gerade auf den älteren RaspberryPis einige Zeit in Anspruch nehmen. Be patient…

Homegear konfigurieren

Jetzt müssen wir natürlich Homegear noch sagen, über welche Schnittstelle es kommunizieren soll. Hierfür muss die Konfigurations-Datei entsprechend angepasst werden.

In dieser Datei gibt es einen Sektor „CUL“. Dieser muss wie folgt angepasst werden:

Einige Konfigurationen müssen/können/sollen (:)) im „General“ Abschnitt auch noch gemacht werden:

Bei Adresse und Key einfach schon einfallsreich sein ^^

Danach kann homegear gestartet werden:

Soweit so gut. Jetzt wird es spannend.

Homegear starten

Jetzt können wir zum ersten Mal Homegear starten:

Ob Homegear die Homematic Familiy geladen hat, kann mit dem Kommando „families list“ nachgeschaut werden. So sollte es nicht ausschauen:

Ich hatte bei mir vergessen, den deviceType einzukommentieren. Naja jetzt geht es auch:

Jetzt kann die Homematic Family ausgewählt werden:

So sieht das Ganze aus, wenn noch keine Geräte gepaired sind.

Das Pairen werde ich im nächsten Artikel beschreiben, da mein Raspberry Pi gerade in „Wartung“ ist und ich so nicht auf ihn zugreifen kann.

Da ich alles schnell ausprobieren wollte und ich den Artikel dann drei Tage später aus dem Kopf geschrieben habe (und von meinem Desktop PC aus, aber ohne Raspberry) kann es sein, dass ich was vergessen habe. Bei Fragen helfe ich natürlich gerne.

Smart Home die nächste Runde

Vor einiger Zeit hatte ich openHab bereits ausprobiert. Leider aber nur einen einfachen Baustein und ohne richtige Anwendungsmöglichkeit. Licht an, Licht aus – per Skript über die GPIOs von meinem RaspberryPi. Jetzt möchte ich dieses Projekt wieder in Angriff nehmen. Meine Installationsanleitung und die Blog Artikel waren nicht unbedingt praxisnah gestaltet.
In den nächsten Artikeln werde ich beschreiben, wie man openHab auf dem RaspberryPi installiert, Homegear für die Kommunikation mit Homematic Geräten einrichtet und die beiden Systeme zusammenführt.

Im Vordergrund stehen für mich zunächst die Steuerung eines Heizkörpers. Danach möchte ich einige Rolläden steuern und die Beleuchtung einbinden. Mal sehen, in welche Richtungen das Projekt ausgeweitet werden kann. Ich denke da an Fensterkontakte und Sonnensensoren.

Für den Anfang habe ich mir also folgende Dinge bestellt, bzw. hatte ich rumliegen:
– RaspberryPi v2
CUL1101 v3.4 von Busware
Homematic Heizkörper Thermostat

Das Ziel dieses Projektes soll ein Smart Home sein, dass durch openHab gesteuert wird. Allerdings möchte ich auf keine manuelle Funktion verzichten. Das bedeutet, dass alles sowohl per Hand, als auch per App/Webinterface/Automatisch gesteuert werden kann.

Die Homematic Integration möchte ich nicht per CCU oder einer anderen Homematic Centrale umsetzen. Ich hoffe, dass hierfür der CUL die komplette Kommunikation über nehmen kann. Das werde ich sehen, sobald die Teile da sind.

openHab externe Scripte ausführen

Zu Testzwecken möchte ich nun an den Raspberry Pi eine LED anschließen, um diese dann per openHab an- und auszuschalten. Da standardmäßig keine Scripte auf dem Server ausgeführt werden können, muss ein Add-On heruntergeladen und integriert werden. Das Add-On heist

org.openhab.binding.exec-1.5.1.jar

Gedownloadet werden kann es hier:

www.openhab.org/downloads.html

Nach dem entpacken kopiere ich das .jar File in das Add-On Verzeichnis des openHab Servers.

Um nun mit dem Add-On Scripte ausführen zu können, habe ich folgendes Script unter /home/openhab/scripte/on-off.py angelegt:

Dem Ordner /home/openhab habe ich mit

modifiziert. Somit ist sichergestellt, dass die openHab Application auch sicher darauf zugreifen kann.

Als nächstes muss das Item angepasst werden. Dazu habe ich den Eintrag in der „wohnzimmer.items“ folgend verändert:

Das „on-off.py“ Script muss mit Root-Rechten ausgeführt werden, da sonst wiringPi nicht initialisiert werden kann. Im Netz gibt es zahlreiche verschiedene Bastlerlösungen, die das Problem anders beheben.

Mein Schaltplan für den Raspberry Pi sieht wie folgt aus:

raspberryPi-with-ledAchtung: Die GPIO Bezeichnungen stimmen nicht mit denen überein, die durch wiringPi benutzt werden.

WiringPi GPIOs Grafik, dies gilt aber auch nur für die von mir benutzt Option:

Hier noch ein Video, wie ich eine LED mit openHab einschalte:

Nach diesem Test bin ich noch mehr von openHab begeistert, wie zuvor schon. Es ist relativ einfach zu konfigurieren. Das mit den externen Scripten finde ich total klasse. So lässt sich alles einbinden. In der Dokumentation des Add-Ons habe ich gelesen, dass auch Input Werte funktionieren. Vielleicht ist es Zeit für einen Temperatursensor.

 

Quellen:

https://github.com/openhab/openhab/wiki/Exec-Binding

http://www.tutorialspoint.com/python/python_command_line_arguments.htm

http://wiringpi.com/

openHab als Deamon starten

Um openHab als Deamon auf dem Raspberry zu starten und somit die Erreichbarkeit des Smart Homes zu garantieren, wird ein Init-Script benötig. Leider bringt openHab ein solches Script nicht von Haus aus mit. In einer Google Gruppe hat Thomas Brettinger ein Script gepostet, mit dem er diese Funktion ermöglicht hat. Dieses Script habe ich als Vorlage benutzt und folgende Zeilen angepasst:

Zeile 24: Korrektur des Pfades

Zeile 26: Benutzer verändertUm openHab dem Autostart hinzuzufügen fehlt noch folgender Befehl:

 

Hier das auf mein System angepasste Script:

 

Home Automatisierung mit openHab – Installation

Warum openHab?

Das erste Mal habe ich von openHab gehört, als mir ein ehemaliger Arbeitskollege die iPhone App gezeigt hat. OpenHab hat für Android und iOS eine App und kann auch über den Browser, sowohl mobil als auch über den Desktop, aufgerufen werden. Die App verbindet sich automatisch mit dem openHab Server im lokalen Netzwerk, was ich mehr als praktisch finde. Das Design ist aktuell und es sieht gut aus.

Was ich außerdem gerne habe ist, dass ich selber kein Frontend basteln muss. Die App ist nicht groß und zudem kostenlos. OpenHab bietet sogar die Möglichkeit verschiedene Home Automatisierungstechniken einzubinden und dank Open Source ist es auch möglich eigene Softwarepakete einzubinden.

Ein weiterer Vorteil ist es, dass es auf dem Raspberry Pi läuft. Mit einem Plugin kann ich externe Scripte ansprechen, die auf die GPIOs des Raspberry zugreifen. Somit können auch alte Home Automatisierungsscripte und zusammengebastelte Codes wiederverwendet werden. Dieses Plugin werde ich in einem weiteren Thread ansprechen und genauer behandeln.

Mit sehr wenig Zeitaufwand konnte ich in das Thema Home Automatisierung einsteigen. Es ist sehr spannend und man wird schnell  erste Erfolge erleben.

Installation

Sicherstellen, dass auf dem Raspberry Pi Java installiert ist.

Aktuelle/gewünschte openHab Version runterladen:

Download Seite von openHab

Ein Verzeichnis für die openHab Dateien erstellen. Ich habe hierfür in meinem „pi“ Home Verzeichnis benutzt.

Mit „unzip“ die Dateien entpacken und as Zip-Verzeichnis danach löschen.

Danach sollte das Verzeichnis folgende Ausgabe bei einer Auflistung anzeigen:

In dem Verzeichnis „configurations“ müssen noch einige Änderungen vorgenommen werden. Zunächst muss die Konfiguratinosdatei erstellt werden. Dazu wird eine Beispieldatei mitgeliefert, die benutzt werden kann.

 Das erste Element hinzufügen

Im „configurations“ Verzeichnis findet man unteranderem die Ordner „items“ und „sitemaps“. Sitepams werden benötigt, um das Layout zu erstellen. Items können Lichtschalter, Dimmer, Rolläden, usw. sein und werden in dem gleichnamigen Ordner erstellt und konfiguriert.

Zuerst benötigen wir also ein Item. Dafür benutze ich einen einfachen Lichtschalter, der den Namen „Stehlampe“ haben soll und sich in meinem Wohnzimmer befindet.

Das Erstellen des Switches erfolgt also in dem „items“ Ordner, in dem ich die Datei „wohnzimmer.items“ anlege. Diese Datei soll später alle Geräte enthalten, die ich im Wohnzimmer mit openHab ansprechen will.

Inhalt meiner Datei:

„Group All“ -> Ich denke der Name sagt alles.

„Group Wohnzimmer (All)“ -> Die Gruppe Wohnzimmer, die ein Mitglied der Gruppe „All“ ist.

„Switch“ -> Schalter, wie man ihn von Smartphones kennt; „Wohnzimmer_Stehlampe“ -> Eindeutiger Name des Items; „Stehlampe“ -> String, der als Anzeigenamen des Items benutzt wird; „(Wohnzimmer)“ -> Mitglied der Gruppe „Wohnzimmer“.

Ein Item kann auch mehreren Gruppen angehören, was es ermöglicht, mehrere Lichtergruppen an-, bzw. auszuschalten.

Das Item ist also erstellt, jetzt muss es noch dem Layout hinzugefügt werden. Das funktioniert über ein sogenanntes Sitemap. Die Sitemap Datei wird ähnlich, wie die Items Datei erstellt:

 

 

Das Sitemap habe ich „default“ genannt. Somit wird automatisch dieses Sitemap angezeigt, sobald ich die openHab App oder die Webseite öffne, was ich sehr praktisch finde.

 

openHab starten

So nun ist das erste Element eingefügt, das Layout ist ebenfalls hinzugefügt. Jetzt ist Zeit, alles auszuprobieren.

Jetzt wird openHab inizialisiert. Das kann einige Minuten dauern. Hier sollte abgewartet werden, bis folgende Ausgabe erscheint:

Danach kann auf das Webinterface der Anwendung zugegriffen werden.

Mit dem default Sitemap:

http://<raspberry-pi>:8080/openhab.app

Mit einem benutzerdefiniertem Sitemap:

http://<raspberry-pi>:8080/openhab.app?sitemap=demo

Screenshots

Desktop Ansicht:

openHab-Desktop-Anzeige

 

 

 

 

 

iOS App Screenshot (iPhone 5):

IMG_1494

 

 

 

 

 

 

 

 

 

 

Quellen:

www.openhab.org

github.com/openhab/openhab/wiki

Gearbeitet habe ich mit openHab Version 1.5.1.