OpenHab 4 mit Docker

Dies ist das aktualisierte Tutorial für OpenHab4. Sie können das veraltete Tutorial für OpenHab2 hier finden.

Grundlegende Einrichtung

Ziehen des Docker-Images

Das OpenHAB 4 Image ist verfügbar auf Docker Hub:

docker pull openhab/openhab:latest-alpine

Vorbereiten des Systems

(sudo) groupadd -g 9001 openhab
(sudo) useradd -g 9001 openhab
(sudo) usermod -a -G openhab myownuser
(sudo) mkdir -p /opt/openhab/{openhab_addons,openhab_conf,openhab_userdata}
(sudo) chmod -R 775 /opt/openhab

Betrieb des Containers

Ãœber die Befehlszeile:

docker run \
        --name openhab \
        --net=host \
        --privileged \
         --rm \
        -v /etc/localtime:/etc/localtime:ro \
        -v /opt/openhab/openhab_addons:/openhab/addons \
        -v /opt/openhab/openhab_conf:/openhab/conf \
        -v /opt/openhab/openhab_userdata:/openhab/userdata \
        -d \
        openhab/openhab:latest-alpine

Oder führen Sie in docker-compose die folgende Kompositionsdatei mit docker-compose up -d aus:

services:
  openhab:
    image: "openhab/openhab:latest-alpine"
    restart: always
    network_mode: host
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "/opt/openhab/openhab_addons:/openhab/addons"
      - "/opt/openhab/openhab_conf:/openhab/conf"
      - "/opt/openhab/openhab_userdata:/openhab/userdata"
    environment:
      OPENHAB_HTTP_PORT: "8080"
      OPENHAB_HTTPS_PORT: "8443"
      EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Berlin"

Warten Sie ein paar Minuten und überprüfen Sie, ob der Container läuft:

docker ps

CONTAINER ID   IMAGE                           CREATED       STATUS               NAMES
333ea28350b4   openhab/openhab:latest-alpine   4 hours ago   Up 4 hours (healthy) openhab

Sie können dann die Web-Benutzeroberfläche mit Ihrem Webbrowser unter http://localhost:8080 aufrufen. Folgen Sie den Anweisungen, um Ihr Benutzerkonto einzurichten, und melden Sie sich mit Ihrem erstellten Konto an:

OpenHAB 4 with Docker

Wartung

Aufräumen, wenn etwas schief geht

Löschen Sie den Inhalt von /opt/openhab/userdata/cache und /opt/openhab/userdata/tmp

(sudo) rm -rf /opt/openhab/userdata/cache
(sudo) rm -rf /opt/openhab/userdata/tmp

OpenHAB CLI

Rufen Sie das OpenHAB-Befehlszeilentool innerhalb des Docker-Containers von Ihrem Host-System aus auf:

docker exec -it openhab /openhab/runtime/bin/client

Logging in as openhab
Password:  PASSWORD IS habopen
                           _   _     _     ____  
   ___   ___   ___   ___  | | | |   / \   | __ ) 
  / _ \ / _ \ / _ \ / _ \ | |_| |  / _ \  |  _ \ 
 | (_) | (_) |  __/| | | ||  _  | / ___ \ | |_) )
  \___/|  __/ \___/|_| |_||_| |_|/_/   \_\|____/ 
       |_|       4.1.2 - Release Build

Use '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
To exit, use '<ctrl-d>' or 'logout'.

openhab> 

Zugriff auf die OpenHab-Protokolle über die CLI:

openhab> log:tail

OpenHAB INSTAR Camera Binding

Nachdem wir die Kamerabindung installiert haben, können wir mit dem Hinzufügen unserer Kamera fortfahren. Gehen Sie zu Things:

OpenHAB 4 INSTAR Camera Binding

Wählen Sie die Kamerabindung aus oder installieren Sie sie, falls sie fehlt, indem Sie auf die Schaltfläche + klicken:

OpenHAB 4 INSTAR Camera Binding

OpenHAB 4 INSTAR Camera Binding

Sie können nun ein neues Thing hinzufügen, indem Sie die ipcamera Binding auswählen:

OpenHAB 4 INSTAR Camera Binding

Wählen Sie dann entweder die INSTAR-Voreinstellung aus und fügen Sie Ihre Kamerakonfiguration manuell hinzu oder klicken Sie auf Scan, um die Bindung nach INSTAR IP-Kameras in Ihrem lokalen Netzwerk suchen zu lassen:

OpenHAB 4 INSTAR Camera Binding

Nach einem erfolgreichen Scan wählen Sie Ihre Kamera durch Anklicken aus:

OpenHAB 4 INSTAR Camera Binding

OpenHAB 4 INSTAR Camera Binding

Konfigurieren Sie nun das Thing mit Ihrer Kamera-IP, dem ONVIF-Server-Port (Standard 8080) und Ihrem Kamera-Admin-Login. Wenn Sie die Scan-Option verwendet haben, ist alles außer dem Login bereits ausgefüllt:

OpenHAB 4 INSTAR Camera Binding

OpenHAB 4 INSTAR Camera Binding

Eine wichtige Voraussetzung dafür ist, dass wir ffmpeg in unserem Container unter /usr/bin/ffmpeg installiert haben. Lassen Sie uns sicherstellen, dass dies der Fall ist.

Installieren von FFMPEG

Die Kamerabindung verwendet FFMPEG, um Videoströme und Schnappschüsse von Ihrer Kamera bereitzustellen. Stellen Sie sicher, dass FFMPEG auf Ihrem System installiert ist, indem Sie ffmpeg -version ausführen. Überprüfen Sie auch den Installationspfad - standardmäßig /usr/bin/ffmpeg,

In unserem Fall verwenden wir das Alpine Linux Docker-Image von OpenHab, das nicht mit FFMPEG geliefert wird. Ich werde es installieren, indem ich den openhab-Container eingebe (ich habe meinen Container mit dem Tag openhab versehen - wenn Sie beim Ausführen des Containers kein Tag angegeben haben, ersetzen Sie das Tag openhab durch Ihre Container-ID) und den Installationsbefehl ausführe:

docker exec -ti openhab /bin/ash
apk add ffmpeg

Überprüfen Sie die Installation und beenden Sie den Container mit exit:

ffmpeg -version
ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13.2.1 (Alpine 13.2.1_git20231014) 20231014

Denken Sie daran, dass Sie ffmpeg neu installieren müssen, wenn Sie diesen Container entfernen und neu erstellen - z. B. nach einer Aktualisierung des Container-Images!

Zurück in OpenHab drücken Sie Speichern und das Verbindungssymbol sollte grün werden:

OpenHAB 4 INSTAR Camera Binding

Einen Snapshot-Kanal hinzufügen

Klicken Sie auf Speichern und geben Sie die von Ihnen erstellte Kamera Ding wieder ein. Jetzt können wir mit dem Hinzufügen von Kanälen fortfahren und sie mit Elementen auf unserem OpenHab-Dashboard verknüpfen:

OpenHAB 4 INSTAR Camera Binding

Ich möchte einen Image-Kanal verknüpfen:

OpenHAB 4 INSTAR Camera Binding

Dieses Element kann nun innerhalb einer Bildkarte auf einer Dashboard-Seite Ihrer Wahl angezeigt werden. Beginnen Sie mit dem Hinzufügen der Bildkarte:

OpenHAB 4 INSTAR Camera Binding

OpenHAB 4 INSTAR Camera Binding

OpenHAB 4 INSTAR Camera Binding

Und konfigurieren Sie die Karte so, dass das von Ihnen erstellte Bildelement angezeigt wird, indem Sie es im Menü zur Elementauswahl zuweisen:

OpenHAB 4 INSTAR Camera Binding

OpenHAB 4 INSTAR Camera Binding

OpenHAB 4 INSTAR Camera Binding

OpenHAB 4 INSTAR Camera Binding


INSTAR Forum

Diskutieren Sie diesen Artikel im INSTAR Forum !