Raspberry Pi Hausautomatisierung: OpenHAB installieren & konfigurieren

Im Zeitalter des Internet der Dinge sind immer mehr Geräte verbunden. Diese eignen sich also auch für die eigene Raspberry Pi Hausautomatisierung. Allerdings nutzt jedes Gerät ein anderes Übertragungsprotokoll, was die Steuerung recht unkomfortabel machen kann. Zum Glück gibt es jedoch eine Abhilfe dafür: Das Smart Home System OpenHAB bietet viele vorhandene Packages, womit alle Geräte namhafter Hersteller mittels einer Oberfläche gesteuert werden können.Und auch für Komponenten, die noch nicht standardmäßig unterstützt werden, können wir einfach eigene Plugins schreiben.

Das ganze hat vor allem den Vorteil, dass wir jegliche verbundenen Geräte über ein einziges Controlpanel überwachen und steuern können, sei es innerhalb des Hauses oder außerhalb.

Um OpenHAB nutzen zu können und somit den ersten Schritt für unsere Raspberry Pi Hausautomatisierung legen, beginnen wir in diesem Tutorial mit der Installation, Einrichtung und Konfiguration von OpenHAB, bevor wir in kommenden Teilen weitere Module anbinden.

 

Zubehör für die Raspberry Pi Hausautomatisierung

Wie bereits gesagt können so ziemlich alle Geräte und Sensoren mit OpenHAB genutzt werden, darunter auch viele, die wir bereits in vorherigen Tutorials verwendet haben. Darüber hinaus sind allerdings folgende Bestandteile essentiell:

Um einen Ausblick auf die Möglichkeiten und weitere Tutorials zu geben, sind hier nur mal einige weitere Geräte, Protokolle und Services, die unterstützt werden:

Die Protokolle aller neuerlichen Internet of Things Geräte (bzw. welche für Einsätze in Smart Home Anwendungen beworben werden), sind von OpenHAB unterstützt und es kommen immer mehr hinzu.

 

OpenHAB auf dem Raspberry Pi installieren

Prinzipiell gibt es zwei Möglichkeiten OpenHAB zu installieren. Die erste (etwas kompliziertere) Methode wäre ein bestehendes Raspbian System mit allen Paketen zu erweitern. Die anderen, komfortablere Lösung ist ein Raspbian System mit vorinstallierten Paketen zu nehmen, was wir in diesem Tutorial auch so machen.

Zunächst laden wir auf der Projektseite das neuste Image, was den Namen „openhabianpi-raspbian-…..xy“ hat. Speichere die Datei.

Falls deine micro SD Karte noch nicht im Cardreader deines PCs / Macs ist, so stecke sie hinein. Sollte deine SD Karte noch nicht formatiert sein, so empfehle ich das Tool SD Formatter. Damit kannst du einfach deine (micro) SD Karten mit zwei Klicks löschen und anschließend weiter verwenden.

Wir brauchen nun ein Tool, das „.xy“ Dateien auf eine SD Karte schreiben kann. Dazu nutze ich Etcher, was für alle gängigen Betriebssysteme vorhanden ist. Lade es herunter und installiere es. Anschließend wählst du die gerade geladene Datei aus und drückst auf „Flash!“.

Der Vorgang dauert ein paar Minuten. In der Zwischenzeit kannst du schon einmal ein Ethernetkabel an den Pi anschließen. Falls du keine Ethernetverbindung herstellen kannst,kannst du auch die Wlan Daten gleich eingeben.

Nachdem das Image auf die SD Karte geschrieben wurde, öffne das Verzeichnis im Datei Explorer. Es befindet sich eine Datei mit dem Namen „openhabian.conf, welche per Texteditor geöffnet werden muss. Unten befinden sich zwei auskommentierte Zeilen (mit Raute/Hashtag). Entferne die Hashtags am Anfang und trage den Namen sowie das Passwort deines Wlan-Netzwerks ein und speichere die Datei anschließend:

#wifi_ssid="My Wi-Fi SSID"
#wifi_psk="password123"

