NEWS

Blink Camera System


  • Starter

    Danke nochmal. Wenn ich das System über IFTTT und iobroker scharf schalten kann und umgekehrt und die Life360 App weglassen kann, bin ich schon mal zufrieden 👍



  • Moin!

    Hier findest Du eine inoffizielle Beschreibung der Blink API:
    https://github.com/MattTW/BlinkMonitorProtocol

    Hab's aber selbst nicht getestet.


  • Starter

    @escuco

    Danke! Mal sehn was ich damit anfangen kann.



  • Da heute die neue Version raus gekommen ist und für mich recht attraktiv klingen, wäre ich auch an einer Lösung im iobroker sehr interessiert. Wenn ich eine Lösung habt, postet mal bitte hier. Dank!



  • Für Fhem gibt es ein Modul. Irgendwie ist es also wohl möglich.


  • Starter

    Moin,

    EDIT: das unten stehende funktioniert seit Mai 2020 nicht mehr.
    Weiter geht es hier: https://forum.iobroker.net/post/431057

    ich habe für mich nun anhand des MonitorProtocol von github folgende Lösung gefunden, die für Euch auch funktionieren sollte:

    1.) Der "authtoken" ändert sich bei jedem Zugriff über curl erneut
    2.) die "networkid" bleibt immer gleich

    Um beides herauszufinden loggt ihr euch auf die Konsole ein und gebt ein:

    curl -H "Host: prod.immedia-semi.com" -H "Content-Type: application/json" --data-binary '{ "password" : "EuerPasswort aus der blink App", "client_specifier" : "Blink", "email" : "eure-Email Adresse" }' --compressed https://rest.prde.immedia-semi.com/login
    

    Es sollte so etwas erscheinen wie (ohne Select all):

    {"authtoken":{"authtoken":"0mwQzPdkPL6HXy1UXrYqIQ","message":"auth"},"networks":{"162443":{"name":"ZuHause","onboarded":true}},"region":{"prde":"Europe"}}
    

    Hier interessieren uns diese beiden Strings:
    0mwQzPdkPL6HXy1UXrYqIQ und 162443

    Der erste ist der sich ständig ändernde Authorisierungsstring, der zweite die Netzwerk-ID.
    Um den Authorisierungsstring abzufangen habe ich alles in eine batch Datei geschrieben:

    #!/bin/bash
    
    PASSWD=$(curl -H "Host: prod.immedia-semi.com" -H "Content-Type: application/json" --data-binary '{ "password" : "EUER_BLINK_PASSW", "client_specifier" : "JV", "email" : "EURE_EMAIL" }' --compressed https://rest.prde.immedia-semi.com/login | cut -c28-49)
    
    curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --data-binary --compressed https://rest.prde.immedia-semi.com/network/EURE_NETZWERK_ID/disarm
    

    Die Datei lautet in meinem Fall blink-off.sh für unscharf schalten und wenn ihr am Ende der Datei das disarm gegen arm tauscht, dann in eine neue Datei mit blink-on.sh speichern.

    Beide Dateien in /opt/iobroker speichern. Nun könnt ihr von der Konsole bereits die Kamera scharf / unscharf schalten.

    Derzeit setze ich das noch zusätzlich in ein Skript von iobroker um.

    3.) Installiert den blink-adapter

    Weiteres folgt....

    Gruß
    Pischleuder



  • Hey Pischleuder, vielen Dank. Das ist ja super. Ich warte noch ob, man sie günstiger über Blackfriday bekommt und dann würde ich das gerne mal testen. 🙂

    LG Smarti2015


  • Starter

    Über ifft überprüfe ich, ob jemand anwesend ist oder nicht. Daraus ergibt sich dieses blockly-Script, was sicher zu optimieren ist.

    blockly.jpg

    Weiterhin erfolgen durch weitere scripte, ob die Uhrzeit nach 23.00 Uhr ist und vor 07.00 Uhr - dann wird trotz Anwesenheit die Kamera scharf gestellt. Die Diebe kommen ja ggf. auch in der Nacht 🙂 Ab 06.00 Uhr soll sie wieder unscharf gehen.
    blockly.jpg



  • Hi Pischleuder, auch von meiner Seite vielen Dank !!! Ich habe das Skript so installiert, wir von Dir vorgegeben und es funktioniert super. Sag gerne Bescheid, wenn ich den Adapter testen soll.

    Ich habe insgesamt 4 Kameras und zwei Sync Module. Ich habe mit Deinem Curl Befehl zwei Network Strings bekommen und damit dann je zwei Skripte erstellt. Ich hatte zunächst Probleme mit dem "Curl" Aufruf ...... curl -H "Host: prod.immedia-semi.com" ..... konnte nicht aufgelöst werden mit curl -H "Host: rest.prod.immedia-semi.com"... funktioniert ist. Das Skript läuft allerdings durch.

    Noch eine kleiner Bemerkung - unter Linux muss man natürlich noch den Benutzer/Gruppe setzen und die Datei ausführbar (chmod) machen.

    VG,
    Newbie



  • Hallo Pischleuder, danke für den Adapter, habs eben mal einrichtet und funzt alles soweit 👍
    Besteht die Möglichkeit auch den Live RTSP Stream zu extrahieren wie es das FHEM Modul macht zur Übergabe an VIS bzw. Motioneye -> VIS?

    FHEM Modul: https://github.com/viegener/Telegram-fhem/blob/master/Blink/48_BlinkCamera.pm#L884

    Sollte direkt zum richtigen Abschnitt ($cmd eq "liveview") springen sofern kein Update war, ein paar Zeilen weiter unten wird dann die URL zusammengesetzt:
    $hash->{HU_DO_PARAMS}->{url} = $hash->{URL}."/network/".$net."/camera/".$par1."/liveview";

    Die Netzwerke usw. parsed dein Adapter ja schon, dann sollte das wohl auch irgendwie gehen oder? Würde mich freuen 🙂


  • Starter

    Moin,

    das ist der Ehre zu viel - es ist nicht mein Adapter. Habe lediglich ein bischen "herumgescripted".

    Ich schau mir das mal an und lasse von mir hören....



  • @Pischleuder ups, trotzdem danke, sonst hätte ich den Adapter nicht (so schnell) gefunden 😄
    Ich hab schon versucht per putty einfach mal die ID's bzw. Netzwerke der Kameras in die genannte URL-Template einzufügen um an die RTSP-Url zu kommen aber gescheitert... hab noch nicht viel Ahnung von JS und benutze ioBroker erst ein paar Tage 😉


  • Starter

    @Pischleuder
    Hi und vielen Dank für die investierte Zeit 🙂
    Ich verfolge diesen Post schon länger und wollte mich eigentlich schon um die Weihnachtszeit erkundigen ob es schon was neues dazu gibt.
    Gestern Abend hab ich dann durch Zufall wieder rein geschaut und gesehen das du einen Adapter gebastelt hast 😉 Leider lässt sich dieser Adapter nicht installieren.

    Wenn man auf GitHub nachschaut dann bekommt man die Info das keine Packages gefunden werden.

    96da3e49-b395-443c-a118-8b2c0762792f-image.png

    Liebe Grüße,
    Thomas



  • @zoid1988 das Paket finde ich gar nicht im npm.
    @Pischleuder hat ja bash scripts gebastelt die das gleiche machen, die kann man einfach über blockly ausführen lassen.

    Ich habe aber noch https://www.npmjs.com/package/node-blink-security gefunden, was eigentlich auch funktionieren sollte (noch nicht probiert) und anscheinend leider auch ohne Live-Stream.


  • Starter

    @Zandrial
    Hab gerade versucht das mit den Scripts umzusetzen.
    Wenn ich die erste Abfrage mache bekomme ich den Token und die Network ID. Wenn ich dann allerdings die Scripte teste bekomm ich folgende Antwort retour:

    {"message":"Unauthorized Access","code":101}
    

    Wenn ich die erste Abfrage starte sieht meine Antwort auch irgendwie anders aus:

    {"account":{"id":1234},"client":{"id":123456},"authtoken":{"authtoken":"TOKEN_ID","message":"auth"},"networks":{"1234":{"name":"Zuhause","onboarded":true}},"region":{"e001":"Europe"}}
    


  • @zoid1988 hast du das Script alles in eine abfrage gepackt? sonst klappt es nicht, da sich der Token usw. bei jeder Anmeldung ändern.

    Kamera abschalten 1:1 von @Pischleuder übernommen:

    #!/bin/bash
    PASSWD=$(curl -H "Host: prod.immedia-semi.com" -H "Content-Type: application/json" --data-binary '{ "password" : "EUER_BLINK_PASSW", "client_specifier" : "JV", "email" : "EURE_EMAIL" }' --compressed https://rest.prde.immedia-semi.com/login | cut -c28-49)
     
    curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --data-binary --compressed https://rest.prde.immedia-semi.com/network/EURE_NETZWERK_ID/disarm
    

    zum scharf schalten einfach nur /disarm zu arm ändern

    ich hab auch nur mein passwort und die mail ersetzt und dann die blockly scipts weiter oben kopiert, läuft.

    EDIT: netzwerk id natürlich auch noch ändern 😄


  • Starter

    @Zandrial

    #!/bin/bash
     PASSWD=$(curl -H "Host: prod.immedia-semi.com" -H "Content-Type: application/json" --data-binary '{ "password" : "MEIN_PASSWORT", "client_specifier" : "JV", "email" : "MEINE_MAIL" }' --compressed https://rest.prde.immedia-semi.com/login | cut -c28-49)
      
     curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --data-binary --compressed https://rest.prde.immedia-semi.com/network/MEINE_NETWORKS_ID/arm
    

    so sieht mein File aus. Also genau gleich wie das, das ihr auch verwendet.

    Um ehrlich zu sein versteh ich das nicht ganz. Hab jetzt sogar schon die beiden .sh files über SCP runtergeladen und alles nochmal mit Notepad ++ angepasst und dann wieder hochgeladen (nur um sicher zu gehen das es keine Probleme mit den Zeichen gibt).

    Leider hat das auch nichts gebracht ...


  • Starter

    @zoid1988

    Moin,

    du musst das hier nehmen: https://github.com/Jensekin/ioBroker.blink

    Wenn du das nicht installierst, dann wird dir im iobroker auch nichts angezeigt.

    Die Scripte ändern lediglich online den Status (also vom blink account).
    Der Adapter fragt diesen Status ab und trägt ihn in die Datenpunkte ein.


  • Starter

    @Pischleuder

    Hi,
    danke für die Info.
    Ich hab allerdings im Moment noch das Problem das ich schon beim manuellen starten des Scripts einen " Unauthorized Access" bekomme.

    LG



  • @zoid1988 hast du denn die lib installiert? node-blink-security bzw. den iobroker.blink adapter (hier ist die lib quasi verlinkt und wird mit geladen)


Log in to reply
 

Suggested Topics

  • 7
  • 9
  • 2
  • 3
  • 3
  • 28
  • 3
  • 194

1.7k
Online

27.2k
Users

33.9k
Topics

443.5k
Posts