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.


schaedeldx

Nur so als Idee, wenn ich das überfliege...
Grant_type müsste erstmal "client_credentials" sein, nicht "password"
Komme aber nicht dazu, das einzubauen und zu testen.
FHEM auf Debian unter Proxmox
ZWAVE, Zigbee (Zigbee2MQTT), Duofern, MAX!, EnOcean, Blink, FhemAlexa, ...

schaedeldx

Bin jetzt auf ne andere Kamera gewechselt. Hatte noch eine rumliegen und habe es mit IPCAM hinbekommen.
Und ich hätte das schon längst machen sollen, alles funktioniert innerhalb einer Sekunde, keine Verzögerung mehr durch blink, keine Probleme mit der Schnittstelle, besseres Bild.
FHEM auf Debian unter Proxmox
ZWAVE, Zigbee (Zigbee2MQTT), Duofern, MAX!, EnOcean, Blink, FhemAlexa, ...

cortmen

 :) glaube das wird nichts mehr mit FHEM Integration.
Na ja schade, ist dann halt so, die Zeiten ändern vieles.

viegener

Kurzer Zwischenbericht, ich bin gerade dran die Umstellungen von Blink im Modul nachzuarbeiten.
Da sich der vollständige Ablauf für die Authorisierung geändert hat und offensichtlich auch einige Werte tiefer geprüft werden, ist das leider eine erhebliche Umstellung.
Ich bin aber zuversichtlich, dass die Umstellung möglich ist und auch soweit klar ist was getan werden muss.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Gonzo

Das klingt doch vielversprechend! Danke für deinen Einsatz!

Ich hatte schon versucht ChatGPT die Lösung von HA blinkpy (Diff) in das FHEM Perl Modul implementieren zu lassen, aber es kam nichts lauffähiges dabei raus.

rabehd

Zitat von: viegener am 02 November 2025, 14:40:27Kurzer Zwischenbericht, ich bin gerade dran die Umstellungen von Blink im Modul nachzuarbeiten.
Da sich der vollständige Ablauf für die Authorisierung geändert hat und offensichtlich auch einige Werte tiefer geprüft werden, ist das leider eine erhebliche Umstellung.
Ich bin aber zuversichtlich, dass die Umstellung möglich ist und auch soweit klar ist was getan werden muss.
Danke das Du Dir, für uns, die Arbeit machst.
Auch funktionierende Lösungen kann man hinterfragen.