FHEM mit INSTAR WQHD Kameras

Q: Ich habe Ihre FHEM Installationsanleitung für einen Raspberry Pi gefunden. Kann ich diese Software zusammen mit den neuen WQHD-Kameramodellen verwenden?

A: Ja, und die Installation ist im Grunde identisch mit der Installation der Full HD-Kamera.

Hinzufügen von zeitgesteuerten Schnappschüssen

Fügen Sie zunächst Ihre Kamera mit Hilfe des IPCAM-Moduls hinzu und fügen Sie den Snapshot-Pfad Ihrer Kamera hinzu, z. B. http://192.168.2.115:80/snap.cgi?chn=12&user=admin&pwd=instar:

define WQHDCam IPCAM 192.168.2.115:80
attr WQHDCam path snap.cgi?chn=12&user=admin&pwd=instar
attr WQHDCam delay 10
attr WQHDCam snapshots 5
attr WQHDCam storage /opt/fhem/www/snapshots
attr WQHDCam icon it_camera

FHEM mit INSTAR WQHD Kameras

Dadurch wird der Snapshot-Ordner auf /opt/fhem/www/snapshots gesetzt. Alle Ordner innerhalb des Verzeichnisses /opt/fhem/www gehören dem Benutzer/Gruppe 6061:

ls -la /opt/fhem/www
     
total 36
drwxr-x---  9 6061 6061 4096 May 12 17:55 .
drwxr-x--- 15 6061 6061 4096 May 12 17:39 ..
drwxr-x---  2 6061 6061 4096 Apr 25 07:09 codemirror
drwxr-x---  3 6061 6061 4096 Apr 25 07:09 frontend
drwxr-x---  2 6061 6061 4096 Apr 25 07:09 gplot
drwxr-x---  6 6061 6061 4096 Apr 25 07:09 images
drwxr-x---  2 6061 6061 4096 Apr 25 07:09 jscolor
drwxr-x---  3 6061 6061 4096 Apr 25 07:09 pgm2

Erstellen Sie also den Ordner snapshots und ändern Sie ihn entsprechend:

mkdir /opt/fhem/www/snapshots
chown 6061:6061 /opt/fhem/www/snapshots

Um zu testen, ob es funktioniert, können wir auf die Schaltfläche get image klicken:

FHEM mit INSTAR WQHD Kameras

Überprüfen Sie das Speicherverzeichnis - es sollte jetzt die 5 Bilder enthalten:

ls -la /opt/fhem/www/snapshots

total 576
drwxr-xr-x 2 6061 6061  4096 May 12 18:13 .
drwxr-x--- 9 6061 6061  4096 May 12 17:55 ..
-rw-r----- 1 6061 6061 93529 May 12 18:12 WQHDCam_snapshot_1.jpg
-rw-r----- 1 6061 6061 93991 May 12 18:13 WQHDCam_snapshot_2.jpg
-rw-r----- 1 6061 6061 94439 May 12 18:13 WQHDCam_snapshot_3.jpg
-rw-r----- 1 6061 6061 94784 May 12 18:13 WQHDCam_snapshot_4.jpg
-rw-r----- 1 6061 6061 94689 May 12 18:13 WQHDCam_snapshot_5.jpg
-rw-r----- 1 6061 6061 94689 May 12 18:13 WQHDCam_snapshot.jpg

Um auf diese Snapshots zugreifen zu können, können wir den integrierten Webserver in FHEM namens HTTPSRV verwenden und ihn anweisen, den Inhalt des Speicherverzeichnisses define zu liefern:

[name] HTTPSRV [infix] [directory] [friendlyname]
  • name: ist ein benutzerdefinierter Name für das Gerät, der von der FHEM-Benutzeroberfläche verwendet wird.
  • infix: ein Präfix für die FHEMWEB-Base-URL, unter der der Inhalt des Verzeichnisses bereitgestellt wird.
  • directory: den absoluten Pfad zum Verzeichnis des öffentlichen Snapshots, das Sie zuvor erstellt haben.
  • friendlyname: der Name, der in der FHEM-Seitennavigation verwendet wird.
define SnapshotServer HTTPSRV snapshots /opt/fhem/www/snapshots WQHDCam-Snapshots
attr SnapshotServer icon dog_silhouette

FHEM mit INSTAR WQHD Kameras

Die oben angelegten Snapshots sind jetzt über den Browser erreichbar - z.B. mit /fhem/snapshots/WQHDCam_snapshot.jpg.

