Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Blink Camera System

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Blink Camera System

    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      FredPlus @Pischleuder last edited by FredPlus

      @Pischleuder

      Danke für Deine Antwort. Aber leider bekomme ich das so nicht zum Laufen. Ich muss erst einmal die ersten drei Befehle so abändern:

      PASSWD=$(curl -H "Host: prod.immedia-semi.com" -H "Content-Type: application/json" --data-binary '{ "password" : "MeinPasswort", "client_specifier" : "iPhone 9.2 | 2.2 | 222", "email" : "MeineEmail" }' --compressed https://rest.prde.immedia-semi.com/login | jq -r '.authtoken.authtoken')
      
      curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed  https://rest-e001.immedia-semi.com/api/v3/accounts/ACCOUNTID/homescreen
      
      curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --data-binary --compressed  https://rest-e001.immedia-semi.com/network/NETWORKID/camera/CAMERAID/thumbnail
      
      IMAGE=$(curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed  https://rest-e001.immedia-semi.com/api/v3/accounts/ACCOUNTID/homescreen | cut -c806-900)
      

      Wenn dann der letzte Befehl ausgeführt wird, habe ich später eine Bild.jpg Datei mit folgenden Inhalt:

      ## IMAGE Herunterladen
      curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest-e001.immedia-semi.com/$IMAGE.jpg > /home/scripts/Bild.jpg
      
      <h1>Not Found</h1>
      

      Also kann er doch irgendwie die URL nicht finden, von der er das Bild runterladen möchte?

      Ich habe eben mal dieses Script auf Win 10 probiert:

      https://github.com/nayrk/Blink/blob/master/BlinkVideoDownloader.ps1

      Damit hat er mir das Bild runtergeladen. Sollte also möglich sein. Leider verstehe ich davon zu wenig.

      Edit:

      Also mit diesem Aufruf bekomme ich mein Bild geladen:

      curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest-e001.immedia-semi.com/media/e001/account/ACCOUNTID/network/NETWORKID/camera/CAMERAID/thumbnail/fw_7.87__cyUMM8D5_2020_02_09__13_11PM.jpg > /home/scripts/Bild.jpg
      

      Wie mache ich denn das jetzt mit der wechselnden Bezeichnung des Bildes? Hat hier jemand eine Idee?

      Grüße

      -Alex- 0 1 Reply Last reply Reply Quote 0
      • -Alex- 0
        -Alex- 0 @FredPlus last edited by

        @FredPlus
        Du könntest Dir vorher eine Liste ausgeben und daraus das passende Bild / Video wählen

        curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: authtoken from login" --compressed 
        https://rest.prod.immedia-semi.com/api/v2/videos/unwatched
        
        P 1 Reply Last reply Reply Quote 0
        • P
          Pischleuder @-Alex- 0 last edited by

          was gibt denn dieser Befehl aus ?

          curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed  https://rest-e001.immedia-semi.com/api/v3/accounts/ACCOUNTID/homescreen
          

          Hier sollte der Pfad und Dateiname ja sichtbar werden.

          -Alex- 0 1 Reply Last reply Reply Quote 0
          • -Alex- 0
            -Alex- 0 @Pischleuder last edited by

            @Pischleuder
            bekommst folgendes zurück:

            {"account":{"notifications":1},"network":{"name":"Mein Zuhause","
            wifi_strength":5,"status":"ok","armed":false,"notifications":1,"warning":0,"enable_temp_alerts":true,"error_msg":""},"devices":[{"device_type":"camera","device_id":123456,
            "type":"xt2","updated_at":"2020-02-08T23:28:47+00:00","
            name":"Kamera1","thumbnail":"/media/e001/account/123454/network/123456/camera/225662/thumbnail/fw_7.87___aI0J9mD_2020_02_08__17_08PM","active":"disarmed","notifications":1,"warning":0,
            "error_msg":"","status":"done","enabled":true,
            "armed":false,"errors":0,"wifi_strength":5,"lfr_strength":5,"temp":68,"battery":3,"battery_state":"ok","usage_rate":false},{"device_type":"sync_module","device_id":xxxxxxx,"updated_at":"2020-02-09T00:03:00+00:00","notifications":0,"warning":0,"error_msg":"","status":"online","errors":0,"last_hb":"2020-02-09T16:20:23+00:00"}]}
            
            P 1 Reply Last reply Reply Quote 0
            • P
              Pischleuder @-Alex- 0 last edited by

              @Alex-0 ok - jetzt müsst Ihr lediglich hier anpassen:

              cut -c806-900
              

              Ein wenig damit spielen, bis nur der gesamte String angezeigt wird:

              /media/e001/account/123454/network/123456/camera/225662/thumbnail/fw_7.87___aI0J9mD_2020_02_08__17_08PM
              
              F 1 Reply Last reply Reply Quote 0
              • F
                FredPlus @Pischleuder last edited by FredPlus

                @Pischleuder

                Das funktioniert leider so nicht, da sich bei jedem neuen Schnappschuss die Bezeichnungslänge ändert. Somit liegt man immer wieder daneben.

                Edit:

                Der Adapter liest doch den genauen Pfad des Scnappschusses aus. Könnte man das nicht irgendwie dazu nutzen?

                1 Reply Last reply Reply Quote 0
                • P
                  Pischleuder last edited by

                  Das geht bestimmt - aber meine Kenntnisse übersteigt das 🙂

                  Man kann den String auch mit awk auslesen, aber das muss ich mir in Ruhe anschauen.

                  F 1 Reply Last reply Reply Quote 0
                  • F
                    FredPlus @Pischleuder last edited by

                    @Pischleuder

                    Ich versuche mal noch das eine oder andere. Danke für die Hilfe👍

                    Grüße

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      FredPlus @FredPlus last edited by

                      Ich habe das ganze jetzt so gelöst:

                      #!/bin/bash
                      
                      PASSWD=$(curl -H "Host: prod.immedia-semi.com" -H "Content-Type: application/json" --data-binary '{ "password" : "MEINPASSWORT", "client_specifier" : "iPhone 9.2 | 2.2 | 222", "email" : "MEINEEMAIL" }' --compressed https://rest.prde.immedia-semi.com/login | jq -r '.authtoken.authtoken')
                      
                      ##THUMBNAILURL Ermittlung
                      THUMBNAILSTRING=$(curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed  https://rest-e001.immedia-semi.com/homescreen | cut -c370-435) 
                      THUMBNAILPART=$(echo $THUMBNAILSTRING  | sed -e 's#^.*/##')
                      THUMBNAILURL=$(echo $THUMBNAILPART | sed -e 's/".*//')
                      
                      ##THUMBNAIL Download
                      curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest-e001.immedia-semi.com/media/e001/account/ACCOUNTID/network/NETWORKID/camera/CAMERAID/thumbnail/$THUMBNAILURL.jpg > /home/bilder/Bild.jpg
                      

                      Jetzt baue ich mir erst einmal eine Klingelbenachrichtigung😁

                      Danke für den Denkanstoß.

                      Grüße

                      L 1 Reply Last reply Reply Quote 0
                      • S
                        schlacks last edited by

                        Hallo zusammen,
                        nochmal eben eine kurze Frage.
                        Ist es aktuell schon irgendwie möglich, wenn eine Blink Kamera durch eine Bewegung aktiviert wird, ein Thumbnail oder Stream in VIS darzustellen?

                        Danke und Gruß
                        Torsten

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          moses123 @schlacks last edited by

                          Hallo,

                          man könnte den Ping Adapter nehmen. Wenn eine Kamera vom Blink- System durch Bewegung aktiviert wird, dann meldet sich diese ganz normal im WLAN mit eigener IP- Adresse an.
                          Diese kann mit dem Ping- Adapter überwacht werden und das kann als Ausgangspunkt verwendet werden.

                          Habe ich bei mir so gemacht, dass tagsüber eine Ansage auf dem Echo kommt, wenn jemand zur Eingangstür geht... Bevor das Video auf dem Handy ankommt.

                          Gruß,
                          Moses123

                          1 Reply Last reply Reply Quote 0
                          • L
                            Lutz74 @FredPlus last edited by

                            @FredPlus

                            Ich bin da nicht so gut drin.... kannst du das Script mal so schreiben das markiert ist was ich für mich ändern müsste so das es auch bei mir funktioniert?

                            F 1 Reply Last reply Reply Quote 0
                            • F
                              FredPlus @Lutz74 last edited by

                              @Lutz74

                              Erstelle mal eine test.sh Datei mit folgendem Inhalt:

                              #!/bin/bash
                              
                              PASSWD=$(curl -H "Host: prod.immedia-semi.com" -H "Content-Type: application/json" --data-binary '{ "password" : "MEINPASSWORT", "client_specifier" : "iPhone 9.2 | 2.2 | 222", "email" : "MEINEEMAIL" }' --compressed https://rest.prde.immedia-semi.com/login | jq -r '.authtoken.authtoken')
                              
                               curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed  https://rest-e001.immedia-semi.com/homescreen > test.txt
                              

                              Diese test.sh muss noch ausführbar (755) sein. Sobald Du die ausführst wird jetzt der komplette Inhalt des Homescreens gespeichert. Nun guckst Du mit einem Editor welche Zeilen von wo nach wo ausgecuttet werden muss. Bei mir: cut -c370-435. Wobei ich ein bisschen mehr rechts und links ausschneide und mit sed wieder entferne, da sich mit jedem neuen Schnappschuss die Länge des Strings ändert. Hoffe ich konnte es einigermaßen erklären.

                              1 Reply Last reply Reply Quote 0
                              • S
                                schlacks last edited by

                                @FredPlus Kannst du, oder irgend ein anderer mir sagen, in welchem Verzeichnis sich die mp4 Videos befinden?
                                https://rest-e001.immedia-semi.com/???

                                Hiermit:

                                curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: authtoken from login" --compressed https://rest.prod.immedia-semi.com/events/network/network__id

                                zeigt er mir keine URL, obwohl er eigentlich welche zeigen müsste.

                                Request Get events for a given network (sync module) -- Need network ID from home
                                
                                curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: authtoken from login" --compressed https://rest.prod.immedia-semi.com/events/network/*network__id*
                                
                                Response A json list of evets incluing URL's. Replace the "mp4" with "jpg" extension to get the thumbnail of each clip
                                
                                F 1 Reply Last reply Reply Quote 0
                                • F
                                  FredPlus @schlacks last edited by FredPlus

                                  @schlacks

                                  Mit diesem Befehl bekommst Du eine Auflistung:

                                  curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest-e001.immedia-semi.com/api/v1/accounts/ACCOUNTID/media/changed?since=2019-04-19T23:11:20+0000&page=
                                  
                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    FredPlus @FredPlus last edited by FredPlus

                                    Die .mp4 dann mit diesem Befehl downloaden:

                                    curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest-e001.immedia-semi.com/api/v2/accounts/ACCOUNTID/media/clip/(entsprechende purge_id).mp4 >/home/iobroker/test.mp4
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      schlacks last edited by

                                      @FredPlus sehr geil, vielen Dank!

                                      1 Reply Last reply Reply Quote 0
                                      • O
                                        oFbEQnpoLKKl6mbY5e13 last edited by

                                        Ich habe mehrere Sync-Module. Wie kann ich eine weitere Instanz konfigurieren, die ein anderes Sync-Modul anspricht?

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          Pischleuder last edited by Pischleuder

                                          Moin Zusammen,

                                          ich denke diese Script-Verwendung ist auf Dauer etwas anstrengend und unübersichtlich.

                                          Hier: Wie lese ich die Werte aus wird gerade versucht diverse Dinge über javascript auszulesen.
                                          Der Grundstock funktioniert bei mir in der Form, dass die resultierenden Daten des von mir beschriebenen "curl-scriptes" alle in einen json string geschrieben werden. Und das unabhängig von der Länge, so dass ihr keine Probleme mehr hättet und keine Versuche mit cut stattfinden müssen, die richtigen Werte zu erhalten.

                                          Ich bin nun leider kein java Experte, versuche aber mein bestes.

                                          Wer das schon einmal versuchen will gibt auf der console ein:

                                          npm install node-blink-security
                                          

                                          Danach geht ihr in die Einstellung des javascript adapters von iobroker und fügt unter "zusätzliche npm Module" das Wort blink ein, anschließend speichern und schließen.

                                          Nun unter scripte ein neues javascript script erstellen und folgenden Inhalt einfügen:

                                          const Blink = require('node-blink-security');
                                          var name = 'Blink-Abfrage';
                                          var forceCreation = true;
                                          
                                          var blink = new Blink('EURE-EMAIL', 'EUER-PASSWORT');
                                          
                                          blink.setupSystem()
                                            .then(() => {
                                              blink.setArmed(false)
                                               .then(() => {
                                                  // see the object dump for details
                                                  console.log(blink);
                                                });
                                          
                                            }, (error) => {
                                              console.log(error);
                                            });
                                          

                                          Damit wird zum einen die Kamera auf disarmed geschaltet und ihr erhaltet eine JSON Tabelle im Protokollfenster.
                                          Das ist nichts neues und wird auch hier node-blink-security beschrieben. Es geht jetzt darum, die json Tabelle zu analysieren und entsprechende Datenpunkte in iobroker dafür anzulegen.

                                          So long, gesund bleiben !

                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            arnebanane last edited by

                                            hallo, ich habe heute nacht eine mail von blink bekommen, dass der Script-Login mit dem 11. Mai unterbunden wird und ich mich mit IFTTT oder einem authorisierten 3rd-Party-Anbieter beschäftigen soll... Dann wird es wohl alles bald erstmal nicht mehr gehen.

                                            Z W 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            737
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            blink xt camera
                                            63
                                            406
                                            91736
                                            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