NEWS
Blink Camera System
-
Moin!
Hier findest Du eine inoffizielle Beschreibung der Blink API:
https://github.com/MattTW/BlinkMonitorProtocolHab's aber selbst nicht getestet.
-
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.
-
Moin,
EDIT: das unten stehende funktioniert seit Mai 2020 nicht mehr.
Weiter geht es hier: https://forum.iobroker.net/post/431057ich 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 gleichUm 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 162443Der 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
-
Über ifft überprüfe ich, ob jemand anwesend ist oder nicht. Daraus ergibt sich dieses blockly-Script, was sicher zu optimieren ist.
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.
-
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
-
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 -
@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.
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.
-
@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
-
#!/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 ...
-
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. -
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)
-
@Zandrial
Es liegt offenbar an der nicht installierten lib ... Hab gerade vorhin den Adapter getestet und voila, alles funktioniert genau so wie erwartet. Vielen DankWas habt ihr beim Polling Intervall eingestellt ? Was ist default ?
LG