Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Eine Empfehlung für mich ... IP Kamera?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Eine Empfehlung für mich ... IP Kamera?

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

      @bananajoe said in Eine Empfehlung für mich ... IP Kamera?:

      du lässt die Kameras direkt auf FTP ablegen?

      ja bei Bewegung wird es per FTP auf den Server abgelegt.

      hätte halt bei Anwesenheit gern abgeschaltet, sonst müllt die Kamera meine Bewegungen oder die der Frau oder Kinder den Server zu.

      DJMarc75 1 Reply Last reply Reply Quote 0
      • DJMarc75
        DJMarc75 @michl75 last edited by

        @michl75 sagte in Eine Empfehlung für mich ... IP Kamera?:

        bei Anwesenheit gern abgeschaltet

        Dann steuer das doch per Skript

        michl75 1 Reply Last reply Reply Quote 0
        • michl75
          michl75 @DJMarc75 last edited by michl75

          @djmarc75 said in Eine Empfehlung für mich ... IP Kamera?:

          Dann steuer das doch per Skript

          das habe ich bereits mit meinen anderen Kameras... ziob03.JPG

          Dachte halt, dass man sowas über den Adapter steuern kann... wenn es schon so einen Adapter dafür gibt. Also ... nur so als Gedankengang....

          michl75 1 Reply Last reply Reply Quote 0
          • michl75
            michl75 @michl75 last edited by

            Habe nun das hier gefunden:

            Link

            soweit verständlich, aber vielleicht könnte mir einer das mit dem tokten erklären?

            Vg M

            BananaJoe 1 Reply Last reply Reply Quote 0
            • BananaJoe
              BananaJoe Most Active @michl75 last edited by BananaJoe

              @michl75 Öhm, ich kann zwar nicht erkennen was für ein Hersteller das ist, aber aus Erfahrung mit anderen API Abfragen:

              Du musst dich zunächst mit Benutzernamen und Passwort an der API Anmelden.
              Also Antwort erhältst du ein Token das du dann für alle anderen Abfragen nutzt.

              Statt jedes mal Benutzername und Passwort zu übertragen. Das Token steht dann auf der anderen Seite für eine Zeit X auf der Liste und erhält die Daten ohne extra Prüfung.

              Sauber wäre sich dann am Ende auch wieder abzumelden damit da nicht duzende von Tokens in der Liste unnötig stehen (Dur wirst jedes mal ein anderes bekommen, auch wenn du vorher schon eines hattest)

              Wenn es nur ein Bild sein soll steht da unter 2.8 was von Short Connection wo man eben dieses direkt erhält.

              michl75 1 Reply Last reply Reply Quote 0
              • michl75
                michl75 @BananaJoe last edited by

                @bananajoe

                ah ok... jetzt kann ich das etwas nachvollziehen.
                Bisher dachte ich das token ist eine decodierung von verschiedenen informationen.

                hm... da des nun doch anders ist als gedacht muss ich mich wohl geschlagen gehen 🙂 da ich gleich null ideen habe wie ich sowas dann als script /Blockly machen kann.

                ich hatte gehofft, dass bei der Reolink auch per (so ähnlichen vom -Befehl- her) ```
                wget -q -O - 'http://192.168.xxx.xxx/api.cgi?cmd=Login&SetFtp&enablae=&user=admin&password=xxxx'

                BananaJoe 1 Reply Last reply Reply Quote 0
                • BananaJoe
                  BananaJoe Most Active @michl75 last edited by

                  @michl75 dein PDF ist von 2016 ...

                  michl75 1 Reply Last reply Reply Quote 0
                  • michl75
                    michl75 @BananaJoe last edited by

                    @bananajoe said in Eine Empfehlung für mich ... IP Kamera?:

                    dein PDF ist von 2016 ...

                    sorry hab auch eines von 2022. hab den falschen link erwischt.
                    Reolink Kamera API 2022.pdf

                    BananaJoe 1 Reply Last reply Reply Quote 0
                    • BananaJoe
                      BananaJoe Most Active @michl75 last edited by BananaJoe

                      @michl75 3.6.2 SetRec lässt einen die Aufnameparameter manipulieren
                      eff2a7c4-61e1-4418-b5af-98ea84083e06-image.png
                      könnte der Punkt für das ein/ausschalten sein.

                      Also erst mit GetRec auslesen und mit "enable":0, zurück schreiben sollte aus sein

                      Nachtrag: Ok, das ist für zeitgesteuerte Aufnahmen, bestimmt gibt es auch etwas für Bewegungsgesteuerte. Bzw. vielleicht stimmt es doch weil so der erlaubte Aufnamezeitraum definiert wird.
                      Eventuell kann man das über SetAiCfg ausschalten indem man nichts erkennen lässt

                      michl75 1 Reply Last reply Reply Quote 0
                      • michl75
                        michl75 @BananaJoe last edited by michl75

                        @bananajoe Guten Morgen, ich werde es mir heute Nachmittag oder morgen anschauen, hab heute eine Veranstaltung bis spät Nachmittag, dann erst mal nach hause...

                        Leider hat das länger gedauert als gedacht heute...

                        Hatte heute mal über Handy bisschen geschaut als weniger los war, was man über dieses Thema so findet ... und das gefunden:

                        die Seite dazu

                        Hier mit virtuellem Ausgang
                        
                        Adresse: http://192.168.1.xx (Deine Kamera-IP)
                        
                        ab jetzt Virtuelle Ausgänge Befehl
                        
                        
                        Befehl bei EIN:
                        /api.cgi?cmd=Login
                        HTTP-Post-Befehl:
                        [\r\n {\r\n "cmd": "Login",\r\n "action": 0,\r\n "param": {\r\n "User": {\r\n "userName": "admin",\r\n "password": "DEINPW"\r\n }\r\n }\r\n }\r\n]
                        
                        Rückmeldung:
                        
                        "Token" : { "leaseTime" : 3600, "name" : "031465962723" }
                        Das hinter "name" ist der token.
                        
                        ---
                        
                        
                        Recording:
                        Virtuelle Ausgänge
                        Befehl bei EIN:
                        /api.cgi?cmd=SetRec&token=<v> (<v> ist der token)
                        
                        Recording einschalten:
                        HTTP-Post-Befehl:
                        [{"cmd":"SetRec","action":0,"param":{"Rec":{"sch edu le":{"enable":1,"table":"11111111111111111111111 11 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111"}}}}]
                        
                        Recording ausschalten:
                        HTTP-Post-Befehl:
                        [{"cmd":"SetRec","action":0,"param":{"Rec":{"sch edu le":{"enable":0,"table":"11111111111111111111111 11 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111"}}}}]
                        
                        
                        
                        FTP:
                        Virtuelle Ausgänge
                        Befehl bei EIN:
                        /cgi-bin/api.cgi?cmd=SetFtp&token=<v>
                        
                        FTP einschalten:
                        HTTP-Post-Befehl:
                        [{"cmd":"SetFtp","action":0,"param":{"Ftp":{"sch edu le":{"enable":1,"table":"11111111111111111111111 11 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111"}}}}]
                        
                        FTP ausschalten:
                        HTTP-Post-Befehl:
                        [{"cmd":"SetFtp","action":0,"param":{"Ftp":{"sch edu le":{"enable":0,"table":"11111111111111111111111 11 11111111111111111111111111111111111111111111111111 11111111111111111111111111111111111111111111111111 1111111111111111111111111111111111111111111"}}}}]
                        

                        jetzt muss ich nur noch rausfinden wie ich das in blockly / script zusammenbastelt 🙂

                        EDIT:

                        So habe ich nun mal angesetzt...

                        on({id: "0_userdata.0.Sicherheit-Kameras.Teich-1-Switch"/*Teich-1-Switch*/, change: "ne"}, async function (obj) {
                          let value = obj.state.val;
                          let oldValue = obj.oldState.val;
                          if ((obj.state ? obj.state.val : "") == true) {
                            // einschalten
                            var request = require('request'),
                                userName = "admin",
                                password = "passwort",
                                url = 'http://192.168.xxx.xxx/api.cgi?cmd=Login',
                                auth = "Basic " + new Buffer(userName + ":" + password).toString();
                            
                            request({
                                    url : url,
                                    headers : {'Authorization' : auth}
                                },
                                function (error, response, body) {
                                        console.log('error: ' + error);
                                        console.log('response: ' + JSON.stringify(response));
                                        console.log('body: ' + body);
                                }
                            );
                        
                          } else {
                            // ausschalten
                          }
                        });
                        

                        immerhin schon mal eine Rückmeldung:

                        09:26:36.354	info	javascript.0 (656) script.js.Sicherheit_Haus.Kamera-Reolink-Schalten: body: [ { "cmd" : "Login", "code" : 1, "error" : { "detail" : "login failed", "rspCode" : -7 } } ]
                        

                        werde dann Nachmittag weiter probieren...

                        michl75 1 Reply Last reply Reply Quote 0
                        • michl75
                          michl75 @michl75 last edited by

                          Hallo 🙂

                          ich muss doch nochmal euch um Hilfe bitten.

                          Habe nun versucht über ein bash-script Linux das mal hinzubekommen, da ich hier iwo in einem Beitrag gelesen habe, so kanns einfacher gehen.
                          Aber erst mal für den Test denke ich ok.

                          Problem ist, ich bekomme es nicht gebacken mit den Parametern. Ich verstehe hier einfach nicht, was daran falsch sein (soll) kann...

                          Könntet Ihr mir da helfen?

                          curl -X POST -H "Content-Type:application/json" -d "[{\"cmd\":\"SetFtpV20\",\"schedule\":{\"enable\":0}}]" "http://192.168.xxx.xxx/cgi-bin/api.cgi?user=admin&password=geheim"
                          

                          Fehlermeldung:

                          userxxx@IOB04:~$ sh test.sh
                          [
                             {
                                "cmd" : "SetFtpV20",
                                "code" : 1,
                                "error" : {
                                   "detail" : "param error",
                                   "rspCode" : -4
                                }
                             }
                          ]
                          

                          Vielleicht hat einer von euch eine Idee? 🙂

                          Vielen Dank vorab, Gruß M

                          michl75 1 Reply Last reply Reply Quote 0
                          • michl75
                            michl75 @michl75 last edited by michl75

                            Habe es endlich hinbekommen:

                            ziob04.JPG

                            Ftp ausschalten:

                            curl -s POST "http://192.168.xxx.xxx/cgi-bin/api.cgi?user=admin&password=xxxxxx" -d '[{"cmd":"SetFtpV20","param":{"Ftp":{"enable":0}}}]'
                            

                            Ftp einschalten:

                            curl -s POST "http://192.168.xxx.xxx/cgi-bin/api.cgi?user=admin&password=xxxxxx" -d '[{"cmd":"SetFtpV20","param":{"Ftp":{"enable":1}}}]'
                            
                            1 Reply Last reply Reply Quote 3
                            • C
                              cuci last edited by

                              Ich habe dasselbe mit Verwendung des Tokens in nodered realisiert. Falls jemand Interesse hat hier ein Export des Flows:

                              Screenshot 2023-09-17 132737.png

                              [{"id":"fb1a288cc293da53","type":"tab","label":"Turn on-off camera","disabled":false,"info":"","env":[]},{"id":"0e3e31965e6ad374","type":"http request","z":"fb1a288cc293da53","name":"","method":"POST","ret":"obj","paytoqs":"ignore","url":"https://192.168.xxx.xxx/api.cgi?cmd=Login","tls":"602f4de630dce848","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":410,"y":220,"wires":[["89c6b097ff08b99f","a617e58931d42052"]]},{"id":"26f9053d8b0c9107","type":"change","z":"fb1a288cc293da53","name":"Setze username und password","rules":[{"t":"set","p":"payload","pt":"msg","to":"[{\"cmd\":\"Login\",\"param\":{\"User\":{\"Version\":\"0\",\"userName\":\"admin\",\"password\":\"xxxxxx\"}}}]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":470,"y":140,"wires":[["0e3e31965e6ad374","e39f51e6d98fd406"]]},{"id":"89c6b097ff08b99f","type":"debug","z":"fb1a288cc293da53","name":"debug 22","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":900,"y":220,"wires":[]},{"id":"91418610952dc53e","type":"inject","z":"fb1a288cc293da53","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"2","topic":"","payload":"","payloadType":"date","x":180,"y":140,"wires":[["26f9053d8b0c9107"]]},{"id":"e39f51e6d98fd406","type":"debug","z":"fb1a288cc293da53","name":"debug 23","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":900,"y":140,"wires":[]},{"id":"cae7f2ad99648a54","type":"comment","z":"fb1a288cc293da53","name":"Anmeldung","info":"","x":150,"y":80,"wires":[]},{"id":"a617e58931d42052","type":"switch","z":"fb1a288cc293da53","name":"prüfen ob token angekommen","property":"payload.0.value.Token.name","propertyType":"msg","rules":[{"t":"nnull"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":450,"y":320,"wires":[["1da7db9e8b60b072","b3c40aeb809060dc"],[]]},{"id":"3d7f5a2e28d74a4c","type":"http request","z":"fb1a288cc293da53","name":"","method":"POST","ret":"obj","paytoqs":"ignore","url":"","tls":"602f4de630dce848","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":1070,"y":420,"wires":[["752e357d7e2d4f94"]]},{"id":"752e357d7e2d4f94","type":"debug","z":"fb1a288cc293da53","name":"debug 24","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1340,"y":420,"wires":[]},{"id":"1da7db9e8b60b072","type":"debug","z":"fb1a288cc293da53","name":"debug 25","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":860,"y":320,"wires":[]},{"id":"b3c40aeb809060dc","type":"change","z":"fb1a288cc293da53","name":"Baue URL","rules":[{"t":"set","p":"url","pt":"msg","to":"https://192.168.xxx.xxx/api.cgi?cmd=SetFtpV20&token=logintoken","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":250,"y":420,"wires":[["219840d6c9438bb0"]]},{"id":"219840d6c9438bb0","type":"change","z":"fb1a288cc293da53","name":"füge Token hinzu","rules":[{"t":"change","p":"url","pt":"msg","from":"logintoken","fromt":"str","to":"payload.0.value.Token.name","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":420,"wires":[["7c0ee20f47187d33"]]},{"id":"7c0ee20f47187d33","type":"change","z":"fb1a288cc293da53","name":"Setze JSON payload","rules":[{"t":"set","p":"payload","pt":"msg","to":"[{\"cmd\":\"SetFtpV20\",\"param\":{\"Ftp\":{\"enable\":1}}}]","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":420,"wires":[["3d7f5a2e28d74a4c"]]},{"id":"602f4de630dce848","type":"tls-config","name":"I don't care","cert":"","key":"","ca":"","certname":"","keyname":"","caname":"","servername":"","verifyservercert":false,"alpnprotocol":""}]
                              
                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              563
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              11
                              49
                              2826
                              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