Smarthome Einführung

Einrichtung openHAB mit Docker

Lesezeit: 3 min

openHAB bietet viele Möglichkeiten, um das eigene Smarthome in vollem Umfang nutzen zu können. Dafür ist jedoch zuerst eine Installation von openHAB notwendig. Dafür gibt es verschiedene Herangehensweise – wobei ich mittlerweile immer eine Lösung mit Docker bevorzuge. Das liegt daran, dass eine Installation mit Docker sowohl einfach in der initialen Einrichtung als auch im späteren Update zu nutzen ist. Welche Installation du bevorzugst liegt natürlich bei dir – jedoch würde ich oftmals zur Docker-Variante greifen. Daher werde ich auf dieser Webeite die Einrichtung von openHAB mit Docker betrachten und auch im restlichen Blog den Fokus auf das Duo Docker und openHAB setzen.

Warum openHAB mit Docker?

openHAB bietet nahezu unbegrenzte Möglichkeiten, da viele Geräte von unterschiedlichen Herstellern zentral damit verwaltet und gesteuert werden können. Bei der Steuerung können mit den Regeln von openHAB viele Szenarien abgebildet werden. Das kann eine recht einfache Heizungssteuerung bei Anwesenheit/Urlaub sein oder eine Musiksteuerung, die jemanden über die Lautsprecher in den einzelnen Räumen folgt. Diese Flexibilität hat viele Vorteile und openHAB kann mit Docker dabei optimal genutzt werden:

  • Einfache Einrichtung und Verwaltung durch Docker
  • Möglichkeit des Tests sowie der Nutzung unterschiedlicher openHAB-Versionen
  • Nutzung von verschiedenen Modulen innerhalb des Systems

Jedoch solltest du verstehen, dass der Betrieb nicht nur Vorteile mit sich bringt – auch, wenn diese aus meiner Sicht überwiegen.

Voraussetzungen für den Betrieb

Um openHAB mit Docker betreiben zu können, benötigst du natürlich Docker auf deiner Umgebung (QNAP, Synology, RaspberryPI oder was immer du nutzt). Da ich hier keinen Fokus auf die Installation von Docker setze, bitte ich dich einfach danach mit Google oder ähnlichem zu suchen. Auf meinem QNAP-Server funktioniert die Einrichtung sehr leicht, da die Containersation und damit die Virtualisierung mit Docker bereits enthalten ist und somit einfach genutzt werden kann – nach einer einmaligen Freischaltung.

Einrichtung openHAB

Die openHAB-Installation erfolgt innerhalb von Docker in dem Ordner /openhab. Dabei ist die Basis für openHAB eine minimale Installation von Linux.

Laden des openHAB-Images von Docker Hub
Als Basis für die Einrichtung von openHAB musst du als erstes das Image von der offiziellen Seite von Docker Hub downloaden.
Dies erreichst du in der Containerstation über einen einfachen Klick unter Images oder mit dem nachfolgenden Befehl:
docker pull openhab/openhab

Einrichtung von Ordnern
Um eine Speicherung der Daten außerhalb von Docker zu ermöglichen, musst du als erstes die folgenden Ordner bzw. Unterordner auf deinem System anlegen:
openhab
openhab/addons
openhab/conf
openhab/userdata

Erstellung des openHAB-Containers
Im Anschluss kannst du den Container über die Containerstation bzw. die richtigen Docker-Befehle startest.
Dabei ist wichtig, dass du die richtige Timezone für die Installation setzt und die restlichen notwendigen Parameter übernimmst:


-v /etc/localtime:/etc/localtime:ro \
-v /etc/timezone:/etc/timezone:ro \
-v /opt/openhab/conf:/openhab/conf \
-v /opt/openhab/userdata:/openhab/userdata \
-v /opt/openhab/addons:/openhab/addons \
-d \
-e USER_ID= \
-e GROUP_ID= \
--restart=always \

Weitere Umgebungsvariablen sowie Details zu den notwendigen Befehlen findest du auf der offiziellen Seite von openHAB zur Installation mit Docker: zu openHAB

Weiterer Ausblick

Im Anschluss kannst du deine eigene openHAB-Instanz nutzen und dein eigenes Smarthome nach deinen individuellen Vorstellungen bauen. Innerhalb dieses Blogs findest du weitere Ideen sowie Anregungen für die Realisierung von deiner smarten Wohnung. Daher empfehle ich dir noch die folgenden Beiträge, die sich mit einigen grundlegenden Möglichkeiten von openHAB beschäftigen.
InfluxDB für openHAB

Ein einfaches Beispiel für die Steuerung von Lichtszenen auf Basis von Bewegung, Uhrzeit und dem Zustand von Geräten ist mit dem folgenden Code zu realisieren:


rule "Motion detection in office and regulation of light scene"
when
  Item Hue_Office_Presence changed to ON
then
  var illuminance = Hue_Office_Illuminance.state as Number
  if (illuminance < 15.0) {
    if (Shelly_Office_Light_Power.state == OFF && Network_Matthias_PCOnline.state == OFF) {
      switch Time_Of_Day.state {
        case "NIGHT": Shelly_Office_Light_Brightness.sendCommand(60.0)
        case "BED": Shelly_Office_Light_Brightness.sendCommand(15.0)
        default: Shelly_Office_Light_Brightness.sendCommand(45.0)}}}
end

Ich wünsche dir weiterhin viel Spaß beim Lesen!
Matthias


Persönliches Foto

Matthias Suttner

Als Smarthome-Enthusiast freue ich mich, euch auf meinem Blog einige interessante Möglichkeiten aufzuzeigen.