Und jetzt kommt alles zusammen. Indem wir eine Aufgabe erstellen, die die Funktion "Get Image" einmal pro Minute auslöst, können wir einen Livestream von unserer Kamera mit 1 Bild pro Minute einbetten:

define WQHDCam_Timelapse at +*00:01:00 get WQHDCam image
attr WQHDCam_Timelapse icon time_timer

FHEM mit INSTAR WQHD Kameras

Dieses Bild kann in eine Website eingebettet werden. Sie können diesen HTML-Code herunterladen und entpacken Sie es nach /opt/fhem/www/snapshots. Diese Seite wird unter /fhem/snapshots gehostet und zeigt Ihnen den neuesten Schnappschuss in einer jQuery-Lightbox (siehe auch Fotoserien in FHEM).

Hinzufügen des Live Video

Sie können das IFRAME-Modul verwenden, um das Live-Video der Kamera hinzuzufügen:

define WQHDCamViewer weblink iframe http://192.168.2.115:80/livestream/12?action=play&media=mjpeg&user=admin&pwd=instar
attr WQHDCamViewer htmlattr width="640" height="360" frameborder="0" marginheight="0" marginwidth="0"
attr WQHDCamViewer room INSTAR
attr WQHDCamViewer verbose 5

FHEM mit INSTAR WQHD Kameras

Hinzufügen eines HTTP Alarnserver Webhook

Ich möchte nun den HTTP-Alarmserver der Kamera benutzen, um FHEM im Falle eines Alarms zu kontaktieren und einen Schalter für mich umzuschalten, den ich AlarmServer nenne:

define AlarmServer dummy
attr AlarmServer setList on off
attr AlarmServer room INSTAR
attr AlarmServer icon secur_alarm

FHEM mit INSTAR WQHD Kameras

Dieser Schalter kann nun umgeschaltet werden, indem eine GET-Anfrage an die folgenden Webhooks gesendet wird:

http://192.168.2.111:8083/fhem?cmd=set%20AlarmServer%20on&XHR=1
http://192.168.2.111:8083/fhem?cmd=set%20AlarmServer%20off&XHR=1

FHEM mit INSTAR WQHD Kameras

Hinweis: Wenn der Aufruf der URL nicht funktioniert und zu einem HTTP ERROR 400 oder einer weißen Seite führt, führen Sie den folgenden Befehl in der FHEM-Befehlszeile aus attr WEB csrfToken none und versuchen Sie es erneut. Schauen Sie in das FHEM-Forum für mehr Details.

Wir haben jetzt eine Möglichkeit, einen Schalter in FHEM umzuschalten, wenn unsere Kameras ausgelöst werden. Alles, was wir jetzt tun müssen, ist, den FHEM-Webhook, den wir gerade erstellt haben, zur Alarmserver-Konfiguration hinzuzufügen:

FHEM mit INSTAR WQHD Kameras

Die nächsten Schritte sind spezifisch zu Ihrem persönlichen Setup. Verwenden Sie den Schalter, um eine Funktion auszulösen, und schalten Sie ihn wieder aus, damit er für die nächste Alarmauslösung bereit steht.

Verbinden mit der MQTT Schnittstelle

Sie können den kamerainternen MQTT-Broker mit dem MQTT2 Client verwenden, um FHEM mit Ihrer Kamera zu verbinden:

define [name] MQTT2_CLIENT [host]:[port]

Aktivieren Sie zunächst den INSTAR MQTT Broker:

FHEM mit INSTAR WQHD Kameras

Und definieren Sie den MQTT-Client mit Ihrer Kamera-IP und dem MQTT-Broker-Port:

define inMQTTv5 MQTT2_CLIENT 192.168.2.115:1883

Fahren Sie fort, indem Sie Ihr Broker-Login eingeben und auf Verbinden klicken, um den Kunden mit Ihrem Broker zu verbinden:

FHEM mit INSTAR WQHD Kameras

FHEM mit INSTAR WQHD Kameras

Weiterleiten von FHEM Ereignissen durch MQTT

Definiere Sie eine MQTT Brücke:

define MQTTBridge MQTT_GENERIC_BRIDGE
attr MQTTBridge IODev inMQTTv5
attr MQTTBridge globalDefaults sub:qos=1 pub:qos=1 retain=0
attr MQTTBridge globalPublish *:topic={"fhem/$device/$reading"}

FHEM mit INSTAR WQHD Kameras