Stecke die micro SD Karte nun in den Pi und schließe Strom an. In den nächsten 45 bis 60 Minuten solltest du die Stromversorgung nicht trennen, da alle nötigen Updates und Konfigurationsdateien geladen werden! Erst nachdem alle Punkte fertig sind (Installationsschritte werden angezeigt, so kannst du ggf. neustarten.

Sofern alles geklappt hat und dein Raspberry Pi mit dem Netzwerk verbunden ist, kannst du nun in einem Browser die Seite aufrufen: http://openhabianpi:8080
Das Setup Menü (Schritt für Schritt Anweisungen weiter unten im Artikel) wird angezeigt.

 

OpenHAB per SSH Zugriff updaten

Du kannst du die Befehle entweder direkt per Tastatur am Pi eingeben, oder über SSH. Wähle deinen SSH Client (wie Putty) und gib folgenden Hostnamen an:

openhabianpi

Der Standard-Username ist openhabian und das Passwort ebenfalls openhabian. Diesen konntest du vorher auch in der Konfigurationsdatei ändern.

Sollte der Updateprozess noch nicht fertig sein, so wird dies angezeigt. Andernfalls bzw. sobald dieser Prozess fertig ist, wird die Ausgabe folgendermaßen aussehen:

Hier rufen wir nun folgendes auf:

sudo openhabian-config

Falls du das Passwort geändert hast, tippe das aktuelle als Bestätigung ein, ansonsten das Standardpasswort: openhabian

Zunächst wählen wir „01 | Update“ aus und anschließend „02 | Update System“.
Unter „30 | System Settings“ kannst du weitere Einstellungen, wie den Hostnamen, die Zeitzone (Standard ist bereits Berlin), Passwörter, Ports und dein Wlan Netz ändern.

Mittels „Optional Components“ können einige weitere Pakete wie Node-RED uvm. installiert werden, womit u.a. einfach eigene IoT Anwendungen erstellt werden können, ohne viel programmieren zu müssen. Bei Bedarf kann ich darauf in einem weiteren Tutorial eingehen.

 

Raspberry Pi Hausautomatisierung: OpenHAB User Interface

Natürlich wollen wir für unsere Hausautomatisierung auch ein User Interface bzw. eine grafische Oberfläche, von der aus wir unsere späteren Komponenten – vom Smartphone, Tablet, Touchscreen oder PC – steuern können. Daher richten wir dieses nun ein.

Zunächst öffnen wir http://openhabianpi:8080/start/index auf einem Browser im selben Netzwerk:

Hier wählen wir „Standard“, was einige Themes bereits vorinstalliert. Später können manuell noch weitere hinzugefügt werden.
Nach einigen Augenblicken können wir nun das Aussehen des User Interfaces bestimmen. HABPanel, Paper UI sowie Basic UI. Die Auswahl kannst du später verändern. Mir gefällt bspw. die Paper UI.

Auf der linken Seite findest du nun das Menü. Hier kann jene Auswahl getroffen werden. Da wir bisher noch nichts installiert haben, ist das Controlmenü auch leer. Unter Configuration können wir Einstellungen vornehmen und unter Add-ons neue Pakete für unser Smart Home installieren.

OpenHAB Add-Ons auf dem Raspberry Pi installieren

Um nun bestimmte Module wie bspw. Phillips Hue Light oder Z-Wave benutzen zu können, müssen zunächst die nötigen Dateien installiert werden. In diesem Beispiel beginnen wir mit dem Network Binding, welches prüft ob ein Gerät gerade im lokalen Netzwerk ist. Das kann dazu genutzt werden, um bestimmte Aktionen auszulösen, sobald man bspw. außer Haus ist.

Wir wechseln links zu „Add-Ons“ und anschließend in den Tab „Bindings“. Hier suchen wir nach dem zu installierenden Package, in unserem Fall also „Network Binding“. Nach dem Klick auf „Install“ kann der Vorgang ein paar Minuten dauern.

Sobald alles installiert wurde navigieren wir in der linken Leiste zurück zur „Inbox“. Ein Klick auf das große Plus (+) zeigt die installierten Bindings an, darunter auch unser Network Binding. Wählen wir dieses aus, so werden die Geräte in unserem Netzwerk gesucht.

Wenn du dir unsicher bist, welche interne IP Adresse dein Smartphone hat, so kannst du entweder in deinem Router nachsehen (192.168.1.1) oder direkt in den Einstellungen deines Geräts.

Mit einem Klick auf den Blauen Haken können wir Geräte hinzufügen und entsprechend benennen. Andere Geräte können auch auf der Liste ignoriert oder gelöscht werden (Ignorieren zeigt sie nur temporär nicht an, das Löschen lässt sie bis zum erneuten Suchen ganz verschwinden).

Wir wechseln nun zu Configuration > Things. Wähle dein gerade hinzugefügtes Gerät aus. Hier findest du nun die zwei Punkte „Online“ und „Time“. Diese beiden Checkboxen wählen wir aus:

Beim klicken auf den obigen Stift-Button können bestimmte Einstellungen (IP Adresse etc.) geändert werden. Andere Geräte haben andere Items, welche nach Bedarf aktiviert werden können.

Wenn wir nun im linken Panel unter „Control“ wechseln, sehen wir das aktivierte Gerät. Darunter finden sich die aktivierten Items. Dies ist in unserem Fall einfach nur ein boolscher Wert bzw. eine Nummer, aber könnte auch Temperaturwerte u.ä. beinhalten.

Raspberry Pi OpenHAB Controlpanel

In weiteren Tutorials werden wir andere Dinge installieren und konfigurieren.

 

Eigene OpenHAB Things und Items erstellen – CPU Temperatur anzeigen

Zum Schluss möchte ich zeigen, wie einfach man sich eigene Module erstellen kann. Dieser Schritt ist allerdings optional und kann ggf. übersprungen werden.

OpenHAB kennt zwei Arten von Objekten: Things und Items. Ein Thing wird vereinfacht gesagt als Kachel im Controlpanel angezeigt und kann mehrere Items haben (Werte, Buttons, etc.). In einem kleinen Beispiel werden wir die CPU Temperatur anzeigen lassen:

In diesem Beispiel erstellen wir ein Thing mit zwei Items (Temperatur und Uhrzeit wann sie zuletzt abgefragt wurde).

Da wir hierzu Shell-Befehle ausführen werden, muss zunächst ein Add-on dafür installiert werden. Suche unter Add-Ons -> Bindings nach Exec Binding (Doku) und installiere es.

Verbinde dich anschließend per SSH mit dem Raspberry Pi. Zunächst erstellen wir ein Skript, welches uns die CPU Temperatur ausliest. Dies könnte auch ein Python Skript, Java oder C++ Programm sein.

sudo nano /etc/openhab2/scripts/cpu_temp.sh

Es bekommt folgenden Inhalt:

Speichere es mit STRG+O und beende den Nano Editor mit STRG+X.

Wir vergeben nun die nötigen Rechte:

chmod +x /etc/openhab2/scripts/cpu_temp.sh

Als Test könntest du es bereits ausführen, womit die Temperatur angezeigt werden sollte: bash /etc/openhab2/scripts/cpu_temp.sh

Weiter geht es mit der Erstellung unseres Things mit dem folgendem Inhalt:

sudo nano /etc/openhab2/things/cpu_temp.things

Nachdem gespeichert und der Editor geschlossen wurde erstellen wir noch die Items:

sudo nano /etc/openhab2/items/cpu_temp.items

Hier fügen wir folgende beiden Items ein:

Weitere Infos zu den Details der beiden (Things und Items) findest du auf den Dokumentationsseiten.

Sobald du nun zurück zum Controlpanel navigierst, wirst du die Ansicht wie oben angezeigt sehen.

 

 

Außerhalb des eigenen Netzwerks auf das Panel zugreifen

Auch vom Smartphone oder Tablet kannst du über die interne Netzwerkbezeichnung (http://openhabianpi:8080) auf das Controlpanel zugreifen. Andernfalls gibt es auch noch Apps für Android Geräte und iOS iPhones bzw. iPads.

Möchtest du jedoch auch außerhalb – z.B. mobil oder von der Arbeitsstelle – auf dein Smart Home Controlpanel zugreifen, so ist dies nicht ohne Vorkehrungen möglich. Hierfür ist folgendes nötig:

  • Zum einen brauchst du – sofern du keine statische IP Adresse hast – einen Account bei einem dDNS Service wie NoIP oder DynDNS.
  • Des weiteren musst der Port (bei uns 8080) in deinem Router unter „Port Forwarding“ für die interne IP Adresse des Raspberry Pi freigeschaltet sein.
  • Außerdem muss der dDNS Service beim Ändern der globalen IP Adresse benachrichtigt werden. Entweder dein Router bietet diese Möglichkeit (Fritzboxen o.ä. haben entsprechende Einstellungen) oder aber du übernimmst diesen Schritt auf deinem Raspberry Pi. Ein Tutorial dazu gibt es hier.

Beachte allerdings, dass das Controlpanel nicht passwortgeschützt ist und du ohne weiteres ein Sicherheitsrisiko eingehst. Ich rate daher davon ab das Panel von außerhalb zugänglich zu machen, sofern du nicht entsprechende Vorkehrungen getroffen hast und deiner Sache sicher bist.

 

Welche Geräte würdet ihr gerne mit OpenHAB steuern und wünscht euch dazu ein Tutorial?

79 Kommentare

  1. Hallo,
    Sehr interessante Sache. Ist es möglich
    FS20 und HM Kompunenten zu integrieren wie z.B. in FEHM?
    Gruß Michael

    Antworten
  2. Hallo,
    Bis hier bin ich gekommen:
    Stecke die micro SD Karte nun in den Pi und schließe Strom an. In den nächsten 45 bis 60 Minuten solltest du die Stromversorgung nicht trennen, da alle nötigen Updates und Konfigurationsdateien geladen werden! Erst nachdem alle Punkte fertig sind (Installationsschritte werden angezeigt, …

    jetzt soll ich mich einloggen
    openHABianPi login:

    pi und raspberry will er nicht, und ich bin ratlos und bitte um Hilfe

    Danke

    Antworten
  3. Ich erhalte während die Updates und Konfigurationsdateien geladen werden die Meldung: Waiting for dpkg/apt to get ready … [FAILED] Failed to start apply_noobs_os_config.service. Danach läuft alles weiter (bisher).

    Antworten
  4. Hallo, ich habe schon vor ein paar Monaten mit openhab gearbeitet. Ein großer Vorteil bieten die Sonoff Produkte. Ich würde mir ein Tutorial zum einbinden dieser Produkte in openhab wünschen, da diese relativ preisgünstig und mit einer neuen Firmware sehr zuverlässig sind.
    lg

    Antworten
  5. Hallo Felix, ich bin ein absoluter Neuling auf dem Raspberry Gebiet, aber sehr interessiert. Aufmerksam und mehrmals habe ich diesen Komentar gelesen. Wenn ich das Programm openhab auf eine neue SD Karte spielen soll, deute ich es so; es ist ein anderes Betriebsystem. Ist vieleicht? Mit viel Mühe habe ich meinen Raspberry Pi 3 mit der Debian Software zum laufen gebeacht. Noch viel mühsamer war die Inbetriebnahme des Touchsreen Displays. Aber es läuft nun. Kann man das openhab nicht auf neine funktionierende SD Karte nachinstallieren. Nun zu meinem Projekt: Auf dem Rasbi-Display soll Uhrzeit und Datum lesbar angezeigt werden. Desweiteren sollen Butons plaziert sein, die Funksteckdosen ein/aus schalten. Eine Wetteranzeige soll dann gegebenfalls auch noch Platz finden. Das ganze, wenn nötig (da nur ein 7inch Display) auf mehreren Display-Oberflächen. Suche schon seit Tagen im Netz nach Lösungen. Ga ich selbst nicht einmal weis, wie ich die Sache angehen soll, bin ich erstmal auf Hilfe angewiesen. Ich hoffte, es geht wie bei einem Win PC, einfach Programme nacninstallieren. Bin mir aber jetzt nicht mehr sicher.

    Antworten
    • Hallo Manfred,
      jein, das OpenHABian System basiert auf Raspbian Lite und hat alle benötigten Tools anbei. Ich würde dir als Anfänger davon abraten alles manuell zu installieren. Wenn du deine alte Installation behalten willst nimm einfach eine zweite SD Karte.
      Hast du dir das Tutorial zur Wetterstation mal angesehen? Da erstelle ich eine Oberfläche für das Display. Du kannst auch Uhrzeit etc. einfügen.
      Programme kannst du einfach über die Kommandozeile (apt-get install), wird aber in allen Tutorials auf der Seite genau erklärt.
      Viele Grüße,
      Felix

      Antworten
  6. Es gibt bei mir eine Fehlermeldung beim auslesen der CPU Temperatur: /etc/openhab2/scripts/cpu_temp.sh: Zeile 3: bc: Kommando nicht gefunden.
    Außerdem wir mir das Widget im Controlpanel am PC nicht angezeigt, auf der Android App von Open Hab aber schon. Ist irgendwie merkwürdig… Kennt jemand die Lösung für das Problem?

    Antworten
  7. Hallo,

    ich habe heute auch meinen Pi bekommen und wollte mir OpenHab mal ansehen.
    Nachdem einschalten bekomme ich folgende Fehlermeldung aus dem first-boot.log:

    Updating repositories an upgrading installed packages… failed
    Inital setup exiting with an error!

    Kann mir jemand helfen wo ran es hängt?

    Antworten