2131594

Hausautomation mit Open HAB & Raspberry Pi einrichten

30.12.2015 | 09:29 Uhr |

Lichteinstellungen zentral verändern zu können oder zeitgesteuert die Stromversorgung von Geräten zu regeln, sind typische Kennzeichen von Smart Homes. Wieso nicht den Raspberry Pi in Kombination mit einem offenen System einsetzen?

Ein Mobiltelefon wird zwei oder drei Jahre intensiv genutzt, dann schaffen sich die Besitzer bereits ein aktuelleres Gerät an. Da spielt Nachhaltigkeit keine große Rolle. Ein Garagentor oder eine Heizungsanlage ist hingegen sehr viel länger im Einsatz. Folglich hat man hier eher Skrupel, sich bei der Heimautomatisierung an einen Hersteller zu binden, von dem niemand weiß, ob er in diesem langen Zeitraum noch Updates und Patches für die Steuerungs-Software bieten wird. Hier spricht alles für offene Systeme, wo im Falle eines Falles eine Gemeinschaft von Entwicklern einspringen kann. Open HAB ist so ein offenes System.

Open HAB – kurz vorgestellt

Im Kern besteht Open HAB – HAB steht für Home Automation Bus – aus zwei Komponenten. Zum einen gibt es als Kern die Runtime, die in Java programmiert ist. Diese wird dann mit einer ganzen Reihe von Plug-ins erweitert, die die Schnittstellen zu externen Geräten wie Steckdosenleisten oder Temperaturfühler bilden. Open HAB ist als Server-Anwendung konzipiert, damit auch externe Clients zur Steuerung genutzt werden können. So kann das Licht dann etwa über ein Android-Tablet geschaltet werden. Open HAB ist grundsätzlich auf jedem Rechner lauffähig, auf dem eine Java-Umgebung zur Verfügung steht.

Open HAB auf dem Raspberry oder einem anderen Linux-Rechner installieren.
Vergrößern Open HAB auf dem Raspberry oder einem anderen Linux-Rechner installieren.

Zwei seiner Eigenschaften prädestinieren den günstigen Raspberry Pi als zentrale Einheit von Open HAB. Zum einen sind da seine kompakten Abmessungen. Damit kann das zentrale Steuerungssystem diskret in den vier Wänden untergebracht werden. Auf der anderen Seite steht sein konkurrenzlos niedriger Stromverbrauch. Denn damit Aufgaben der Hausautomation erfüllt werden können, muss das System natürlich rund um die Uhr laufen.

Open HAB auf dem Raspberry installieren

Voraussetzung für den Betrieb von Open HAB ist eine lauffähige Java-Umgebung. Diese sollte bei der Installation von Raspbian mitinstalliert worden sein. Machen Sie die empirische Probe, indem Sie auf dem Raspberry ein Terminal öffnen und dort which java eingeben. Falls keine Java-Umgebung angeboten wird, installieren Sie diese nach:

sudo apt-get install java

Die eigentliche Installation von Open HAB besteht im Download der entsprechenden Dateien vom Download-Server. Öffnen Sie ein Terminal, und legen Sie darin zunächst temporäre Verzeichnisse an, in denen die Programmdateien heruntergeladen werden:

mkdir -p /temp/Open HAB-download/runtime/ cd /temp/Open HAB-download/runtime

Danach holen Sie das Open-HAB-Paket mit wget und entpacken es dann:

wget https://bintray.com/artifact/download/Open HAB/bin/distribution-1.7.1-runtime.zip unzip distributuion-1.7.1-runtime.zip

Danach legen Sie ebenfalls mit mkdir addons an dieser Stelle ein weiteres Verzeichnis „addons“ an und laden das Add-on-Archiv mit diesem Befehl aus dem Internet:

wget https://bintray.com/artifact/download/Open HAB/bin/distribution-1.7.1-addons.zip

Auch dieses Archiv entpacken Sie mit unzip an Ort und Stelle.

Verschieben Sie danach sämtliche Dateien am besten in ein Verzeichnis, wo sie später ausgeführt werden. Dazu bietet sich etwa „/opt“ an, das für zusätzliche Software unter Linux gedacht ist. Sie verschieben mit root-Rechten einfach die Hauptkomponente:

