INSTAR Deutschland GmbHINSTAR Deutschland GmbH

INSTAR MQTT Server mit homee



Diskutieren Sie diesen Artikel im INSTAR Forum

Node-RED-Konfiguration

Wenn Sie Node-RED noch nicht verwenden, folgen Sie bitte unseren Tutorials zur Einrichtung des Programms unter Windows, LINUX Debian oder auf einer Homematic CCU3. Wenn Sie einen Raspberry Pi verwenden, um Node-RED auszuführen, können Sie das Programm mit dem offiziellen Installationsskript automatisch für Sie einrichten lassen.

Sie können unserem Tutorial folgen wie Sie Node-RED an Ihre INSTAR Full HD Kamera MQTT Schnittstelle anbinden können.

Verwendung von homee Umgebungsvariablen

Zuerst werden wir den homee Webhook Service nutzen, um einen Node-RED Flow für uns auszulösen. Als Auslöser möchte ich die homee-Systemvariablen verwenden, wie away, home, vacation. Beginnen wir mit der Erstellung eines Webhook in Node-RED, den wir über das Homee-Gateway erreichen können:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Sie können diesen Flow mit dem folgenden JSON-Code in Ihr Node-RED-Panel importieren:

[{"id":"181fefd6.961e6","type":"http in","z":"4ea30e4c.29d4","name":"homee env","url":"/homee/environment/","method":"post","upload":false,"swaggerDoc":"","x":80,"y":340,"wires":[["405534e7.66348c","bec44bcd.5eb548"]]},{"id":"405534e7.66348c","type":"http response","z":"4ea30e4c.29d4","name":"Webhook","statusCode":"","headers":{"content-type":"application/json"},"x":228,"y":340,"wires":[]},{"id":"bec44bcd.5eb548","type":"debug","z":"4ea30e4c.29d4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":240,"y":299,"wires":[]}]

Der von uns erstellte Webhook wartet auf eine POST Anfrage auf die URL /homee/environment/:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Jetzt können wir auf das homee Dashboard wechseln und eine Automatisierung erstellen, die diesen Webhook nutzen kann. Klicken Sie hier, um ein neues Homeegram zu erstellen:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Klicken Sie auf When, um die Bedingung festzulegen, die erfüllt sein soll, damit die Aktion ausgelöst wird. Wählen Sie dort Mode:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Wählen Sie Mode is set to Home und klicken Sie auf Fertig, um die Bedingung zu speichern:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Jetzt müssen wir eine Then Aktion hinzufügen, die ausgelöst werden soll, wenn die Bedingung erfüllt ist:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Hier wählen wir den Webhook und geben die URL des Hook ein, den wir gerade in Node-RED erstellt haben - /homee/environment/. Wenn also Ihre Node-RED-Installation auf einem Computer mit der IP 192.168.2.48 läuft und den Standardport 1880 verwendet, ist die komplette URL:

http://192.168.2.48:1880/homee/environment/

Wählen Sie die POST-Methode und fügen Sie eine JSON-Payload hinzu {"val": "home"}. Auf diese Weise können wir den Webhook für alle Umgebungsvariablen wiederverwenden und verschiedene Aktionen in Node-RED hinzufügen, je nachdem, welcher Wert gesendet wird - home, away, leeping, vacation.


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Nachdem wir unser Homeegram gespeichert haben, können wir es nun in einem Probelauf testen. Der Webhook, den wir in Node-RED erstellt haben, hatte einen Debugknoten angeschlossen. Wenn Sie also das Debug-Panel in Node-RED (kleines Käfer Symbol oben rechts) einschalten, sollten wir in der Lage sein, den Eingang unserer POST-Anfrage zu sehen, wenn wir unsere Homee-Variable auf home ändern:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Jetzt können wir diese Schritte wiederholen, um Homeegramme für jede Umgebungsvariable zu erstellen, die wir in Node-RED verwenden möchten. Um zwischen diesen Fällen zu unterscheiden, werden wir einen Switch Node in Node-RED hinter dem Webhook Node anhängen (der kompletteflow kann hier heruntergeladen und nach Node-RED importiert werden):


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Der Switch-Knoten überprüft die gesendete Nachricht und sucht nach dem Wert val. Wenn es sich um home handelt, wird die Nachricht über Ausgang 1 weitergeleitet und jede Nachricht, die einen away trägt, verlässt den Knoten über Ausgang 2.

Und der Rest kann aus unserem Node-RED MQTT Tutorial kopiert und eingefügt werden. Wir müssen die Nachricht auf den Wert setzen, den wir benötigen, und sie mit einem MQTT Out-Knoten für das Befehls-Topic verbinden, das wir aktualisieren möchten:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


In diesem Beispiel wollen wir den Bewegungserfassungsbereich 1 deaktivieren, wenn die Umgebungsvariable home aktiviert ist. Dies geschieht durch Senden von {"val": "0"} an das Topic alarm/area1/enable:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Flow Download

