Blink Security Home Kamera - Modul - 48_BlinkCamera.pm

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

Vorheriges Thema - Nächstes Thema

Adam

@viegener sehr cool dass du es wieder übernimmst....

Ich war auch die Tage fleissig und habe versucht das Modul anzupassen bekomme den Login / verfifyOTP / GetBaseUrl und RefreshToken hin ....

Homescreen wird abgeholt und damit kann ich auch wieder arm/disarm machen .... das Camera Enable Disable klappt leider nicht

Und da mein Perl und JSON nur rudimentär sind, siehts wahrscheinlich nicht so schön aus wie Deins ....

 

viegener

in Github --> https://github.com/viegener/Telegram-fhem/tree/master/Blink
ist eine erste Version für die neue Authentifzierung hinterlegt: Damit kann man jetzt "set request2fa" aufrufen um einen 2fa code zu bekommen. Dann lässt sich über "set authenticate" mit angabe des tfa codes fhem authentifizieren.

Was noch aussteht:
- Prüfen ob der Refresh automatisch funktioniert
- User agent anpassbar machen wenn blink updates macht
- Weitere calls (z.B. Camera enable / disable) muss noch geprüft werden
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Gonzo

#827
Danke!

Funktioniert bei mir noch nicht ganz, folgende Fehlermeldung:
2025.11.02 19:25:02 4: BlinkCamera_DoCmd blink2: called  for cmd :request2fa:
2025.11.02 19:25:02 4: BlinkCamera_DoCmd blink2: try to send cmd request2fa
2025.11.02 19:25:02 4: BlinkCamera_DoCmd blink2: oauthform  data :username=xxx@gmail.com&password=xxx+&grant_type=password&client_id=ios&scope=client:
2025.11.02 19:25:02 4: BlinkCamera_DoCmd blink2: call url :https://api.oauth.blink.com/oauth/token:
2025.11.02 19:25:03 4: BlinkCamera_Callback blink2: called from DoCmd
2025.11.02 19:25:03 4: BlinkCamera_Callback blink2: status err :status code :401:  data {"error":"access_denied","error_description":"invalid user credentials"}

2025.11.02 19:25:03 3: BlinkCamera_Callback blink2: request returned http status: 401
2025.11.02 19:25:03 4: BlinkCamera_Callback blink2: after decoding status ret: <success> :
2025.11.02 19:25:03 4: BlinkCamera_Callback blink2: analyze result for cmd:request2fa:
2025.11.02 19:25:03 4: BlinkCamera_Callback blink2: for cmd :request2fa:  retry :1  resulted in :SUCCESS:  cmdId :-- from DoCmd

Username und Passwort sollte stimmen, mit der gleichen Kombination kann ich mich auf der Webseite einloggen.
Kann es bei Sonderzeichen zu Problemen kommen? (in dem Fall "+")

EDIT:
ja, das "+" im Passwort scheint tatsächlich Probleme zu machen, habe es durch "!" ersetzt, jetzt klappt es!

viegener

Zitat von: Gonzo am 02 November 2025, 19:30:48Username und Passwort sollte stimmen, mit der gleichen Kombination kann ich mich auf der Webseite einloggen.
Kann es bei Sonderzeichen zu Problemen kommen? (in dem Fall "+")

EDIT:
ja, das "+" im Passwort scheint tatsächlich Probleme zu machen, habe es durch "!" ersetzt, jetzt klappt es!

Danke für die schnelle Rückmeldung - Das mit den Sonderzeichen muss ich mir nochmal anschauen.

Für alle: Ich habe eine aktualisierte Version ins SVN gestellt kommt dann mit dem nächsten/Update.

Wichtig: username/passwort werden weiterhin gebraucht. Aber für die 2FA wird folgender Ablauf gebraucht:
1) Zuerst den set request2fa aufrufen (Ohne weitere Parameter)
2) Dann mit dem erhaltenen Code aus der SMS set authorize den client mit dem Authtoken versorgen
3) Das Token sollte dann automatisch aktualisiert werden

Bekanntes Problem: CamEnable/Disable funktioniert bei mir auch noch nicht richtig

Ich hoffe, dass trotz der weitgehenden Änderungen das auch bei Euch funktioniert

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

jmike

Danke für deine super Arbeit hier!

Ich habe auch meine Passwort Komplexität etwas reduzieren müssen aber danach hat das request2fa, authorize und getInfo sofort funktioniert.


