AWESOME!! THANKS for working on this
The source code, got it – I understand now how this fits together. Thanks for finding those end-points and how it all works.
I am still a little confused as to how the start()
method knows if it is dead-ended or to ask for a PIN (or nothing)? When I make a request in Postman, I am just getting a 426 “Upgrade Required” error. I can dig more into the code of course, but how does your routine know to ask for the verification email?
EDIT: Never mind the above, I was not using a specific version endpoint for logging in (v3 appears to be the way to go, currently). Once I used the more specific endpoint, logging in got further, and in fact works right now without verification being required).
Do you think that even if I get it working this will be something that requires a new approval or PIN every 30 days? Right now I am downloading on behalf of someone else, so I will not receive the emails! If this is something that cannot be returned to full automation, I am not sure what we are going to do.
Is there really no other way (even for a fee) to download Blink videos in an automated fashion? This is a business application, so we’d be willing to pay! At the very least, a service that dumps all videos to an S3 bucket or something – Amazon would still get their money based on usage…
(And I know you have no control over that, just venting and looking for ideas…).
Your help is very much appreciated – your work on this really is amazing!
@fronzbot how do I override my current built in BLINK integration with this fix and cause the request?
I tried the dev update which installed fine but I cant do the login config on hassio as it wants things that wont install it seems. I’ll have to wait for a yaml config or other method of setup.
So woke up this morning wondering why my Blink was stuck on Armed.
Should there be an update to the following page ? :
So that people know what is going on and know when a fix is likely coming and how to get that fix ?
How would I test / apply any current fixes to my home assistant instance ?
Thanks for working on this everybody! I emailed support as well but hoping a workaround is coming soon, till then I guess it’ll be IFTTT.
Your python code is awesome, I really like the refactoring of login functionality. One more question:
I understand how the verification_required
response value triggers the code to know it is not authenticated, but what triggers the verification email to go to the login email address? Is that automatic, as in it goes out as soon as verification_required
returns as false? I am trying to make sure I am ahead of the game by understanding what my end-users are going to see first: the program erroring out (and videos not downloading) or an email to verify the “BlinkDown” device name via button click or PIN?
From there, I will simply add a mode to my command-line program for entering a PIN at the endpoint from your code. That should be all I need to do for the program to work the next time it runs (it is scheduled to run once per hour). Even if my end user needs to enter a PIN every thirty days that will not be too bad.
Appreciate the help and the fast workaround!
@sutekh137 - thanks! The triggering of the verification email happens at login. When you send the username/password combo to the blink servers they response with a token and let you know whether or not further verification is required. So by the time you receive the login response with that verification_required
parameter, the email will have been sent (there will obviously be some delay on receipt though). As long as you have a check for that verification_required
parameter before making any server requests, you should be golden.
@nated - scroll just a little bit higher and you’ll see a fix is already in place and in the process of getting added to HomeAssistant
To everyone else asking how to get the fix in their instance: it’s rather involved. If you know how to pull down an active PR on github to overwrite your existing instance…that’s what you need to do. If that sounded like garbled non-sense, I highly encourage patience until the fix is merged. That should be coming soon!
All that said, it’s extremely cool to see how many people want a fix ASAP. Until people comment on stuff like this, I’m never really sure that anyone other than myself is actually using the integration
@fronzbot - There is no doubt you have saved me three times since initial implementation.
Thanks for verifying how the process works, I should be set now. In testing PIN entry I got a 101 Unauthorized Access when I try to POST to the pin-verification endpoint, but I assume that is because it is part of v4 of the API and we are not on it? Because verification is not yet required? I wish it would switch sooner than later so I can test this and make sure it works, but I can’t do that until verification is, in fact, required.
And through all of this, actual video downloads are still running through v1? My head is starting to hurt with all this. Thank goodness you find all the working endpoints, or else I’d be completely lost.
I’ll wait
Thanks for the work. My camera security is tied to Blink + HA Automation which triggers all my Google Home devices to play a barking dog MP3 and lighting to come on, if anyone comes near my house at night. This just breaks it all completely and IFTTT is so unreliable as notifications can take an age to hit.
Appreciate the speed at which you went at this so far!
@fronzbot is it just as easy as pulling down the contents of this folder and replacing that folder on my HA box? https://github.com/fronzbot/homeassistant/tree/blink-new-auth/homeassistant/components/blink
Any further/specific instructions?
Thanks again for your hard work, it is very much appreciated (and widely used as you see )
All the best!
Thanks for your hard work on this @fronzbot
When I realized that there is a problem you already fixed it. Incredible and not for the first time either. Just gave it a go and it works without problems for me.
So how did IFTTT get the jump on this? How much cash was involved…?
Thanks for all your work, it is definitely much appreciated!
Thanks you very much for your work.
Blink answered me to my “legal” question. I understand that (in any way) Blink can block us if we use it this way, and this is bad.
The bold text was decided by Blink
"At Blink, users’ security and data privacy are top priorities. Over the last few months we’ve announced a number of initiatives that strengthen this commitment to our customer base. Deprecating support for unauthorized 3rd Party Automation Scripts is the next step in delivering on this commitment.
Our supported integrations are IFTTT and or Alexa.
Regarding the question about the Terms and Conditions
Suspensions and Termination.
Your rights under this Agreement will automatically terminate without notice if you fail to comply with any of its terms. We may terminate the Agreement or restrict, suspend, or terminate your use of Blink Services at our discretion without notice at any time, including if we determine that your use violates the Agreement, is improper, substantially exceeds or differs from normal use by other users , or otherwise involves fraud or misuse of Blink Services or harms our interests or those of another user of Blink Services. If your use of Blink Services is restricted, suspended, or terminated, you may be unable to access your video clips and you will not receive any refund or any other compensation. In case of termination, Blink may immediately revoke your access to Blink Services without refund. Blink’s failure to insist upon or enforce your strict compliance with this Agreement will not constitute a waiver of any of its rights"
I’ve always found that statement quite amusing, given that they only permit a single user account with administrative access.
So if I want to share viewing rights to my cameras temporarily (e.g. while away on holiday) I have to give someone the administrative account and remember change the password afterwards.
In comparison, we have a connected catflap which was designed from the ground up with multiple access levels and the ability to temporarily grant (and then later revoke) access as required.
I don’t think it’s terribly unreasonable to expect a security camera system to be more privilege conscious than a cat flap, but Blink have never responded to multiple queries about this from me.
Is there a way to try this fix on HassOS running 3.13 ??
Great work. Really interested to see where you get to. Unfortunately I’m not clever/brave enough to volunteer for testing. Much appreciated.
Thank you very much for this integration!!
To me, my 8 BLINK cameras are pretty useless (and battery hogs) unless I can selectively turn motion sensing on/off depending on my HA automations/scripts.