- Installieren des ioBroker unter CentOS 8
- Verbindung zum MQTT Broker herstellen
- Visualization
- Live Video
- Alarmserver und Webhooks
Alle ioBroker Tutorials
- ioBroker mit Docker (Aktualisiert 08.04.2024)
- ioBroker auf einem Raspberry Pi (Veralted)
- INSTAR MQTT - ioBroker
Alle ioBroker FAQs
- ioBroker v9.1.2 als MQTTv5 Client für Ihre WQHD INSTAR IP Kamera
- ioBroker als MQTT Broker für Ihre WQHD Kamera
- ioBroker MQTT Alarmserver für Ihre WQHD Kamera
- ioBroker REST API mit Ihrer WQHD Kamera nutzen
- ioBroker mit Ihrer WQHD Kamera nutzen
- ioBroker v7 mit Ihrem WQHD INSTAR MQTTv5 Broker
- Camera Vis mit Node-RED
- Live Video and ioBroker VIS
- INSTAR MQTT Alarmserver ioBroker
- ioBroker und INSTAR Alarmserver
- ioBroker MQTT Broker vs Client
- ioBroker als MQTT Broker für Ihre Kamera
- ioBroker MQTT überschreibt Kamera Einstellungen
- ioBroker und MotionEye Webhooks
- ioBroker ohne MQTT
- Verwenden Sie ioBroker als Ihren MQTT-Broker anstelle eines MQTT-Clients
- Verwenden Sie den INSTAR MQTT Alarmserver mit ioBroker
- Verwenden Sie den INSTAR MQTT Alarmserver zum Erstellen einer einfachen Objektverfolgung
- Aktivieren Sie NICHT! das Aktualisieren von Topics, wenn sich Clients mit Ihrem Broker verbinden
- Hinzufügen von Kameras, die MQTT nicht unterstützen
- Verwendung des HTTP-Alarmservers anstelle des MQTT-Alarmservers
- Verwendung des Node-RED Adapters zur Erstellung einer Visualisierung
- Eine intelligentere Möglichkeit, der ioBroker Vis das Live-Video Ihrer Kameras hinzuzufügen
Installieren des ioBroker unter CentOS 8
Wenn Sie ein anderes System als CentOS betreiben, beachten Sie bitte die offizielle Dokumentation um dir beim Einstieg zu helfen.
Einrichten von Node.js
Wir beginnen mit der Installation von ioBroker mit Hilfe des offiziellen Installationsskript in Node.js v10.
Wenn Sie yum module list nodejs
ausführen, erfahren wir, welche Version von Node.js standardmäßig installiert wird. Die Ausgabe - wie unten gezeigt - bedeutet, dass wir Version 10 bekommen werden. Genau was wir brauchen:
CentOS-8 - AppStream
Name Stream Profiles Summary
nodejs 10 [d] common [d], development, minimal, s2i Javascript runtime
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
Alles, was wir also tun müssen, ist den folgenden Befehl auszuführen, um unsere Umgebung einzurichten:
yum module install nodejs
ioBroker Installation Skript
Das folgende Skript übernimmt dann die eigentliche Installation für uns:
curl -sL https://iobroker.net/install.sh | bash -
Nachdem das Skript durchgelaufen ist, können Sie auf die ioBroker Oberfläche auf der IP-Adresse Ihres Servers mit dem Port 8081
zugreifen:
Verbindung zum MQTT Broker herstellen
ioBroker bietet eine Reihe von Adaptern an, mit denen Sie die Software an die MQTT-Schnittstelle Ihrer Kamera anschließen können. Einige Beispiele sind:
Node-RED Adapter
Sie können Node-RED als Adapter direkt aus der ioBroker UI installieren:
Sie können den Node-RED Webserver-Port - Standard 1880
-, eine Benutzeranmeldung für die Schnittstelle und einen URL-Rootpfad festlegen, z.B. /nodered
:
Der Node-RED-Adapter sollte nach dem Speichern Ihrer Einstellungen betriebsbereit sein:
Jetzt können Sie über die IP-Adresse Ihres Servers auf die Node-RED-Benutzeroberfläche zugreifen, mit dem Port, der Root-URL und dem Login, das Sie zuvor festgelegt haben - z.B. http://192.168.2.111:1880/nodered/
:
Um eine Verbindung zu Ihrer Kamera herzustellen, können Sie unser Node-RED Tutorial verwenden.
Beispiel Flow
Beginnen Sie mit einem MQTT Input Knoten und fügen Sie das Status Topic für die Funktion hinzu, die Sie schalten möchten - z.B. instar/000389888811/status/alarm/area1/enable
würde den aktuellen Zustand zurückgeben. (AN {"val":"1"}
oder AUS {"val":"0"}
) des ersten Alarmerkennungsbereichs:
Fügen Sie nun einen Dashboard-Switch hinzu und weisen Sie ihm die beiden möglichen Zustände {"val": "1"}
oder {"val": "0"}
zu, die der Erkennungsbereich annehmen kann:
Und beenden Sie die Sequenz, indem Sie einen MQTT Output-Knoten mit dem entsprechendenBefehl Topic instar/000389888811/alarm/area1/enable
hinzufügen:
Der resultierende Flow sieht so aus und kann aus dem untenstehenden JSON-Code in Node-RED importiert werden:
[{"id":"b99baf44.25272","type":"mqtt in","z":"c2e5509e.eb938","name":"area1","topic":"instar/000389888811/status/alarm/area1/enable","qos":"1","datatype":"auto","broker":"b0e646ce.236148","x":70,"y":68,"wires":[["9158f257.9f7fc"]]},{"id":"7ec111e1.da923","type":"mqtt out","z":"c2e5509e.eb938","name":"area1","topic":"instar/000389888811/alarm/area1/enable","qos":"1","retain":"","broker":"b0e646ce.236148","x":340,"y":68,"wires":[]},{"id":"9158f257.9f7fc","type":"ui_switch","z":"c2e5509e.eb938","name":"Alarm Area 1","label":"Alarm Area 1","tooltip":"","group":"bb4da677.e6f318","order":0,"width":0,"height":0,"passthru":false,"decouple":"false","topic":"","style":"","onvalue":"{\"val\":\"1\"}","onvalueType":"str","onicon":"","oncolor":"","offvalue":"{\"val\":\"0\"}","offvalueType":"str","officon":"","offcolor":"","x":204,"y":68,"wires":[["7ec111e1.da923"]]},{"id":"b0e646ce.236148","type":"mqtt-broker","z":"","name":"IN-9010FHD","broker":"192.168.2.165","port":"8883","tls":"4a5bc5a5.6ceddc","clientid":"","usetls":true,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"bb4da677.e6f318","type":"ui_group","z":"","name":"Alarm Area 1","tab":"b5b7854e.b8db58","disp":true,"width":"6","collapse":false},{"id":"4a5bc5a5.6ceddc","type":"tls-config","z":"","name":"","cert":"","key":"","ca":"","certname":"instar-cert.cert","keyname":"","caname":"","servername":"","verifyservercert":true},{"id":"b5b7854e.b8db58","type":"ui_tab","z":"","name":"MQTT","icon":"dashboard","disabled":false,"hidden":false}]
Sie können auf das Node-RED Dashboard zugreifen, indem Sie der URL, die Ihr Node-RED verwendet, ein ui
hinzufügen - z.B. http://192.168.2.111:1880/nodered/
-> http://192.168.2.111:1880/nodered/ui
:
MQTT Adapter
Um mit unserer Kamera über das MQTT-Protokoll direkt über ioBroker kommunizieren zu können, können wir auch den MQTT Broker/Client Adapter aus den Listen der verfügbaren Adapter installieren. Mit diesem Adapter können Sie MQTT-Nachrichten (Client) veröffentlichen und abonnieren sowie als primärer MQTT-Server für alle Ihre INSTAR Full HD-Kameras fungieren.
Nach der Installation werden Sie vom Konfigurationsbildschirm begrüßt. Wie Sie im Screenshot unten sehen können, haben wir uns nicht für den Server entschieden, da wir wollen den INSTAR MQTT Broker auf unserer Kamera verwenden. Wenn Sie möchten, dass ioBroker der Standard-MQTT-Server ist, wählen Sie Server/Broker
anstelle von Client/subscriber
. Der Server läuft auf dem Standard-Port von 1883 und benötigt in unserem Fall das Login, das wir in unserer MQTT Broker Konfiguration festgelegt haben.
Wir wollen nun eine Kamera mit der MAC-Adresse 00:03:03:89:88:88:88:11 an ioBroker anbinden - also wir wissen es sicher dass jede Nachricht, die dazu bestimmt ist, unsere Kamera zu steuern, mit instar/000389888811/#
beginnen muß. Wir können hierfür ein allgemeines Wildcard-Abonnement anlegen. Wenn Sie mehrere Kameras anbinden möchten, können Sie stattdessen instar/#
abonieren.
Jetzt, wo alles eingestellt ist, können wir alles speichern und den MQTT-Adapter aktivieren:
Der auf Ihrer Kamera installierte MQTT Broker speichert (retained) jeweils das letzte Status-Update für jedes MQTT-Topic und pushed alle Updates - dank unseres Wildcard-Abonnement für instar/000389888811/#
- in den ioBroker-Objektbaum sobald wir uns verbinden:
So wissen wir nun, in welchem Zustand sich die Kamera befindet und können diese Informationen in einer der ioBroker UI / Visualisierung verwenden. Aber der interessante Teil fehlt noch - die Befehls-Topics, die uns erlauben, Funktionen auf unserer Kamera ein- oder auszuschalten. Die ioBroker Vis UI benötigt die RAW Topics, um eine Verbindung mit unserer Kamera herzustellen. Diese können Sie mit MQTT.fx dem ioBroker-Objektbaum hinzufügen:
Verbinden Sie MQTT.fx mit Ihrem MQTT-Broker und veröffentlichen (publish) Sie die Topics, die Sie hinzufügen möchten. Wenn Sie zum Beispiel die Zahl 1
unter dem Topic instar/000389888811/alarm/area1/sensitivity/raw
veröffentlichen, wird die Empfindlichkeit für Alarmbereich 1 auf den Wert 1
gesetzt. Das Aktualisieren des Topics instar/000389888811/alarm/area1/enable/raw
wird mit 1
den Bereich aktivieren oder mit 0
den deaktivieren.
Jetzt haben wir auch Zugang zu diesen Befehls-Topics in der Visualisierung unserer Wahl haben:
Visualization
Mit dem vis-Adapter können Sie Ihr persönliches Admin-Dashboard in ioBroker erstellen. Gehen Sie zur Registerkarte Adapter und installieren Sie Visualisierung, um zu beginnen:
Sie können das Vis-Konfigurationspanel auf Port 8082
(Standard) öffnen oder auf diese Schaltfläche in der Übersicht der Instanzen klicken:
ioBroker begrüßt Sie mit einer Demo-Ansicht wie dieser:
Wir können nun eine neue Ansicht erstellen und ein Radio Button Widget auf den Canvas ziehen. Weisen Sie einfach diesem einfach die MQTT RAW Topics zu, die bei Verwendung der Schaltfläche aktualisiert werden sollen:
Ein Klick auf den Button sendet entweder ein 1
oder 0
an das gewählte Topic - in meinem Fall instar/000389888811/alarm/area2/enable/raw
. Sobald die Kamera - mit der MAC-Adresse 00:03:89:88:88:88:11 - dieses Update erhält, wird der Bewegungserkennungsbereich 2 aktiviert oder deaktiviert.
Um die Empfindlichkeit dieses Bereichs zu ändern, können wir ein Horizontal Slider Widget verwenden und diesem das entsprechende MQTT RAW Topics zuweisen. In meinem Fall instar/000389888811/alarm/area2/sensitivity/raw
:
Um Ihre Widgets zu testen, können Sie nun in das Vis Dashboard wechseln, indem Sie auf die Pfeiltaste oben rechts klicken. Beachten Sie, dass Sie eine Lizenz zur Nutzung der Visualisierung benötigen, die für den privaten Gebrauch kostenlos ist. Ein Tutorial zur Erlangung dieser Lizenz finden Sie in einem unserer früheren Tutorials für ioBroker.
Die obige Animation zeigt das ioBroker Vis Dashboard auf der rechten Seite und das Node-RED Dashboard - das wir in einem vorherigen Schritt erstellt haben - auf der linken Seite. Das Aktivieren des Alarmbereichs oder das Ändern seiner Empfindlichkeit auf dem Vis-Dashboard wird automatisch dank MQTT zum Node-RED Dashboard ge-pushed.
JSON Flow for Node-RED
[{"id":"b99baf44.25272","type":"mqtt in","z":"c2e5509e.eb938","name":"area2","topic":"instar/000389888811/status/alarm/area2/enable","qos":"1","datatype":"auto","broker":"b0e646ce.236148","x":70,"y":60,"wires":[["9158f257.9f7fc"]]},{"id":"7ec111e1.da923","type":"mqtt out","z":"c2e5509e.eb938","name":"area2","topic":"instar/000389888811/alarm/area2/enable","qos":"1","retain":"false","broker":"b0e646ce.236148","x":658,"y":60,"wires":[]},{"id":"9158f257.9f7fc","type":"ui_switch","z":"c2e5509e.eb938","name":"Alarm Area 2","label":"Alarm Area 2","tooltip":"","group":"bb4da677.e6f318","order":0,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"{\"val\":\"1\"}","onvalueType":"str","onicon":"","oncolor":"","offvalue":"{\"val\":\"0\"}","offvalueType":"str","officon":"","offcolor":"","x":517,"y":60,"wires":[["7ec111e1.da923"]]},{"id":"2df6850f.0faa9a","type":"mqtt in","z":"c2e5509e.eb938","name":"area2","topic":"instar/000389888811/status/alarm/area2/sensitivity","qos":"1","datatype":"auto","broker":"b0e646ce.236148","x":70,"y":160,"wires":[["f6880ca3.226b4"]]},{"id":"2b08d32a.75d44c","type":"mqtt out","z":"c2e5509e.eb938","name":"area2","topic":"instar/000389888811/alarm/area2/sensitivity","qos":"1","retain":"false","broker":"b0e646ce.236148","x":854,"y":161,"wires":[]},{"id":"4d19ae3.73a4a5","type":"change","z":"c2e5509e.eb938","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.val","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":347,"y":161,"wires":[["20fc6702.9f70c8"]]},{"id":"f6880ca3.226b4","type":"json","z":"c2e5509e.eb938","name":"","property":"payload","action":"","pretty":false,"x":194,"y":161,"wires":[["4d19ae3.73a4a5"]]},{"id":"d054f844.49d928","type":"function","z":"c2e5509e.eb938","name":"Transform","func":"msg.payload = '{\"val\":\"'+msg.payload+'\"}';\nreturn msg;","outputs":1,"noerr":0,"x":710,"y":161,"wires":[["2b08d32a.75d44c"]]},{"id":"20fc6702.9f70c8","type":"ui_slider","z":"c2e5509e.eb938","name":"","label":"Area Sensitivity","tooltip":"","group":"bb4da677.e6f318","order":1,"width":0,"height":0,"passthru":false,"outs":"all","topic":"","min":0,"max":"100","step":1,"x":544,"y":161,"wires":[["d054f844.49d928"]]},{"id":"1f9ab059.2a762","type":"json","z":"c2e5509e.eb938","name":"","property":"payload","action":"","pretty":false,"x":192,"y":60,"wires":[["1a86a3d8.30000c"]]},{"id":"1a86a3d8.30000c","type":"change","z":"c2e5509e.eb938","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.val","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":343,"y":60,"wires":[[]]},{"id":"b0e646ce.236148","type":"mqtt-broker","z":"","name":"IN-9010FHD","broker":"192.168.2.165","port":"8883","tls":"4a5bc5a5.6ceddc","clientid":"","usetls":true,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"bb4da677.e6f318","type":"ui_group","z":"","name":"Alarm Area 2","tab":"b5b7854e.b8db58","disp":true,"width":"6","collapse":false},{"id":"4a5bc5a5.6ceddc","type":"tls-config","z":"","name":"","cert":"","key":"","ca":"","certname":"instar-cert.cert","keyname":"","caname":"","servername":"","verifyservercert":true},{"id":"b5b7854e.b8db58","type":"ui_tab","z":"","name":"MQTT","icon":"dashboard","disabled":false,"hidden":false}]
Live Video
Sie können das live Video Ihre Kameras mit einem Image Widget hinzufügen. Alles, was Sie dort eintragen müssen, ist der Snapshot-Pfad für Ihre Kamera und ein gewünschtes Aktualisierungsintervall. Für eine Kamera auf IP 192.168.2.165 und dem Login admin/instar sind die Snapshot-Pfade (geordnet in abnehmender Auflösung)):
http://192.168.2.165/tmpfs/snap.jpg?usr=admin&pwd=instar
http://192.168.2.165/tmpfs/auto.jpg?usr=admin&pwd=instar
http://192.168.2.165/tmpfs/auto2.jpg?usr=admin&pwd=instar
Um einen Live-Videostream hinzuzufügen, können Sie auch Tools wieMotionEye verwenden, um das Video direkt auf Ihren ioBroker Vis zu übertragen:
Alarmserver und Webhooks
Kontaktieren Sie ioBroker, wenn Ihre Kamera einen Alarm auslöst.
Der einfachste Weg, Ihren Kamera-Alarmserver mit ioBroker zu verbinden, ist über den Node-RED-Adapter. Bitte schauen Sie sich hierfür unser Tutorial unter dem folgenden Link an: