NEWS
Blink Camera System
-
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 Dank :-)Was habt ihr beim Polling Intervall eingestellt ? Was ist default ?
LG
-
Hallo,
ich habe auch nach dem installieren des Adapters etc das Problem, dass a) mein zurückgelieferter Login-String anders aussieht (ich müsste für den Auth-Code die Stellen 74 bis einschl. 95 nehmen) und ich b) auch dann immer noch "{"message":"Unauthorized Access","code":101}" zurückbekomme...
-
nach ändere bitte diesen Wert "cut -c28-49" auf Deine Bedürfnisse - beide Werte, bis der richtige String genommen wird.
-
danke - hab ich gemacht.
Habs für mich jetzt aber gefunden: https://community.home-assistant.io/t/looking-at-blink-cameras/26173/25In der Login-Antwort ist ein region-Code. Bei mir e001. Den disarm-Aufruf brauche ich dann so:
curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --data-binary --compressed https://rest-e001.immedia-semi.com/network/MEINE_ID/disarm
Damit gehts :-)
-
Da die Antwort vom Login-Rest-Aufruf sich geändert hat, ging es bei mir nicht mehr.
Daher habe ich den Login-Aufruf bzw. das Setzen der Variable angepasst: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" : "meineMail@provider.de" }' --compressed https://rest.prde.immedia-semi.com/login | jq -r '.authtoken.authtoken')dafür muss man jquery installiert haben:
sudo apt-get install jq -
Kann man denn irgendwie das Thumbnail vom Server mit einem Curl Befehl runterladen? Hat das schon jemand von euch geschafft?
@FredPlus , ja das geht:
PASSWD=$(curl -H "Host: prod.immedia-semi.com" -H "Content-Type: application/json" --data-binary '{ "password" : "DeinPasswort", "client_specifier" : "", "email" : "yourmail@gmx.de" }' --compressed https://rest.prde.immedia-semi.com/login | cut -c28-49) curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest.prde.immedia-semi.com/api/v3/accounts/DeineAccountID/homescreen curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest.prde.immedia-semi.com/network/DEINENETWORKID/camera/DEINEKAMERAID/thumbnail IMAGE=$(curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest.prde.immedia-semi.com/api/v3/accounts/DEINEACCOUNTID/homescreen | cut -c806-900) ## IMAGE Herunterladen curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest.prde.immedia-semi.com/$IMAGE.jpg > /opt/iobroker/Bild.jpg -
@FredPlus , ja das geht:
PASSWD=$(curl -H "Host: prod.immedia-semi.com" -H "Content-Type: application/json" --data-binary '{ "password" : "DeinPasswort", "client_specifier" : "", "email" : "yourmail@gmx.de" }' --compressed https://rest.prde.immedia-semi.com/login | cut -c28-49) curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest.prde.immedia-semi.com/api/v3/accounts/DeineAccountID/homescreen curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest.prde.immedia-semi.com/network/DEINENETWORKID/camera/DEINEKAMERAID/thumbnail IMAGE=$(curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest.prde.immedia-semi.com/api/v3/accounts/DEINEACCOUNTID/homescreen | cut -c806-900) ## IMAGE Herunterladen curl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH:$PASSWD" --compressed https://rest.prde.immedia-semi.com/$IMAGE.jpg > /opt/iobroker/Bild.jpgDanke 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.jpgWie mache ich denn das jetzt mit der wechselnden Bezeichnung des Bildes? Hat hier jemand eine Idee?
Grüße
-
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.jpgWie mache ich denn das jetzt mit der wechselnden Bezeichnung des Bildes? Hat hier jemand eine Idee?
Grüße
-
@FredPlus
Du könntest Dir vorher eine Liste ausgeben und daraus das passende Bild / Video wählencurl -H "Host: prod.immedia-semi.com" -H "TOKEN_AUTH: authtoken from login" --compressed https://rest.prod.immedia-semi.com/api/v2/videos/unwatchedwas 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/homescreenHier sollte der Pfad und Dateiname ja sichtbar werden.
-
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/homescreenHier sollte der Pfad und Dateiname ja sichtbar werden.
@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"}]} -
@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"}]}@Alex-0 ok - jetzt müsst Ihr lediglich hier anpassen:
cut -c806-900Ein 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 -
@Alex-0 ok - jetzt müsst Ihr lediglich hier anpassen:
cut -c806-900Ein 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_08PMDas 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?
-
Das geht bestimmt - aber meine Kenntnisse übersteigt das :-)
Man kann den String auch mit awk auslesen, aber das muss ich mir in Ruhe anschauen.
-
Das geht bestimmt - aber meine Kenntnisse übersteigt das :-)
Man kann den String auch mit awk auslesen, aber das muss ich mir in Ruhe anschauen.
-
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.jpgJetzt baue ich mir erst einmal eine Klingelbenachrichtigung:grin:
Danke für den Denkanstoß.
Grüße