[{"id":"181fefd6.961e6","type":"http in","z":"4ea30e4c.29d4","name":"homee env","url":"/homee/environment/","method":"post","upload":false,"swaggerDoc":"","x":80,"y":80,"wires":[["405534e7.66348c","97d88190.082db"]]},{"id":"405534e7.66348c","type":"http response","z":"4ea30e4c.29d4","name":"Webhook","statusCode":"","headers":{"content-type":"application/json"},"x":238,"y":40,"wires":[]},{"id":"97d88190.082db","type":"switch","z":"4ea30e4c.29d4","name":"","property":"payload.val","propertyType":"msg","rules":[{"t":"eq","v":"home","vt":"str"},{"t":"eq","v":"away","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":229,"y":80,"wires":[["8a63a528.e6e3f8"],["80d7c418.063f58"]]},{"id":"8a63a528.e6e3f8","type":"change","z":"4ea30e4c.29d4","name":"home","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"val\":\"0\"}","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":372,"y":54,"wires":[["e86399a7.4e76e8"]]},{"id":"80d7c418.063f58","type":"change","z":"4ea30e4c.29d4","name":"away","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"val\":\"1\"}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":372,"y":100,"wires":[["f96ffbe7.2eca78"]]},{"id":"e86399a7.4e76e8","type":"mqtt out","z":"4ea30e4c.29d4","name":"alarm/area1/enable","topic":"instar/000389888811/alarm/area1/enable","qos":"1","retain":"false","broker":"9e4e460d.640f18","x":529,"y":54,"wires":[]},{"id":"f96ffbe7.2eca78","type":"mqtt out","z":"4ea30e4c.29d4","name":"alarm/area1/enable","topic":"instar/000389888811/alarm/area1/enable","qos":"1","retain":"false","broker":"9e4e460d.640f18","x":527,"y":101,"wires":[]},{"id":"9e4e460d.640f18","type":"mqtt-broker","z":"","name":"IN-9010FHD","broker":"192.168.2.165","port":"8883","tls":"b55f9f2e.fe529","clientid":"","usetls":true,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"b55f9f2e.fe529","type":"tls-config","z":"","name":"","cert":"","key":"","ca":"","certname":"instar-cert.cert","keyname":"","caname":"","servername":"","verifyservercert":false}]
  • Beachten Sie, dass dieser Flow das MQTT-Topic instar/000389888811/alarm/area1/enable verwendet - Sie müssen 000389888811 mit der MAC-Adresse Ihrer Kamera austauschen, damit dieser funktioniert mit Ihrer Kamera funktioniert. Weitere Informationen finden Sie in der MQTT Einführung.

Anschließen eines Sensors an Ihre Kamera

Beginnen Sie, indem Sie ein neues Homeegram erstellen und die When Bedingung definieren:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Diesmal müssen wir ein Device als Auslöser für unsere Aktion wählen:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Wir wählen einen ZigBee-Bewegungsmelder, der mit unserem Homee-Gateway verbunden ist:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Die Aktion dieser Automatisierung sollte ausgelöst werden, wenn der ZigBee-Sensor eine Bewegung meldet:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Als Aktion wählen wir einen Webhook aus http://192.168.2.48:1880/homee/motionsensor/ um einen POST Request mit {"val":"1"} zu versenden:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Der entsprechende Webhook in Node-RED ist diesmal einfacher aufgebaut, da wir keine Unterscheidung zwischen verschiedenen Payloads durchführen müssen:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


homee sendet uns eine POST-Anfrage mit dem Payload {"val": "1"} an den Webhook. Alles, was wir tun müssen, ist, einen MQTT Out Knoten anzuschließen, der das Thema /alarm/pushalarm auf unserer Kamera aktualisiert. Jedes Mal, wenn der ZigBee-Sensor eine Bewegung meldet, wird nun ein Alarm auf unserer Kamera ausgelöst:


homee Node-RED MQTT Verbindung zu Ihrer INSTAR IP-Kamera


Flow Download

[{"id":"4080d8b0.359ba8","type":"http in","z":"4ea30e4c.29d4","name":"homee motion","url":"/homee/motionsensor/","method":"post","upload":false,"swaggerDoc":"","x":90,"y":220,"wires":[["a073e475.1c5da8","66f1a6a1.b59f78"]]},{"id":"a073e475.1c5da8","type":"http response","z":"4ea30e4c.29d4","name":"Webhook","statusCode":"","headers":{"content-type":"application/json"},"x":238,"y":180,"wires":[]},{"id":"66f1a6a1.b59f78","type":"mqtt out","z":"4ea30e4c.29d4","name":"alarm/pushalarm","topic":"instar/000389888811/alarm/pushalarm","qos":"1","retain":"false","broker":"9e4e460d.640f18","x":270,"y":220,"wires":[]},{"id":"9e4e460d.640f18","type":"mqtt-broker","z":"","name":"IN-9010FHD","broker":"192.168.2.165","port":"8883","tls":"b55f9f2e.fe529","clientid":"","usetls":true,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"b55f9f2e.fe529","type":"tls-config","z":"","name":"","cert":"","key":"","ca":"","certname":"instar-cert.cert","keyname":"","caname":"","servername":"","verifyservercert":false}]
  • Beachten Sie, dass dieser Flow das MQTT-Topic instar/000389888811/alarm/pushalarm verwendet - Sie müssen 000389888811 mit der MAC-Adresse Ihrer Kamera austauschen, damit dieser funktioniert mit Ihrer Kamera funktioniert. Weitere Informationen finden Sie in der MQTT Einführung.