OpenHAB 3 Home Automation in Docker

Mike Polinowski
INSTAR MQTT
Firmware Update
Full HD Serie
INSTAR Deutschland GmbH
INSTAR MQTT

Machen Sie Ihrer Kamera zum Herzstück Ihres Smarthomes

INSTAR MQTT Support

Mithilfe der MQTT Schnittstelle Ihrer INSTAR Full HD Kameras können Sie diese zu einem bestehenden Smarthome-System (Home Assistant, OpenHAB, Node-RED, Athom Homey, Homematic, ioBroker, Loxone, homee) hinzufügen kann. Oder auch zum Haupt-Broker für Ihre MQTT Sensoren machen. MQTT ermöglicht es Ihnen ALLE Funktionen Ihrer Kamera zu automatisieren und mit anderen Diensten in Ihrem Smarthome zu verknüpfen.

Mike Polinowski
IFTTT Applets
Firmware Update
Full HD Serie
INSTAR Cloud
INSTAR Deutschland GmbH
INSTAR IFTTT Applets

Kontrollieren Sie Ihre Kamera über den IFTTT Online Dienst

INSTAR IFTTT Support

Auf der IFTTT-Plattform stellten wir einen Dienst namens INSTAR zur Verfügung. Die INSTAR Applets bieten Ihnen die Möglichkeit, einige Einstellungen Ihrer INSTAR Kamera oder INSTAR Cloud mit IFTTT zu steuern. Sie können INSTAR mit Auslösern für Ort (Geo Location) und Datum & Zeit verbinden, Benachrichtigungen versenden und vieles mehr. Zum Beispiel können Sie die INSTAR Applets mit dem IFTTT-Ortungsdienst verbinden und automatisch den Alarm deaktivieren lassen, wenn Sie zu Hause ankommen. Sie können die INSTAR-Applets auch verwenden, um Ihre eigene Automatisierung zu erstellen und sie mit anderen Applets von Drittanbietern zu verbinden.

Ziehen des Docker-Images

Das OpenHAB 3-Image ist im Docker Hub verfügbar:

docker pull openhab/openhab:3.1.0-snapshot-alpine

Vorbereiten des Systems

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

Betrieb des Containers

Von Ihrer Befehlszeile aus:

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:3.1.0-snapshot-alpine

In docker-compose:

version: "3.8"

services:
  openhab:
    image: "openhab/openhab:3.1.0-snapshot-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: "8181"
      OPENHAB_HTTPS_PORT: "8443"
      EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Berlin"

Ich habe den HTTP-Port von 8080 auf 8181 geändert - da ich bereits den Standard-Port 8080 für einen anderen Dienst verwende. Stellen Sie sicher, dass der Port von Ihrem LAN aus erreichbar ist: z.B. ufw allow 8181/tcp.

Automatisieren der OpenHAB-Einrichtung mit Ansible

Sie können es testen, indem Sie das folgende Playbook ausführen:

ansible-playbook -i mycontainerhost, -t openhab run-containers.yml
- name: OpenHAB v3 Container
  hosts: test
  gather_facts: no
  
  tasks:

  - name: Run OpenHab Container
    tags: openhab
    docker_container:
      name: openhab
      image: openhab/openhab:3.1.0-snapshot-alpine
      state: started
      detach: yes
      interactive: yes
      tty: yes
      ports:
        - 8181:8080
        - 8101:8101
        - 5007:5007
      volumes:
        - /etc/localtime:/etc/localtime:ro
        - /etc/timezone:/etc/timezone:ro
        - /opt/openhab/addons:/openhab/addons
        - /opt/openhab/conf:/openhab/conf
        - /opt/openhab/userdata:/openhab/userdata
      keep_volumes: yes
      hostname: openhab.localnet
      memory: 512m
      pull: true
      restart_policy: unless-stopped
      env:
        EXTRA_JAVA_OPTS="-Duser.timezone=Europe/Berlin"

Führen Sie das Playbook aus und besuchen Sie die IP-Adresse Ihres Servers auf Port 8181:

Trying out OpenHAB 3 in Docker

Wählen Sie die Bindings aus, die installieren möchten:

Trying out OpenHAB 3 in Docker

Wartung der Installation

Aufräumen, wenn etwas schief geht

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

rm -rf /opt/openhab/userdata/cache
rm -rf /opt/openhab/userdata/tmp

OpenHAB CLI

Greifen Sie von Ihrem Hostsystem aus auf das OpenHAB-Befehlszeile innerhalb des Docker-Containers zu:

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

Logging in as openhab
Password:  PASSWORD IS habopen

                           _   _     _     ____  
   ___   ___   ___   ___  | | | |   / \   | __ ) 
  / _ \ / _ \ / _ \ / _ \ | |_| |  / _ \  |  _ \ 
 | (_) | (_) |  __/| | | ||  _  | / ___ \ | |_) )
  \___/|  __/ \___/|_| |_||_| |_|/_/   \_\|____/ 
       |_|       3.1.0-SNAPSHOT - Build #2099

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