sudo mkdir /opt/Open HAB cp -r /temp/Open HAB-download/run time/* /opt/Open HAB/

Danach müssen Sie noch das Start-Script der Installation ausführbar machen. Das geht ebenfalls am einfachsten direkt in einem Terminal:

sudo chmod +x /opt/Open HAB/start.sh

Open HAB benötigt noch eine Datei mit Optionen. Sie befindet sich im „Runtime“-Verzeichnis und kann mit Nano oder jedem anderen Texteditor bearbeitet werden. Mit diesen beiden Zeilen wandeln Sie die beiliegende Beispieldatei in die Konfigurationsdatei um und laden sie in den Editor:

cp /opt/Open HAB/Open HAB_default.cfg Open HAB.cfg nano /opt/Open HAB/Open HAB.cfg

Die Datei enthält zahlreiche mit „#“-Zeichen auskommentierte Einstellungen, die hier nicht im Einzelnen zu besprechen sind. Zentral ist etwa die Anweisung „#mainconfig:refresh“. Wenn Sie diese nach

mainconfig:refresh=10

ändern, prüft Open HAB im Zehn-Sekunden-Intervall, ob sich Konfigurationsänderungen ergeben haben.

Add-ons nutzen: Kopieren Sie das Archiv in den Ordner „addons“ der eigentlichen Runtime.
Vergrößern Add-ons nutzen: Kopieren Sie das Archiv in den Ordner „addons“ der eigentlichen Runtime.

Auch interessant: Mit Raspberry Pi automatisch die Alarmanlage einschalten

Steckdosenleiste auf dem Raspberry einrichten

Open HAB ist in erster Linie ein Framework, das die Verwaltung verschiedener Elemente unter einer gemeinsamen Oberfläche erlaubt. Die Einrichtung der Geräte (oder allgemein als Item bezeichneten Dinge) erfolgt dann über separate Steuerprogramme.

Dazu ein konkretes Beispiel: Über den Raspberry Pi soll eine Steckdosenleiste gesteuert werden. Dazu wird eine Software verwendet, die extra für diesen Gerätetyp entwickelt wurde. Ist die Steuerung korrekt eingerichtet und steht ein passendes „Binding“ zur Verfügung, kann Open HAB die Steuerung übernehmen. Glücklicherweise gehört zu den Plug-ins eine Komponente, die fast universell genutzt werden kann. Doch dazu später mehr.

In diesem Beispiel fiel die Wahl auf eine unter Bastlern recht populäre Steckdosenleiste, die mit dem USB-Anschluss des Computers verbunden werden kann. Darüber lassen sich dann die einzelnen Steckdosen schalten. So können Sie später im Wohnzimmer bequem die Stromversorgung von Geräten im ersten Stock schalten. Genutzt wird die programmierbare Steckdosenleiste „Energenie“ aus dem Hause Gembird . Zu einigen Leisten wird von einem Entwickler eine Steuerungs-Software angeboten, allerdings nur der Quellcode. Diesen müssen Sie folglich erst kompilieren.

Beliebt unter Bastlern: Das Modell von Energenie mit Steuerungsmöglichkeit.
Vergrößern Beliebt unter Bastlern: Das Modell von Energenie mit Steuerungsmöglichkeit.

Zunächst brauchen Sie auf dem Raspberry ein Entwicklerpaket für die Programmierung der USB-Schnittstelle. Das erledigen Sie mit root-Rechten im Terminal:

sudo apt-get install libusb-dev

Ist dies erfolgreich abgeschlossen, wird der Quellcode der Steuerungs-Software heruntergeladen. Unter http://sourceforge.net/project/showfiles.php?group_id=159834 steht die aktuelle Version des Quellcodes bereit. Mit einem Rechtsklick auf den Eintrag im Browser kopieren Sie den Download-Link in die Zwischenablage und erledigen dann den Download mit wget:

wget -O sispmctl.tar.gz [URL aus der Zwischenablage]

Ist die Übertragung beendet, entpacken Sie die Datei mit

tar xvzf sispmctl.tar.gz

und wechseln mit cd sispmct-3.1 in das Verzeichnis des Quellcodes. Unter Umständen müssen Sie eine andere Zahlenfolge eintragen, falls es bereits eine neuere Version gibt. Es folgt dann der Dreischritt für die Entwicklung:

./configure make make install

Damit ist das Programm unter „/usr/local/bin“ installiert. Jetzt können Sie die Steckdosenleiste per USB mit dem Raspberry verbinden. Um den ersten Topf der Leiste auszuschalten, geben Sie auf der Konsole

/usr/local/bin/sispmctl -f 1

ein. Nun geht die Kontrolleuchte auf der Leiste aus. Mit dem Parameter „-o“ wie „on“ schalten Sie den Topf wieder ein.

Open HAB Steuerung: Alle angelegten Element sind über den Browser erreichbar.
Vergrößern Open HAB Steuerung: Alle angelegten Element sind über den Browser erreichbar.

Schaltung in Open HAB einrichten

Leider reicht der Raum nicht aus, um an dieser Stelle alle Möglichkeiten zu beschreiben, die sich durch den Einsatz von Open HAB ergeben. Zunächst wird einmal die grundlegende Integration eines Schalters in die Konfiguration beschrieben.

Im nächsten Schritt stellen wir Ihnen dann vor, wie Sie aus den verschiedenen Elementen Ihre individuelle Übersicht über das gesamte Haus schaffen. Die Gemeinschaft von Open HAB stellt mehr als hundert Module bereit, über die sich Elemente schalten oder deren Daten sich auswerten lassen. Diese Add-ons haben Sie während der Einrichtung bereits auf Ihren Rechner geladen. Die Add-ons müssen nicht installiert werden. Es genügt, wenn Sie das entsprechende Element (ein Java-Jar-Archiv) in den Ordner „/addons „der Runtime kopieren.

Sie besitzen einen Projektor von Benq? Dann kopieren Sie „org.Open HAB.binding.benqprojector-1.7.1.jar“ in den Ordner „addons“. Ein sehr universelles Werkzeug für das Schalten und den Aufruf externer Dateien ist „exec“. Wie der Name nahelegt, ist es unter anderem dafür gedacht, ein Script aufrufen zu können. Und genau deshalb ist es für die als Beispiel gewählten Steckdosen die richtige Wahl. Ein unmittelbares Binding für die Leiste gibt es nämlich nicht.

Ein eigener kleiner Webdienst informiert über den Status der Stromversorgung.
Vergrößern Ein eigener kleiner Webdienst informiert über den Status der Stromversorgung.

Die Installation bleibt übersichtlich, wenn Sie Ihre Scripts in einem eigenen Ordner innerhalb der Open-HAB-Installation sammeln. Mit einem Texteditor legen Sie jetzt zwei einfache Scripts an, um die erste Steckdose ein-und wieder auszuschalten. Die Scripts bearbeiten Sie mit einem beliebigen Texteditor, und sie enthalten jeweils nur eine Zeile.

Das ist aber keine technische Voraussetzung. Das Script „pott1_an.sh“ enthält den Aufruf des oben vorgestellten Programms – also:

/usr/local/bin/sispmctl -o 1

Das zweite Script „pott1_aus.sh“ nutzt das Kommando für das Ausschalten:

/usr/local/bin/sispmctl -f 1

Jetzt können Sie in der Liste der Items für Ihr Home-Office etwa einen Eintrag für den Schalter anlegen:

Switch Office_Drucker "Drucker" (Office) {exec="OFF:sudo sh pott1_aus.sh,ON:sudo sh pott1_an.sh"}

Solche Schalter legen Sie anschließend für alle weiteren Objekte an, die Sie mit einer der Steckdosen aus der Leiste verbunden haben.

Das Zusammenspiel zwischen den verschiedenen Objekten und Dateien in Open HAB erklärt das nachfolgende Beispiel etwas genauer.

Das Haus in Open HAB einrichten

Über die Weboberfläche von Open HAB, die im lokalen Netzwerk aufgerufen werden kann und auch auf mobilen Geräten eine gute Figur macht, werden die schaltbaren Elemente des Hauses dargestellt.

Die Basis bildet eine Textdatei mit der Endung „sitemap“. In der Sitemap werden die einzelnen Elemente in Form von Textanweisungen strukturiert und erfasst. Die Informations-Container werden als Frames bezeichnet und fassen verschiedene Bereiche und Strukturen zusammen.

Grafische Hilfe durch den Open HAB Designer.
Vergrößern Grafische Hilfe durch den Open HAB Designer.

Um das Beispiel der Steckdosenleiste aufzugreifen: Jeder einzelne Steckdosentopf bildet nach der Logik von Open HAB ein Item. Auf Basis eines Items erfolgt die Schaltung. In diesem konkreten Fall gibt es nur den Wechsel zwischen ein und aus. Die Items bilden zusammen eine Gruppe, nämlich die Leiste selbst. Eine solche Gruppe liegt dann wiederum in einem Bereich, also etwa einem Raum.

Das Verzeichnis „configurations“ in der Runtime von Open HAB umfasst einige Verzeichnisse. Im Ordner „items“ landen die Dateien mit der Endung „items“, in der Sie etwa alle schaltbaren Objekte eines Raumes hinterlegen, also etwa in der Datei „office.items“. Dort legen Sie dann die Objekte an (wie gerade am Beispiel eines Schalters, der mit dem Schlüsselwort „Switch“ gekennzeichnet wird). Die Sitemap enthält in Form von Unterseiten (zur besseren Orientierung für den Nutzer) die verschiedenen Bereiche.

Um etwa eine Unterseite „Entertainment“ anzulegen, über die dann die Items für TV, DVD erreichbar wären, legen Sie in der Sitemap-Datei einen solchen Eintrag an:

Frame label="Entertainment" icon="video" { Weitere Anweisungen }

Innerhalb des Labels hinterlegen Sie dann die Untereinträge, zum Beispiel wie folgt die Definition eines Schalters für das Radio:

Text label="Entertainment" icon="video" { Frame label="Radio" { Selection item=Station mappings[0=off, 1=NDR, 2=WDR, 3=Njoy] Slider item=Volume } }

So entstehen Schritt für Schritt die Objekte Ihres Hauses. Wenn Sie sich das Archiv mit den Add-ons von Open HAB heruntergeladen haben, finden Sie darin die Anwendung Open HAB Designer. Nachdem Sie diese mit Doppelklick gestartet haben, laden Sie zunächst Ihre „cfg“-Datei ein und können sich dann mit dem Werkzeug an die Definition von Einträgen machen.

Schließlich gibt es in der Hierarchie der Optionsdateien auch noch einen Ordner, der Regeln aufnimmt. Denn es ist in dem Framework auch möglich, bestimmte Aktionen und Erweiterungen erst dann in Betrieb zu nehmen, wenn bestimmte Bedingungen erfüllt sind. Denken Sie beispielsweise an zeitbasierte Schaltungen oder Ereignisse beim Erreichen oder Unterschreiten von Temperaturen.

Die Definition von Regeln würde aber endgültig den Rahmen dieses Beitrags sprengen. An dieser Stelle können wir nur den Hinweis auf die offizielle Dokumentation geben. Darin sind auch recht anspruchsvolle Beispiele nachzulesen, wie das Auslesen und Steuern einer Heizungsanlage. Open HAB bietet engagierten Anwendern (nicht nur auf dem Raspberry) eine faszinierende Möglichkeit, viele Teile des eigenen Hauses mit elektronischen Geräten zu steuern, und ist damit der Einstieg in eine spannendes und nützliches Hobby.

0 Kommentare zu diesem Artikel

PC-WELT Hacks - Technik zum Selbermachen?

Raspberry Pi erfreut sich gerade unter Bastlern einer großen Beliebtheit. Kein Wunder, denn mit der 35-Euro-Platine lassen sich viele spannende Projekte realisieren. Vom Mediacenter, Netzwerkspeicher, Fotomaschine bis hin zum Überwachungssystem ist alles möglich. Dieser Bereich ist aber nicht nur dem Raspberry Pi gewidmet, sondern bietet auch viele Tipps, Tricks und Anleitungen für andere spannende Bastelprojekte.

2131594