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.
    • ?
      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

                            933
                            Online

                            31.9k
                            Users

                            80.1k
                            Topics

                            1.3m
                            Posts

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