Siehe auch Übersichts-Thread: OpenHAB 3 Update =>
Schritt für Schritt Anleitung
OpenHAB3 Installation
Download
Für die Installation werde Docker verwenden. Dies muß zuerst auf dem System installiert werden:
Nachdem Docker vorhanden ist, kann man mit dem folgenden Befehl das aktuellste (SNAPSHOT) Image von OpenHAB herunterladen:
docker pull openhab/openhab:snapshot-alpine
System vorbereiten
Jetzt muß man die richtigen Benutzer und Verzeichnisse auf dem LINUX System bereitstellen (in meinen Fall eine aktuelle Version von Debian LINUX „Bullseye“):
groupadd -g 9001 openhab
useradd -g 9001 openhab
usermod -a -G openhab root
Der root
Benutzer im letzten Befehl muß durch den namen des aktiven Nutzers ersetzt werden - diesen kann man mit dem folgenden Befehl erfragen: whoami
.
mkdir -p /opt/openhab/{openhab_addons,openhab_conf,openhab_userdata}
chmod -R 775 /opt/openhab
Ich meinem Fall stelle ich dem im nächsten Schritt erstellten Docker Container Volumen (permanenten Speicherplatz) im /opt
Verzeichnis zur Verfügung. Wenn man dies woanders ablegen möchte, muß man das Verzeichnis hier und im folgenden Schritt entsprechend anpassen.
Erstellen des Docker Containers
Mit dem folgenden Befehl kann man jetzt aus dem Docker Image einen Container hochfahren und ihn die zuvor erstellten Verzeichnisse nutzen lassen:
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:snapshot-alpine
Nach ein paar Sekunden sollte der Container mit dem Status healthy
laufen:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1a778da629b openhab/openhab:snapshot-alpine "/entrypoint su-exec…" 22 minutes ago Up 22 minutes (healthy) openhab
Aber geben Sie ihm noch ein paar Minuten bevor Sie auf die Weboberfläche zugreifen. In meinem Fall hat der Server die IP Adresse 192.168.2.111
und die OpenHab Oberfläche läuft auf dem Port 8080
.
Dort wird man zuerst vom Installations-Wizard begrüßt und kann sofort das OpenHAB `Camera Binding` (ggf. das `MQTT Binding` installieren) - siehe oben verlinkten Thread für Details.
Hinzufügen der Kamera
Hier kann die Kamera jetzt als Thing hinzugefügt werden (Details - siehe oben verlinkten Thread). Jedoch fehlt jetzt noch das FFMPEG, das zur Wiedergabe des Videostreams benötigt wird
FFMPEG
Wie oben mit dem docker ps
ausgelesen, hat mein OpenHab Container die ID a1a778da629b
erhalten (bei Ihnen wird dies eine andere sein). Darüber kann ich mich jetzt mit dem Container verbinden und FFMPEG nachinstallieren:
docker exec -ti a1a778da629b /bin/ash
/openhab # ffmpeg -version
/bin/ash: ffmpeg: not found
/openhab # apk add ffmpeg
/openhab # fmpeg -version
ffmpeg version 4.3.1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 10.2.1 (Alpine 10.2.1_pre1) 20201203
Zurück in der OpenHab Oberfläche kann man in der Kamera Thing Konfiguration die Standard FFMPEG Einstellungen übernehmen und das Thing speichern:
In dem Beispiel oben habe ich das Output Verzeichnis von FFMPEG auf /openhab/userdata/camera
gelegt. Jetzt müssen wir noch schauen, dass dieses Verzeichnis auch vorhanden ist. Also zurück in den Docker Container indem wir eben noch FFMPEG installiert haben:
/openhab # mkdir /openhab/userdata/camera
/openhab # chown openhab:openhab /openhab/userdata/camera
Und unter Channels kann man jetzt einen Bild-Kanal und Slider für die Pan&Tilt Kontrolle hinzugefügt werden (Details siehe wieder oben verlinkten Thread).
In der Code-Ansicht schaut das ganze wie folgt aus:
UID: ipcamera:instar:f22b13adc0
label: Instar Camera with API
thingTypeUID: ipcamera:instar
configuration:
mjpegOptions: -q:v 5 -r 2 -vf scale=640:-2 -update 1
ipAddress: 192.168.2.117
updateImageWhen: "0"
gifPreroll: 0
onvifPort: 8080
ffmpegLocation: /usr/bin/ffmpeg
serverPort: 8081
ffmpegOutput: /etc/openhab/html/camera1/
ipWhitelist: DISABLE
mp4OutOptions: -c:v copy -c:a copy
pollTime: 1000
password: instar
port: 80
snapshotOptions: -an -vsync vfr -q:v 2 -update 1
ptzContinuous: true
onvifMediaProfile: 0
username: admin
hlsOutOptions: -strict -2 -f lavfi -i aevalsrc=0 -acodec aac -vcodec copy
-hls_flags delete_segments -hls_time 2 -hls_list_size 4
gifOutOptions: -r 2 -filter_complex
scale=-2:360:flags=lanczos,setpts=0.5*PTS,split[o1][o2];[o1]palettegen[p];[o2]fifo[o3];[o3][p]paletteuse
Kamera Items
Die Items die wir jetzt hinzugefügt haben, kann man jetzt unter dem Menüpunkt Items einsehen und testen: