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.
    • BananaJoe
      BananaJoe Most Active @michl75 last edited by

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

      Auch den Adapter für IoB muss ich erst noch "verstehen"...

      Kommt darauf an wofür du den dann brauchst bzw. was du machen willst.

      Das Kamerabild hole ich mir per URL in die View, das auch nur bei Bedarf und refreshe dann alle 2 bis 3 Sekunden.
      Um zu sehen wer da vor der Tür steht reicht das.

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

        @bananajoe

        So heute greife ich das Thema Kamera nochmal auf. Vielleicht hast du die Muse mir zu helfen 🙂

        Die Kameras sind alle installiert, eingerichtet und zeichnen auch auf und wird auf FTP abgelegt, wenn sich was bewegt....

        Jetzt möchte ich aber nur dann tatsächlich aufzeichnen/bewegung erkennen, wenn ich nicht zuhause bin.

        Ich habe nun seit gestern versucht über den Adapter und auch direkt über http://192..... usw. versucht aus und wieder einzuschalten.
        Leider nicht gelungen.

        Hätte gehofft, dass ich das über den Adapter via false/true einfach schalen kann.

        Nun die Frage, bin ich zu doof (wahrscheinlich) oder gibts die Funktion nicht?

        Vg M

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

          @michl75 du lässt die Kameras direkt auf FTP ablegen?

          Man müsste mal in die Anleitung schauen ob man das auch per URL Ein- und Ausschalten kann.
          ich meine das es über Zeitpläne läuft, keine Ahnung ob das auch mit einem Schalter geht.
          Ich zeichne 24x7 bei Bewegung auf.
          Ich schaue mir das sowieso nicht an - nur wenn es einen Grund dafür gibt (wo genau hat der Paketbote das Paket versteckt?)

          Ich nutze ja auch noch eine "video surveillance software" die könnte das (sogar per Alexa-Skill auf zuruf)

          1 Reply Last reply Reply Quote 0
          • 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

                                    784
                                    Online

                                    31.7k
                                    Users

                                    79.7k
                                    Topics

                                    1.3m
                                    Posts

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