Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Reolink IPcam PTZ Presets

    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

    [gelöst] Reolink IPcam PTZ Presets

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

      Hallo,

      Ich habe eine Reolink IPcam und möchte zeitgesteuert die PTZ Presets ansteuern.

      Im ipcamtalk wurde berichtet dass es mit folgenden Zeilen funktionieren soll:

      var url="http://192.168.AAA.BBB/cgi-bin/api.cgi?cmd=PtzCtrl&token=849ed76fc1f37fe";
      var json=[{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"ToPos","speed":32,"id":1}}];
      

      Wie kann ich das in ein Java Script einbringen. Die beiden Zeilen alleine reichen scheinbar nicht.

      (Habe keine Ahnung von Java Programmierung)

      Grüsse

      Andi

      1 Reply Last reply Reply Quote 0
      • L
        lutzer last edited by

        Ich hab auch keine Ahnung aber das sind ja nur Variablen. Also die legen einen Zustand fest auf den man dann zugreifen kann.

        Schau dir mal blockly an, da kannst du immer noch mal selbst was machen.

        Und was genau willst du denn machen?

        Kamera bei bestimmter Zeit nach oben stellen usw.?

        Ich habe auch reolink Kameras, nur keine ptz.

        Also beim Live Bild könnte ich dir weiter helfen… 😄

        1 Reply Last reply Reply Quote 0
        • G
          grobi79 last edited by

          Moin Lutzer,

          Ich will die Positionen zeit gesteuert anfahren. Die Kamera ist so positioniert dass mehrere Bereiche abgedeckt werden können.

          Wie hast du die Live Bild Darstellung denn realisiert?

          Mit den CGI Befehlen von Reolink (habe ich in den FAQ gefunden) oder selber was in Blockly gebastelt?

          Evtl. kann ich ja aus deinem Beispiel was für mich bauen…

          Grüße

          Andi

          1 Reply Last reply Reply Quote 0
          • L
            lutzer last edited by

            Sorry das erst so spät antworte, hatte selbst noch was probiert.

            IP und Zugang anpassen, versteht sich ja.

            Was geht ist ein Standbild:

            Snap URL:''http://192.168.2.119/cgi-bin/api.cgi?cm … ord=123456''

            Das öffnent der VLC Player:

            rtsp://admin:123456@192.168.2.23:554//h264Preview_01_main

            Also das Standbild bekomme ich in der Vis angezeigt, nur das Video halt nicht.

            Reolink selbst beschreibt das so:

            Preview URL:rtmp://192.168.2.119/bcs/channel0_main.bcs?channel=0&stream=0&user=admin&password=123456

            https://reolink.com/wp-content/uploads/ ... -v1.61.pdf

            1 Reply Last reply Reply Quote 0
            • ?
              A Former User last edited by

              Servus Grobi79,

              auf welchem Betriebssystem hast Du den IoBroker laufen?

              Wenn Linux, dann teste bitte mittels CURL und der PTZ URL ob Du ein Preset anfahren kannst.

              Mittels Script sollte das aber auch mittels Request gehen… hier unser Beispiel:

              on({id: 'javascript.0.Werkstatt.Kameraposition', val: 1}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                try {
                  require("request")('http://camera.eichelbrunn.com/cgi-bin/hi3510/ptzgotopoint.cgi?-point=1').on("error", function () {console.error(e);});
                } catch (e) { console.error(e); }
              });
              
              

              Herzliche Grüße

              Equilora aka Harald

              1 Reply Last reply Reply Quote 0
              • G
                grobi79 last edited by

                Hallo,

                der läuft bei mir auf einem Raspberry mit Stretch.

                Curl scheint ein guter Ansatz zu sein, leider fehlt mir da einiges an Erfahrung.

                Ich schaffe es nicht die login Daten vernüftig zu übergeben:

                curl http://192.168.0.21/cgi-bin/api.cgi?cmd=Login&token=null&user=​admin&password=abcdefg               
                [1] 17076
                [2] 17077
                [3] 17078
                pi@All-In-One_RasPi:~ $ [
                   {
                      "cmd" : "Login",
                      "code" : 1,
                      "error" : {
                         "detail" : "login failed",
                         "rspCode" : -7
                      }
                   }
                ]
                ^C
                [1]   Fertig                  curl http://192.168.0.21/cgi-bin/api.cgi?cmd=Login
                [2]-  Fertig                  token=null
                [3]+  Fertig                  user=​admin
                
                

                Ich müsste die Login Daten in folgender Form übergeben:

                [{"cmd":"Login","action":0,"param":{"User":{"userName":"admin","password":"abcdefg"}}}]
                

                Ich bekomme den korrekten Syntax nicht auf die Reihe. Kannst du mir da nochmal einen Tip geben?

                Grüße

                Andi

                1 Reply Last reply Reply Quote 0
                • ?
                  A Former User last edited by

                  Servus Grobi79,

                  ist grad ein wenig Blindflug…..

                  Kannst Du bitte Kameramodell und Firmwareversion der Reolink hier mal posten?

                  Das würde helfen den Befehlssatz zu finden - Danke!

                  Herzliche Grüße

                  Equilora aka Harald

                  1 Reply Last reply Reply Quote 0
                  • G
                    grobi79 last edited by

                    Hallo Harald,

                    ich habe die ReoLink C1-Pro (Firmware v2.0.0.1288_18020705)

                    In folgenden Beitrag ist sehr schön beschrieben wie man die Kommandos herausfindet:

                    https://ipcamtalk.com/threads/control-r … api.16815/

                    (Beitrag von Lord Business)

                    Ich kann das nur nicht richtig umsetzen was da geschrieben steht.

                    Grüße

                    Andi

                    1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User last edited by

                      Servus Andi,

                      der Reolink Support was die API angeht ist wohl Fox Alpha (Für den Popo), mal sehen was ich morgen erreiche bei denen direkt.

                      Bis auf weiteres sollte der CURL Aufruf so aussehen…..

                      curl -d '[{"cmd":"Login","action":0,"param":{"User":{"userName":"admin","password":""}}},{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"ZoomInc","speed":32}}]' 101.101.187.102/api.cgi?cmd=Login

                      Anmerkung: Direkt auf der Command Line und natürlich die IP anpassen, sowie username und password

                      Bitte nicht ungeduldig werden, manche Hersteller brauchen etwas länger.

                      Herzliche Grüße

                      Equilora aka Harald

                      1 Reply Last reply Reply Quote 1
                      • G
                        grobi79 last edited by

                        Hallo Harald,

                        Super, vielen Dank!!

                        Das hat prima funktioniert, ich habe den Befehl noch ein wenig angepasst, jetzt kann ich die Presets ansteuern

                        curl -d '[{"cmd":"Login","action":0,"param":{"User":{"userName":"admin","password":""}}},{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"ToPos","speed":32,"id":1}}]' 192.168.0.21/api.cgi?cmd=Login&cmd=PtzCtrl&token=1640dd95bcac9f2
                        

                        Den Befehl führe ich zeitgesteuert per Blockly aus.

                        Ich bin mir nur unsicher wie lange der (generierte) Token gültig ist, werde ich sehen.

                        Super Support hier im Forum!!

                        Grüße

                        Andi

                        C 1 Reply Last reply Reply Quote 1
                        • ?
                          A Former User last edited by

                          Servus Andi,

                          gut das es funktioniert, dann bitte [gelöst] vor dem Threadtitel einfügen.

                          Herzliche Grüße

                          Harald aka Equilora

                          1 Reply Last reply Reply Quote 0
                          • ?
                            A Former User last edited by

                            Servus Andi,

                            Reolink hat noch nicht geantwortet, was ich auch sehen kann sind die eher sparsam mit den Infos zur CGI und PTZ Doku.

                            Betreffend dem Token, nach Angaben anderer Plattformhersteller kann da auch immer was aus Gross- Kleinbuchstaben samt Zahlensalat besteht reingeschrieben werden, das scheint auch zeitlich nicht begrenzt zu sein in der aktuellen Reolink Firmware.

                            Sollte sich bei kommenden Updates der Firmware was ändern gibt es 2 Möglichkeiten.

                            1. Du generierst Dosenfutter beim Scripstart mit einer Random Funktion und übergibst diese im Request mit (z.B einer Variablen), das ganze wird mittels Scheduler immer wieder neu aufgerufen, dabei entspricht das Zeitplanfenster der Lebenszeit eines Tokens.

                            2. Sollte der Hersteller auf einem auf dem Endgerät generiereten Token bestehen, kannst Du das mittels dem Parser Adapter und einer Regex vor Scriptstart erledigen.

                            Wir machen das hier mit unterschiedlichen Videosurvillance Plattformen, welche einen Zugriffs Token fordern.

                            Bis dahin viel Erfolg und ich melde mich sobald Reolink sich meldet bei uns.

                            Herzliche Grüße

                            Equilora aka Harald

                            1 Reply Last reply Reply Quote 0
                            • C
                              CameronVIE @grobi79 last edited by

                              @grobi79 Hallo Andi!
                              Ich weiss, dein Posting ist bereits sehr alt und ich hoffe, ich erreiche dich trotzdem irgendwie.
                              Ich möchte GENAU dasselbe wie du - meine Reolink RLC-423 Presets per CURL/HTTP anstossen.
                              Bräuchte das für HomeBridge um bei Bewegung in einer Zone die Cams dorthin auszurichten - ein TRACKING quasi.
                              Leider schaffe ich es nicht - ich erhalte nach dem curl-command immer einer "please login first"
                              Es würde mich freuen, wenn wir darüber kommunizieren könnten. Auch gerne per Email. mario@ottakring.com.
                              Viele Grüsse und Danke sehr, falls du dir dafür Zeit nehmen möchtest.
                              Mario

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                mandragora @CameronVIE last edited by

                                Hallo Leute,

                                Ich stehe aktuell gerade vor dem gleichen Problem allerdings mit meiner RLC-823A PTZ Kamera von Reolink.

                                Ich hab versucht den Curl Befehl in meinem Iobroker in der Console auszuführen aber leider funktioniert es nicht wie gewünscht und ich erhalte diese Fehlermeldungen:

                                Wenn ich diesen Befehl ausführe bekomm ich diese Meldung

                                curl -d '[{"cmd":"Login","action":0,"param":{"User":{"userName":"admin","Passwort!":""}}},{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"ToPos","speed":32,"id":1}}]' 10.0.0.117/cgi-bin/api.cgi?token=f9c58db3ee3b767

                                <HTML>
                                <HEAD><TITLE>404 Not Found</TITLE></HEAD>
                                <BODY BGCOLOR="#cc9999" TEXT="#000000" LINK="#2020ff" VLINK="#4040cc">
                                <H2>404 Not Found</H2>
                                The requested URL '/cgi-bin/api.cgi?token=f9c58db3ee3b767' was not found on this server.
                                <HR>
                                <ADDRESS><A HREF="http://www.acme.com/software/thttpd/">thttpd/2.25b 29dec2003</A></ADDRESS>
                                </BODY>
                                </HTML>
                                

                                Wenn ich diesen Befehl ausführe diese Meldung:

                                curl -d '[{"cmd":"Login","action":0,"param":{"User":{"userName":"admin","Passwort!":""}}},{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"ToPos","speed":32,"id":1}}]' 10.0.0.117/cgi-bin/api.cgi?cmd=PtzCtrl&token=f9c58db3ee3b767

                                <HTML>
                                <HEAD><TITLE>404 Not Found</TITLE></HEAD>
                                <BODY BGCOLOR="#cc9999" TEXT="#000000" LINK="#2020ff" VLINK="#4040cc">
                                <H2>404 Not Found</H2>
                                The requested URL '/cgi-bin/api.cgi?cmd=PtzCtrl' was not found on this server.
                                <HR>
                                <ADDRESS><A HREF="http://www.acme.com/software/thttpd/">thttpd/2.25b 29dec2003</A></ADDRESS>
                                </BODY>
                                </HTML>
                                

                                Kann mir eventuell jemand sagen warum das nicht funktioniert bzw. was ich hier falsch gemacht habe.
                                Token hab ich wie im Link oben beschrieben richtig ausgelesen.
                                Ist es bei meiner Kamera eventuell etwas anderes als bei der hier beschriebenen. ?

                                Danke schon mal für eure Tipps und Hinweise

                                LG
                                mandragora

                                black.falcon87 Diginix 2 Replies Last reply Reply Quote 0
                                • black.falcon87
                                  black.falcon87 @mandragora last edited by

                                  @mandragora
                                  Hallo mandragora. Bist du mit der reolink 823 weiter gekommen? Ich überlege mir ebenfalls diese zuzulegen finde aber noch keine Erklärung wie ich die PTZ Presets aus ioBroker ansteuern könnte 😞

                                  1 Reply Last reply Reply Quote 0
                                  • Diginix
                                    Diginix @mandragora last edited by

                                    @mandragora Probier doch mal als CGI Pfad nur "IP:PORT/api.cgi?cmd="

                                    Das komplette Kommando sieht für PTZ Pos 1 dann so aus:

                                    curl -d '[{"cmd":"Login","action":0,"param":{"User":{"userName":"admin","password":"PASS"}}},{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"ToPos","speed":32,"id":1}}]' IP:PORT/api.cgi?cmd=Login&cmd=PtzCtrl&token=1640dd95bcac9f2
                                    

                                    PASS, IP, PORT müssen angepasst werden

                                    PS: Bei meiner RLC 423 funktioniert es mit "IP:PORT/cgi-bin/api.cgi?cmd=" und "IP:PORT/api.cgi?cmd="

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    576
                                    Online

                                    31.8k
                                    Users

                                    80.1k
                                    Topics

                                    1.3m
                                    Posts

                                    7
                                    16
                                    7579
                                    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