Blink Security Home Kamera - Modul - 48_BlinkCamera.pm

Begonnen von viegener, 26 Oktober 2016, 22:31:25

Vorheriges Thema - Nächstes Thema

cortmen

 :o Einiges probiert, ein neues Device angelegt, es kommt nicht mal zu einer Registrierung (verifyPin) keine SMS (MFA) etc.
Alte Device fhem.* (Client unter Zugänge entfernt, lässt sich keine neue "spezielle App. mehr registrieren.
Wäre schade, wenn FHEM diese nette Mod. verliert, aber vielleicht ist es an der Zeit.

burgi110

Habe genau das selbe Problem
AuthToken INVALID
mdResult  :Callback returned error:An app update is required:
 :'(

Eschi

Raspi 4, Raspi 3, HMLAN, HmUART, HmUARTLGW, CUL, FS20, PCA301, JeeLink, LGW, MQTT, ESPEasy, SIGNALduino

JWRu

Blink hat anscheinend ein neues Anmeldeverfahren eingeführt - das treibt auch gerade die HA-Community um.
Der Maintainer des Moduls viegener ist anscheinend nicht mehr sehr aktiv in FHEM - mal schauen, ob er sich meldet.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon- und Bresser-Sensoren; Steuerung Viessmann-Heizung; ESP32 für Strom-, Wasser-, Gaszähler, Arduino für Rauchmelder und FI-Schutzschalter

cortmen

#814
:)  in HA gibt es wohl eine Lösung.

https://github.com/home-assistant/core/issues/154486




juergen012

Moin! Nach Netatmo fliegt jetzt auch blink aus meinem Fhem. Ich habe auf Aqara umgestellt. Dort geht RTSP..
LG j.
Fhem unter Proxmox

buhao75

Ich habe mir das Ganze etwas angesehen und glaube nicht, dass es hier eine "schnelle" Lösung gibt. Blink hat auf eine 2 Faktor-Authentifizierung umgestellt. Ich habe es entsprechend der Anleitung in https://github.com/fronzbot/blinkpy/issues/1114 über CURL geschafft einen Token zu generieren, aber dann nicht einen CURL Befehl abzusetzen.

Adam

Ich habe es mit folgenden Curl Befehlen hinbekommen:
### STEP 1 get OTP ####
curl 'https://api.oauth.blink.com/oauth/token' -v -X POST -H 'Content-Type: application/x-www-form-urlencoded, hardware_id:56526950d50ad6cfd590178eb51XXXX, "User-Agent":"27.0ANDROID_28373244"'  -d '{grant_type:password,client_id:android,scope:client,username:xxx@yyy.de,password:XXXXXXXX}'

(hardware_id,username,password maskiert)

-> es wird ein OTP ans Handy geschickt

### STEP 2 get Authtoken ####
  curl --request POST \
  --url https://api.oauth.blink.com/oauth/token \
  --header '2fa-code: <OTP>' \
  --header 'content-type: application/x-www-form-urlencoded' \
  --header 'hardware_id: 56526950d50ad6cfd590178eb51XXXX' \
  --data username=xxx@yyy.de\
  --data 'password=XXXXXXXXXXX' \
  --data grant_type=password \
  --data client_id=android \
  --data scope=client

bei 2fa-code <OTP> durch den per SMS empfangen code ersetzen

(hardware_id,username,password maskiert)

-> access_token und refresh_token erhalten

####### STEP 3 get tier_info
  
  curl --request GET \
  --url https://rest-prod.immedia-semi.com/api/v1/users/tier_info \
  --header 'content-type: application/x-www-form-urlencoded' \
  --header 'User-Agent: 27.0ANDROID_28373244' \
  --header 'Authorization: Bearer <authToken>'
 
<authToken> durch erhaltenen autThoken ersetzen

  -> {"tier":"e007","account_id":123456,"tulsa_id":12345678}

ab hier müssen dann alle Befehler mit einer neuen Baseurl geschickt werden

From then on the base url is: https://rest-{tier}.immedia-semi.com


###### STEP 4 use new tier base_url for homescreen

Then you can call: https://rest-{tier}.immedia-semi.com/api/v3/accounts/{account_id}/homescreen
 
curl --request GET \
     --url https://rest-e007.immedia-semi.com/api/v3/accounts/123456/homescreen \
    --header 'content-type: application/x-www-form-urlencoded' \
    --header 'Authorization: Bearer <authToken>'

#### Step 5 Refresh tokens with:

   curl --request POST \
  --url https://api.oauth.blink.com/oauth/token \
  --header 'content-type: application/x-www-form-urlencoded' \
  --header 'User-Agent: 27.0ANDROID_28373244' \
  --header 'hardware_id: 56526950d50ad6cfd590178eb51XXXX' \
  --data 'username=xxx@yyyy.de' \
  --data 'client_id=android' \
  --data 'scope=client' \
  --data 'grant_type=refresh_token' \
  --data 'refresh_token=<refreshToken>'
                       
  <refreshToken> ersetzen mit dem empfangenen


Auf der Shell Ebene bekomme ich das alles hin, es scheitert leider gerade daran das Ganze in das Modul 48_BlinkCamera.pm einzubauen....

Ich meine mein HttpUtils_NonblockingGet wäre richtig aufgebaut, aber ich bekomme immer den folgenden Fehler zurück ....

data {"error":"unsupported_grant_type","error_description":"invalid grant"}
Hab schon alles versucht ..... bin etwas ratlos .... und die Zeit an diesem WE ist erstmal verbraucht ;-)


cortmen

Danke, das Du es probiert hast.
Vielleicht hat ja jemand noch ne Idee aus der Development Gruppe.