"set disarm" hat bei mir auch geklappt und networkArmed True|False wird auch korrekt gesetzt wenn ich in der App den Zustand ändere und dann "get getInfo" ausführe.
getThumbail klappt auch, top!


JWRu

@viegener:
Super - vielen Dank für die schnelle Lösung. Auch ich musste mein Passwort bezüglich Sonderzeichen etwas einfacher gestalten - dann hat's geklappt.
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

JoWiemann

Hallo viegener,

auf Anhieb funktioniert. Vielen Dank.

Wie von Dir bereits erwähnt funktioniert camDisable/-Enable noch nicht.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Gonzo

Test für Passwörter mit "Sonderzeichen", ab Zeile 798 ersetzen bzw. die beiden Escape Befehle einfügen:

      if ( ! $ret ) {
        # URL-kodierung der Werte
        my $email_esc    = uri_escape($email);
        my $password_esc = uri_escape($password);

        $hash->{HU_DO_PARAMS}->{data} = $BlinkCamera_oauthform;

        $hash->{HU_DO_PARAMS}->{data} =~ s/q_password_q/$password_esc/g;
        $hash->{HU_DO_PARAMS}->{data} =~ s/q_email_q/$email_esc/g;
        $hash->{HU_DO_PARAMS}->{data} =~ s/q_name_q/$name/g;

        Log3 $name, 4, "BlinkCamera_DoCmd $name: oauthform data :".$hash->{HU_DO_PARAMS}->{data}.":";
      }

JoWiemann

Hallo,

ich habe noch folgende Warnings im Log (Vielleicht mal bei Gelegenheit):
2025.11.03 14:50:16 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at /opt/fhem/FHEM/48_BlinkCamera.pm line 1165.
2025.11.03 14:50:16 1: stacktrace:
2025.11.03 14:50:16 1:     main::__ANON__                      called by /opt/fhem/FHEM/48_BlinkCamera.pm (1165)
2025.11.03 14:50:16 1:     main::BlinkCamera_DoCmd             called by /opt/fhem/FHEM/48_BlinkCamera.pm (2149)
2025.11.03 14:50:16 1:     main::BlinkCamera_PollInfo          called by fhem.pl (3514)
2025.11.03 14:50:16 1:     main::HandleTimeout                 called by fhem.pl (710)

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

viegener

Zitat von: JoWiemann am 03 November 2025, 15:23:59Hallo,

ich habe noch folgende Warnings im Log (Vielleicht mal bei Gelegenheit):
2025.11.03 14:50:16 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at /opt/fhem/FHEM/48_BlinkCamera.pm line 1165.
2025.11.03 14:50:16 1: stacktrace:
2025.11.03 14:50:16 1:     main::__ANON__                      called by /opt/fhem/FHEM/48_BlinkCamera.pm (1165)
2025.11.03 14:50:16 1:     main::BlinkCamera_DoCmd             called by /opt/fhem/FHEM/48_BlinkCamera.pm (2149)
2025.11.03 14:50:16 1:     main::BlinkCamera_PollInfo          called by fhem.pl (3514)
2025.11.03 14:50:16 1:     main::HandleTimeout                 called by fhem.pl (710)

Grüße Jörg

Ist in der nächsten Version gelöst

Auch das Problem mit Sonderzeichen in den Passworten sollte gelöst sein

Zu camDisable/camEnable habe ich noch keine Idee, bei mir funktioniert es zumindest für "Minis" nicht. Hier scheint Blink noch restriktiver zu sein, sendet allerdings auch keine Fehlermeldung.

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

cortmen

#835
 ;D Thx, kann man das Modul "disabled" setzen, habe kein Attribut gefunden?
Zu spät, Blink hat den account 10min gesperrt, zu viele zugriffe..^^ ;D
set request2fa     passiert nichts und ein def refresh mit Name + Passwort   bringt auch keine SMS
Habe die Version aus git geladen und schnelle jetzt das 48_Blink* eben umbenannt.

Hintergrund:  das frühere FHEMBlink ThirdParty device in der Blink cloud ist die Tage gelöscht worden.
Muss ich jetzt die FHEM BlinkCam konfiguration komplett löschen?

Sobald das modull geladen wird, versucht der sich in der cloud anzumelden ^^..
polling ist hochgesetzt..