Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. MQTT Full HD Kamera für ioBroker

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    MQTT Full HD Kamera für ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Hardy6 last edited by Hardy6

      @mpolinowski
      Die Signalanzeige der MQTT-Instanz geht im Wechsel Orange/grün im Millisekundentakt

      Ich habe das Kamerabild von zwei IN-9008 eingebunden wie folgt:


      http://192.xxx.xxx.xxx:yy/tmpfs/snap.jpg?use=username&pwd=passwort

      Das wird alle 0,5sec jeweils aktualisiert.

      Da ich ein Support Ticket erstellt hatte weis ich bereits das einige Sachen in der nächsten FW behoben wurden, ich warte nur noch auf Zusendung des Downloadlinks.

      @mpolinowski sagte in MQTT Full HD Kamera für ioBroker:

      Wie schaut das MQTT Log auf der Kamera aus?
      http://192.168.188.15/tmpfs/mqtt-log

      Die Website ist nicht erreichbar
      192.168.188.15 hat die Verbindung abgelehnt.
      Auf Google nach tmpfs mqtt log suchen
      ERR_CONNECTION_REFUSED

      EDIT: ich benutze Google CHROME(aktuellen)

      auch wenn ich die Credentials mitgebe. Zusätzlich bin ich im gleichen Browser in der Kamera eingelogt als admin. Also sollte das eigentlich kein Problem sein.

      @mpolinowski sagte in MQTT Full HD Kamera für ioBroker:

      Kann man die Kamera denn steuern? Oder gibt es überhaupt keine Verbindung?

      Kann ich nicht sagen, da ich wissenstechnisch noch am Anfang stehe und mich erst das reinfusseln muss.

      Habe die Instanz vorerst gestoppt. Aktuell warte ich erst mal auf die aktualisierte Beta FW und starte die Instanz dann neu.

      1 Reply Last reply Reply Quote 0
      • mpolinowski
        mpolinowski last edited by

        Wenn das Log nicht vorhanden ist, dann ist bei Firmware Update was schief gelaufen. Kommt man den generell noch auf das tmpfs Verzeichnis?

        tmpfs.png

        Wenn ja, dann wäre vermutlich der MQTT Dienst gar nicht erst gestartet - denn das ist gleich der erste Log Eintrag:

        mqtt.png

        Findet man in der WebUI das Netzwerk/MQTT Menü?

        Ich denke ich würde da noch einmal die Firmware drüber bügeln und schauen dass es durchläuft. Ggf. auch die Firmware Datei noch mal runterladen - sicherstellen, dass die Datei beim ersten Download nicht unvollständig angekommen ist.

        1 Reply Last reply Reply Quote 0
        • F
          Förster last edited by Förster

          Hallo zusammen,

          hätte auch noch eine Frage zur Vorgehensweise. Die mqtt-beta hatte ich per Email bekommen, das aufspielen hat (so scheint es zumindest) funktioniert. In der Kamera habe ich die Einstellungen vorgenommen. Im ioBroker habe ich den mqtt-Adapter auf client/subscriber stehen, der Adapter ist grün und im ioBroker log steht "connected to ..." und "all states published".

          Müssten dann unter den Objekten nicht die ganzen states der Kamera erscheinen ? Bei mir kommt da nix an. Woran könnte das liegen ?

          Ach ja: @mpolinowski Danke für den tollen Support hier und auch im homee-Forum 🙂

          mpolinowski 1 Reply Last reply Reply Quote 1
          • mpolinowski
            mpolinowski @Förster last edited by

            @Förster Hallo,

            die Kamera pushed alle Status Topics sobald sie sich verbunden hat. D.h. die müsste man sofort sehen.

            Ich hatte allerdings in der Übersicht im ioBroker auch schon mal das Problem, das nichts reinzukommen schien.

            Ich persönlich nutze MQTT.fx - damit kann man auch all die Befehls-Topics in den Objekt Baum bekommen, wie auch in der ioBroker Anleitung beschrieben.

            Sollten die Topics, die man über MQTT.fx aktualisiert, auch nicht auftauchen, am besten die MQTT Adapter Einstellungen noch mal überprüfen. Also vor allem, dass das Abo auf instar/# gesetzt wird und die Maske auf mqtt0.*.

            1 Reply Last reply Reply Quote 0
            • F
              Förster last edited by

              Hmm. Schein richtig zu sein: instar/# und mqtt.0.*
              Wäre es möglich, hier mal einen Screenshot von den Adapter-Einstellungen reinzustellen ? oben ist ja der Screenshot von "Verbindung". Ich meine den von "mqtt-Einstellungen". Da kann man ja noch einige Einstellungen vornehmen.

              Ansonsten habe ich mal "Teste Verbindung zum Server" geprüft. Da kommt dieses:

              mqtt.0	2020-02-02 16:32:31.498	error	(29272) uncaughtException: Error: Connection refused: Not authorized
              mqtt.0	2020-02-02 16:32:31.493	error	at addChunk (_stream_readable.js:288:12)
              mqtt.0	2020-02-02 16:32:31.493	error	at Socket.emit (events.js:198:13)
              mqtt.0	2020-02-02 16:32:31.493	error	at Socket.ondata (_stream_readable.js:710:20)
              mqtt.0	2020-02-02 16:32:31.493	error	at Writable.write (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:334:11)
              mqtt.0	2020-02-02 16:32:31.493	error	at writeOrBuffer (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:417:5)
              mqtt.0	2020-02-02 16:32:31.493	error	at doWrite (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:428:64)
              mqtt.0	2020-02-02 16:32:31.493	error	at Writable.writable._write (/opt/iobroker/node_modules/mqtt/lib/client.js:302:5)
              mqtt.0	2020-02-02 16:32:31.493	error	at work (/opt/iobroker/node_modules/mqtt/lib/client.js:292:12)
              mqtt.0	2020-02-02 16:32:31.493	error	at MqttClient._handlePacket (/opt/iobroker/node_modules/mqtt/lib/client.js:350:12)
              mqtt.0	2020-02-02 16:32:31.493	error	at MqttClient._handleConnack (/opt/iobroker/node_modules/mqtt/lib/client.js:920:15)
              mqtt.0	2020-02-02 16:32:31.493	error	(29272) Error: Connection refused: Not authorized
              mqtt.0	2020-02-02 16:32:31.492	error	(29272) uncaught exception: Connection refused: Not authorized
              
              1 Reply Last reply Reply Quote 0
              • mpolinowski
                mpolinowski last edited by

                Das hatte ich auch schon beobachtet. Wenn man die Test Funktion nutzt crashed der Adapter. Vielleicht hat jemand hier eine Ahnung was es damit auf sich hat? Sobald ich den Apter neustarte verbindet er sich aber wieder und legt, wie gewünscht, das Abo für instar/# an:

                mqtt.0	2020-02-03 00:00:31.672	info	(776) Subscribe on: "instar/#"
                mqtt.0	2020-02-03 00:00:31.671	info	(776) Connected to 192.168.2.116
                mqtt.0	2020-02-03 00:00:31.637	info	(776) Try to connect to mqtt://admin:*******************@192.168.2.116:1883?clientId=iobroker
                mqtt.0	2020-02-03 00:00:31.558	info	(776) starting. Version 2.0.4 in /opt/iobroker/node_modules/iobroker.mqtt, node: v10.18.1
                host.13be02914684	2020-02-03 00:00:30.723	info	instance system.adapter.mqtt.0 started with pid 776
                host.13be02914684	2020-02-03 00:00:12.952	info	Restart adapter system.adapter.mqtt.0 because enabled
                host.13be02914684	2020-02-03 00:00:12.951	info	instance system.adapter.mqtt.0 terminated with code 0 (NO_ERROR)
                host.13be02914684	2020-02-03 00:00:12.951	error	Caught by controller[0]: at addChunk (_stream_readable.js:288:12) code: 5 }
                host.13be02914684	2020-02-03 00:00:12.951	error	Caught by controller[0]: at Socket.emit (events.js:198:13)
                host.13be02914684	2020-02-03 00:00:12.951	error	Caught by controller[0]: at Socket.ondata (_stream_readable.js:710:20)
                host.13be02914684	2020-02-03 00:00:12.951	error	Caught by controller[0]: at Writable.write (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:334:11)
                host.13be02914684	2020-02-03 00:00:12.951	error	Caught by controller[0]: at writeOrBuffer (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:417:5)
                host.13be02914684	2020-02-03 00:00:12.951	error	Caught by controller[0]: at doWrite (/opt/iobroker/node_modules/readable-stream/lib/_stream_writable.js:428:64)
                host.13be02914684	2020-02-03 00:00:12.951	error	Caught by controller[0]: at Writable.writable._write (/opt/iobroker/node_modules/mqtt/lib/client.js:302:5)
                host.13be02914684	2020-02-03 00:00:12.951	error	Caught by controller[0]: at work (/opt/iobroker/node_modules/mqtt/lib/client.js:292:12)
                host.13be02914684	2020-02-03 00:00:12.951	error	Caught by controller[0]: at MqttClient._handlePacket (/opt/iobroker/node_modules/mqtt/lib/client.js:350:12)
                host.13be02914684	2020-02-03 00:00:12.951	error	Caught by controller[0]: at MqttClient._handleConnack (/opt/iobroker/node_modules/mqtt/lib/client.js:920:15)
                host.13be02914684	2020-02-03 00:00:12.951	error	Caught by controller[0]: { Error: Connection refused: Not authorized
                mqtt.0	2020-02-03 00:00:12.446	info	(440) Terminated (NO_ERROR): Without reason
                mqtt.0	2020-02-03 00:00:12.445	info	(440) terminating
                mqtt.0	2020-02-03 00:00:11.945	info	(440) Disconnected from 192.168.2.116: undefined
                mqtt.0	2020-02-03 00:00:11.944	error	(440) uncaughtException: Error: Connection refused: Not authorized
                mqtt.0	2020-02-03 00:00:11.943	error	(440) Error: Connection refused: Not authorized at MqttClient._handleConnack (/opt/iobroker/node_modules/mqtt/lib/client.js:920:15) at MqttClient._handlePacket (/opt/iobroker/node_modules/mqtt
                mqtt.0	2020-02-03 00:00:11.943	error	(440) uncaught exception: Connection refused: Not authorized
                

                Das hindert also nicht die Funktion an sich.

                Ich würde wirklich vorschlagen mal ein Debug Tool (Mqtt.fx, MQTT Explorer, usw.) zu installieren und mal zu schauen was da für Meldungen durchs MQTT Netz gehen. Und beim ioBroker Objekt Baum ab und zu mal auf "Baum neu erstellen" klicken - damit hatte ich auch schon mal Probleme... die Topics ware bereits da, ich konnte sie nur nicht sehen.

                p.S. Screenshots hochladen geht mit dem Upload File Dialog oben in der Zeile mit den Text-Formatierungstools.

                F 1 Reply Last reply Reply Quote 0
                • F
                  Förster @mpolinowski last edited by

                  @mpolinowski Bildschirmfoto 2020-02-02 um 18.05.22.png

                  mpolinowski 1 Reply Last reply Reply Quote 0
                  • mpolinowski
                    mpolinowski @Förster last edited by

                    @Förster

                    Bekanntgeben eigener Zustände beim Verbinden ist gefährlich. Das sollte man auf jeden Fall rausnehmen. Sobald man Befehls-Topics im Objektbaum hat, werden die beim Verbinden publiziert und man wird mit Updates zuge-spammed. Aber solange man noch nichts hinzugefügt hat, spielt es natürlich keine Rolle.

                    Ich sehe, dass Sie Node-RED als Adapter installiert haben. Das läßt sich genauso zum Debuggen verwenden wie MQTT.fx. Können Sie dort den INSTAR MQTT Broker hinzufügen? Kann man Befehle senden? Ein Wildcard Abo # in einem MQTT Eingangsknoten + Debug Node sollte Ihnen auch alle Status Updates der Kamera zeigen. Diese sind auf retained gesetzt, werden also sofort beim Verbinden publiziert.

                    1 Reply Last reply Reply Quote 0
                    • F
                      Förster last edited by Förster

                      Okay, danke für den Hinweis. Den Haken habe ich rausgenommen.

                      Ich würde das mit dem Debuggen über mqtt gern versuchen, bin da aber totaler Anfänger... ist so etwas gemeint ?
                      Bildschirmfoto 2020-02-03 um 22.02.03.png

                      Da bekomme ich tatsächlich im Debug die ganzen Status!! Hurra!!

                      Nachtrag: und im ioBroker Objektbaum sind die Stats jetzt auch vorhanden 🙂

                      Bildschirmfoto 2020-02-03 um 22.06.10.png

                      1 Reply Last reply Reply Quote 1
                      • F
                        Förster last edited by

                        Jetzt würde ich das mit dem "raw" noch verstehen wollen. Im Vis-Editor habe ich den Button eingefügt und mit dem Objekt verlinkt. Aber woher kommt das raw ? Soweit ich es verstanden habe, kann ich die Kamera ja nur dann schalten, wenn ich den raw-Wert verändere, oder ?

                        Bildschirmfoto 2020-02-03 um 22.16.01.png

                        mpolinowski 1 Reply Last reply Reply Quote 0
                        • mpolinowski
                          mpolinowski @Förster last edited by

                          @Förster Richtig.

                          Ich würde da weiterhin MQTT.fx oder MQTT Explorer empfehlen (in der Anleitung beschrieben), aber man bekommt das auch mit Node-RED hin:

                          mqtt-nodered-iobroker.gif

                          Hier ist der benötigte Flow:

                          [{"id":"5aa0bd1c.0e4d64","type":"mqtt in","z":"cf5a544a.c32598","name":"status/alarm/area3/enable","topic":"instar/10D1DC2171FE/status/alarm/area3/enable","qos":"1","datatype":"auto","broker":"feae1d82.617d2","x":210,"y":80,"wires":[["ac4a5273.b5994"]]},{"id":"ac4a5273.b5994","type":"debug","z":"cf5a544a.c32598","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":230,"y":123,"wires":[]},{"id":"34dd783b.7454e8","type":"mqtt out","z":"cf5a544a.c32598","name":"alarm/area3/enable/raw","topic":"instar/10D1DC2171FE/alarm/area3/enable/raw","qos":"1","retain":"","broker":"feae1d82.617d2","x":270,"y":220,"wires":[]},{"id":"444eda9.fbd4524","type":"inject","z":"cf5a544a.c32598","name":"","topic":"","payload":"1","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":175,"y":178,"wires":[["34dd783b.7454e8"]]},{"id":"feae1d82.617d2","type":"mqtt-broker","z":"","name":"116Black","broker":"192.168.2.116","port":"8883","tls":"64ba55e0.2d728c","clientid":"","usetls":true,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"64ba55e0.2d728c","type":"tls-config","z":"","name":"8015Black","cert":"","key":"","ca":"","certname":"8015pcert.pem","keyname":"","caname":"","servername":"","verifyservercert":true}]
                          

                          Ich habe da die MQTT ID bereits auf 10D1DC2171FE angepasst. Sollte also sofort funktionieren. In Node-RED oben rechts in der Ecke das Menü öffnen und Import auswählen. Danach den JSON Code oben reinkopieren und bestätigen, die Node Sequenz plazieren und Deploy drücken. (Nicht vergessen bei den MQTT Nodes noch den MQTT Broker auswählen!)

                          Wenn man jetzt auf den blauen Inject Node klickt wird eine 1 als Payload an das MQTT Topic instar/10D1DC2171FE/alarm/area3/enable/raw geschickt. Entsprechend sollte in der Kamera danach der dritte Alarmbereich aktiv sein. Wenn man im Inject Node den Payload auf 0 ändert und den Vorgang wiederholt, wird der Bereich wieder deaktiviert.

                          Im ioBroker Objekt Baum sollte dann auch das RAW Topic zu finden sein.

                          Anmerkung: Ich habe es gerade wieder erlebt, dass ioBroker die Änderung im Objektbaum nicht angezeigt hat. Nach einem Neustart von ioBroker lief dann wieder alles. Vermutlich hätte ein Neuladen des MQTT Adapters auch schon ausgereicht. Mir wurde bereits gesagt, dass man eventuell besser den reinen MQTT Client Adapter nutzen sollte, da dieser stabiler läuft. Hat da jemand hier im Forum Erfahrung mit?

                          Man kann jetzt im Node-RED Flow nach und nach die MQTT Topics reinkopieren und absenden, die man im ioBroker nutzen möchte.

                          F 1 Reply Last reply Reply Quote 0
                          • mpolinowski
                            mpolinowski last edited by

                            Bei allen Full HD Kameramodellen kann man mit der aktuellen Firmware jetzt das Alarmserver Intervall per CGI Befehl einstellen. Der Standard-Wert ist 60s:

                            /param.cgi?cmd=setmdalarm&-aname=server2&-switch=on&-interval=60

                            Eine Reduktion ist bis auf eine Sekunde runter möglich - wir empfehlen jedoch es auf min. 10-15s zu belassen (wenn auf der Smarthome-Seite nicht anders benötigt). Um das Intervall zwischen Alarmauslösungen bei einer Kamera mit der IP  192.168.178.102  und dem HTTP Port  80  auf  15s  zu stellen, lautet der Befehl beispielsweise:

                            http:// 192.168.178.102:80/param.cgi?cmd=setmdalarm&-aname=server2&-switch=on&-interval=15

                            Der Alarmserver wird verwendet um ioBroker zu informieren, wenn eine Bewegung von der Kamera erkannt wurde:

                            https://wiki.instar.de/Frequently_Asked_Question/ioBroker_and_INSTAR_Alarmserver/

                            1 Reply Last reply Reply Quote 0
                            • F
                              Förster @mpolinowski last edited by

                              @mpolinowski Super, vielen Dank für den tollen Support an dieser Stelle, hat funktioniert.

                              Werde mit den Einstellungen noch ein bisschen rumspielen und probieren, was damit alles möglich ist. Mein Ziel ist es, den Status der Kamera (Alarmserver an/aus) in VIS zu visualisieren bzw. auf die Schaltung durch meine Zentrale (homee) zu reagieren. Mit den Hinweisen sollte das klappen 🙂

                              mpolinowski 1 Reply Last reply Reply Quote 1
                              • mpolinowski
                                mpolinowski @Förster last edited by

                                @Förster

                                ruhig posten sobald die Lösung steht - das interessiert bestimmt auch andere 🙂

                                Sollten noch Probleme auftreten, helfe ich gerne.

                                1 Reply Last reply Reply Quote 0
                                • mpolinowski
                                  mpolinowski last edited by

                                  Der INSTAR MQTT Dienst ist jetzt regulär über das System/Update Menü erhältlich und es wurden noch einige Verbesserungen/Bugfixes hinzugefügt:

                                  • Weitere MQTT Topics hinzugefügt (z.B. zur schrittweise (one-step) Steuerung der Kamera)
                                  • Benutzer Logins sind nicht mehr per MQTT auslesbar
                                  • Alle Sonderzeichen, die auch beim Kameralogin erlaubt sind, können jetzt auch fürs MQTT verwendet werden
                                  • Die hinterlegten Ports für den MQTT Dienst wurden auf die Standards 1883/8883 angepasst
                                  • In der Beta wurde bei Topics nicht zwischen “local” und “all” unterschieden. Ersters spricht jetzt nur noch die Kamera an, auf der der Broker läuft und letzteres alle Kameras im MQTT Netzwerk
                                  • Die Verwendung von eigenen SSL Zertifikaten für den MQTT Dienst wurde vereinfacht. Wir haben bereits eine Anleitung für selbst-signierte Certs online, für CA Certs (Let’s Encrypt) folgt in Kürze.
                                  1 Reply Last reply Reply Quote 0
                                  • mpolinowski
                                    mpolinowski last edited by

                                    Ich bin von einigen ioBroker Nutzern bzgl. Fälle in denen der ioBroker MQTT Adapter Kameraeinstellungen überschreibt, wie es aussieht, wenn man den ioBroker Adapter nicht als Client, sondern als MQTT Broker verwenden möchte. Und genrelle Anfragen dazu, wie man am besten das passenden Befehl, Status und RAW MQTT Topic für eine Anwendung finden kann.

                                    Zu all diesen Themen gibt es jetzt kurze FAQ's im INSTAR Wiki.

                                    1 Reply Last reply Reply Quote 0
                                    • mpolinowski
                                      mpolinowski last edited by

                                      Das letzte MQTT Update beinhaltet zwei ioBroker relevante Bug Fixes und man kann es direkt über die Weboberfläche der Kamera herunterladen:

                                      1.) Beim Auflösen von eingehenden CGI Befehlen (zum Beispiel beim Benutzen der Kamera über die WebUI) in MQTT Status Updates, wurde eine DNS Anfrage für "localhost" an den DNS Server des Netzwerkes gesendet. Dieses Problem behoben.
                                      
                                      2.) Der MQTT Adapter im ioBroker lässt sich so konfigurieren, dass dieser nach einem Neustart die Konfiguration der Kamera mit leeren "Strings" überschreibt. Da der ioBroker nur mit RAW Topics arbeitet, haben wir das Senden von "leeren" Updates auf RAW Topics unterbunden. Siehe auch Fehlerbeschreibung im Wiki,
                                      
                                      3.) Wenn man ein Variable der Konfiguration auf einen leeren "String" setzen muss, ist dies über die regulären Befehl Topics im JSON Format möglich: {"val":""}. Der Fehler, dass hierbei die Variable auf den Wert "$val" gesetzt wurde, wurde behoben.
                                      
                                      4.) Beim gleichzeitigen Versenden einer größeren Anzahl an CGI Befehle zur Kamera, konnte es vorkommen, dass die entsprechenden MQTT Status Updates nicht richtig aufgelöst wurden. Aufgefallen war dies bei der Verwendung von HTTP Schaltern in der Homebridge (Homekit). Dieses Problem wurde behoben.
                                      
                                      5.) Die verfügbaren MQTT Topics wurden erweitert und die Dokumentation verbessert.
                                      
                                      z.B. ist es jetzt möglich einen Scan zwischen 2, vorher in der WebUI festgelegten, Positionen zu starten (features/ptz/preset) oder eine, ebenfalls zuvor festgelegte, Tour anzustoßen (features/ptz/scan).
                                      
                                      
                                      6.) Die üblichen kleinen Bugfixes und Verbesserungen...
                                      

                                      Es wird in Kürze dann ein Update geben, mit dem man Alarmereignisse per MQTT abgreifen kann.

                                      1 Reply Last reply Reply Quote 0
                                      • mpolinowski
                                        mpolinowski last edited by

                                        MQTT Alarmserver

                                        Mit dem aktuellsten Update kann man jetzt auch Alarmereignisse per MQTT im ioBroker nutzen. Hier gibt es eine Anleitung wie man dies mit dem Node-RED Adapter umsetzen kann.

                                        Mit Blockly kann man es so machen:

                                        INSTAR_MQTT_Alarmserver_ioBroker_04.png

                                        Wenn das MQTT Status Topic alarm/triggered aktualisiert wird, dann mache was. Das Beispiel bezieht sich auf eine Kamera mit der MQTT ID 10D1DC21F5DB - das muß man dann auf die ID der eigenen Kamera anpassen.

                                        Die Werte die über das Topic reinkommen sind {"val":"1"} bis {"val":"10"} und stehen für den Auslöser des Alarms:

                                        • Alarmbereich Bereich 1 ausgelöst: 1
                                        • Alarmbereich Bereich 2 ausgelöst: 2
                                        • Alarmbereich Bereich 3 ausgelöst: 3
                                        • Alarmbereich Bereich 4 ausgelöst: 4
                                        • Alarmeingang / PIR ausgelöst: 5
                                        • Audioalarm ausgelöst: 6
                                        • Bewegungserkennung & PIR wurde ausgelöst (Bereich 1): 7
                                        • Bewegungserkennung & PIR wurde ausgelöst (Bereich 2): 8
                                        • Bewegungserkennung & PIR wurde ausgelöst (Bereich 3): 9
                                        • Bewegungserkennung & PIR wurde ausgelöst (Bereich 4): 10

                                        In dem Beispiel Skript habe ich Alarmbereich 1 auf der linken und Bereich 4 auf der rechten Seite des Bildes in der Kamera eingezogen:

                                        INSTAR_MQTT_Alarmserver_Motion_Tracking_02.png

                                        Wenn ich jetzt ein {"val":"1"} auf dem alarm/triggered Topic erhalte bedeutet das, dass eine Bewegung auf der linken Seite erkannt wurde - ich muß die Kamera also nach links Steuern um das Objekt zu zentrieren. Und bei einem {"val":"4"} schwenke ich die Kamera einen Schritt nach rechts.

                                        Das funktioniert mit dem Topic:

                                        • /features/ptz/movestep/raw und dem Payload left oder right

                                        Zusätzlich hatte ich noch eine Aktion für ein {"val": "6"} eingerichtet - dies ist der Audioalarm, der aber auch mit dem Topic alarm/pushalarm ausgelöst werden kann und somit für Automatisierungen im ioBroker genutzt werden kann. Die 8 gespeicherten Positionen kann man mit dem folgenden Topic anfahren lassen:

                                        • features/ptz/presets/raw mit Payload 0 - 7

                                        Die Auslösung des Audioalarms würde gemäß des Beispielskripts dann dazu führen, dass die Kamera die Preset Position 3 anfährt.

                                        1 Reply Last reply Reply Quote 0
                                        • mpolinowski
                                          mpolinowski last edited by

                                          XML Export für das Blockly Skript oben - bitte beachten, dass die hier verwendete Kamera die MQTT ID 10D1DC21F5DB hat - hier muß man entsprechend die ID der eigenen Kamera eintragen:

                                          <xml xmlns="http://www.w3.org/1999/xhtml">
                                            <block type="on_ext" id="5:E8z%?$kF2:_228=Fsl" x="-62" y="-112">
                                              <mutation items="1"></mutation>
                                              <field name="CONDITION">ne</field>
                                              <field name="ACK_CONDITION"></field>
                                              <value name="OID0">
                                                <shadow type="field_oid" id="7K},E#*On`zsq^jhPQ9v">
                                                  <field name="oid">mqtt.0.instar.10D1DC21F5DB.status.alarm.triggered</field>
                                                </shadow>
                                              </value>
                                              <statement name="STATEMENT">
                                                <block type="controls_if" id="2%z$7WDJUl-dSz+miU(-">
                                                  <value name="IF0">
                                                    <block type="logic_compare" id="9]pjLD{[W^26TPYM6liS">
                                                      <field name="OP">EQ</field>
                                                      <value name="A">
                                                        <block type="on_source" id="-?/H,NwcYjPh~{p`fc`~">
                                                          <field name="ATTR">state.val</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <block type="text" id="hKDWmg?WzR9@$Wo4RHj5">
                                                          <field name="TEXT">{"val":"1"}</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <statement name="DO0">
                                                    <block type="control" id="g@M?e*b1_8ezO{_(PUcP">
                                                      <mutation delay_input="false"></mutation>
                                                      <field name="OID">mqtt.0.instar.10D1DC21F5DB.features.ptz.movestep.raw</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="text" id="u2H{{k$7nO+({(J4,2,C">
                                                          <field name="TEXT">left</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </statement>
                                                  <next>
                                                    <block type="controls_if" id="}uq*%|F/Nt=*`rn`|hV4">
                                                      <value name="IF0">
                                                        <block type="logic_compare" id="|x2u0AR*aTmVC=lfROzF">
                                                          <field name="OP">EQ</field>
                                                          <value name="A">
                                                            <block type="on_source" id="In|(S^y0YVoVN#Y^[.5m">
                                                              <field name="ATTR">state.val</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <block type="text" id="uC/+7LgdO]A`UdHW*sHC">
                                                              <field name="TEXT">{"val":"4"}</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="control" id="K58]j^_|1M4|}D2aF?{u">
                                                          <mutation delay_input="false"></mutation>
                                                          <field name="OID">mqtt.0.instar.10D1DC21F5DB.features.ptz.movestep.raw</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE">
                                                            <block type="text" id="13|%(`^fM,_w499|gkt-">
                                                              <field name="TEXT">right</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                      <next>
                                                        <block type="controls_if" id="JhXZ,A)R?fQ}!et!,!/7">
                                                          <value name="IF0">
                                                            <block type="logic_compare" id="560g5G|oV?rEcXER(oOD">
                                                              <field name="OP">EQ</field>
                                                              <value name="A">
                                                                <block type="on_source" id="9[A80k}o*RpbflDD2h/:">
                                                                  <field name="ATTR">state.val</field>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <block type="text" id="._5?cn:Mi%DWgz;OL}v4">
                                                                  <field name="TEXT">{"val":"6"}</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <statement name="DO0">
                                                            <block type="control" id="]KIbdkEE?:DEhmZ`)wE=">
                                                              <mutation delay_input="false"></mutation>
                                                              <field name="OID">mqtt.0.instar.10D1DC21F5DB.features.ptz.preset.raw</field>
                                                              <field name="WITH_DELAY">FALSE</field>
                                                              <value name="VALUE">
                                                                <block type="text" id="1HbkwoM-U/]J2go|iNoe">
                                                                  <field name="TEXT">2</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </statement>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                            </block>
                                          </xml>
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • mpolinowski
                                            mpolinowski last edited by

                                            Hallo ioBroker Forum,

                                            Ich hatte eine Antwort bzgl. des Problems bekommen, das der Zustand (z.B. Alarmbereich ist an/aus) in der ioBroker Vis nicht aktualisiert wird, wenn man diesen z.B. über die Weboberfläche der Kamera schaltet:

                                            EddyD's SmartHome - Youtube Tutorial

                                            In dem Video wird gezeigt wie man das mit Blockly in Griff bekommen kann. Ich hatte mir daraufhin angeschaut wie es man das alternativ über den Node-RED Adapter löst.

                                            Kurz gefasst:

                                            1.) Man legt einen Datenpunkt für alles an was man per Vis schalten/empfangen möchte.

                                            ioBroker_Vis_Node-RED_INSTAR_07.png

                                            2.) Man nimmt Node-RED (oder Blockly), um diesen Datenpunkt zu manipulieren, wenn das entsprechende MQTT Befehls oder Status Topic aktualisiert wird.

                                            ioBroker_Vis_Node-RED_INSTAR_09.png

                                            MQTT Status Update kommt rein -> Schaltet Datenpunkt
                                            
                                            Datenpunkt wird über Vis geschaltet -> Aktualisiert MQTT Befehl Topic
                                            

                                            3.) Jetzt braucht man nur noch einen An/Aus Schalter in der Vis, den man mit diesem Datenpunkt verknüpft. Und schon sieht man immer den aktuellen Status der Kamera - unabhängig davon wo man die Änderung vornimmt.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            935
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            camera mqtt mqtt-broker node-red
                                            6
                                            46
                                            8392
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo