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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    MQTT Full HD Kamera für ioBroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                        • E
                                          Eisbaer721 last edited by

                                          Hallo zusammen
                                          Ich besitzt die Instar 9020 Full Hd seit einiger Zeit.
                                          Gesteuert habe ich bisher die Cam über die CGI Befehle.
                                          Nun wollte ich das alles über MQTT machen.
                                          Die neuste Firmware von der Cam ist auch aufgespielt. 4.2.2.19.
                                          Iobroker ist per Server-MQTT mit der Cam verbunden.
                                          Alle Datenpunkte kommen auch an.
                                          Nun will ich die Cam steuern :
                                          z.B. Area 1 enable :
                                          d11c00b7-d415-4834-b06b-310faaf2d42b-image.png
                                          Alles Ok.

                                          Will ich sie auf gespeicherte Position 0 fahren :
                                          5c93db3c-cc24-4f74-a4df-0ae93b81092d-image.png

                                          tauchen im Iobroker folgende Warnmeldungen auf: Der Befehl wird aber ausgeführt.
                                          9d271a7f-a7cf-4e56-95b4-04ca40f102f2-image.png

                                          Pir ein oder aus schalten funktioniert gar nicht. (Keine Reaktion in der Cam)

                                          Irgendwie bin ich ratlos. 🙄

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

                                            Hallo @Eisbaer721 ,

                                            ich hatte jetzt schon 2 Berichte, dass der MQTT Adapter Client/Broker mit der Kamera Probleme machen kann, wenn man ihn als Broker der Kamera konfiguriert.

                                            Da ich normalerweise eine meiner Kameras als Broker konfiguriert hatte (alle anderen Kameras + Smarthome Systeme als Client), habe ich das bei mir letztes Wochenende mal umgestellt. Bislang läuft alles ok:

                                            ioBroker_MQTT_Adapter.gif

                                            Aber ich behalte es im Auge. Das einzige was ich früher schon mal erlebt hatte, war das mir Topic Updates nicht mehr im Objektbaum angezeigt wurden. Ein Neustart von ioBroker hatte das behoben.

                                            Die Lösung die in dem Youtube Video (das ich oben verlinkt hatte) vorgeschalgen wurde, war eine extra Instanz des MQTT Brokers in ioBroker für die Kameras anzulegen. Danach lief es bei ihm stabil.

                                            Läuft der Adapter bei als Broker oder Client? Und wie schaut die Konfiguration aus? In der Config hatte ich anfangs auch bei mir ein paar Fehler drinnen, die Probleme verursachten.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            704
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            camera mqtt mqtt-broker node-red
                                            6
                                            46
                                            8607
                                            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