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.

Servomotor steuern mit Occidentalis

Da ich nicht nur die großen Servomotoren bestellt hatte, sondern auch Mikroservos, wollte ich diese nun verbauen. Die Mikroservos eignen sich hervorragend, um als Lenkung für mein Raspberry Car herzuhalten. Servomotor steuern mit Occidentalis weiterlesen

Raspberry Pi mit L298n double h bridge

Heute habe ich nach vielem vielem Suchen endlich eine sehr schöne Anleitung gefunden, mit der es mir möglich war die Motorsteuerung (L298n) in Betrieb zu nehmen.

Hier der Link zum Produkt: amazon.de Raspberry Pi mit L298n double h bridge weiterlesen