Blink Camera's discontinuing "legacy" login

I think it’s already too late!

1 Like

Yup, all changed. I figured you would add the option to configure at some point. All good. All back to where I was 2 days ago, albeit on a beta release…But everything I need, appears to be working for now. Thanks for this!

1 Like

@fronzbot - Not sure if you have seen this desktop app, https://github.com/lurume84/bling-desktop The 2FA email that gets triggered by that app does populate the device name

We’ve detected a login attempt on your Blink account from:
Device: Bling Desktop
Device Name: Computer

Unless I’m going blind there is no such file as core.config_entities - I do have a ‘core.config_entries’ though - is that where I should be looking for the scan_interval ?

I ask because since moving to 0.110.b0 (and my cameras started to work again) I’m now unable to login to Blink on my phone - I get this error “Login limit exceeded. Please disable any 3rd party automation and try again in 60 minutes”. However a tablet that was also logged into the account seems just fine.

Thanks

@bpascucci - yeah that’s where I found the 2FA endpoints. I should be sending the same info they do, but I’ll double check.

@ianfretwell - Yeah it’s core.config_entries i was just going based on memory, my bad.

I get this error “Login limit exceeded. Please disable any 3rd party automation and try again in 60 minutes”

Uhh that’s concerning. Did you migrate your yaml config? If so, what was your scan_interval set to? My only guesses (since I have not seen this behavior myself) are:

  1. Scan interval is too quick causing Blink to lock you out
  2. There definitely seems to be a limit at how fast you can hit their login endpoint (seems like a 10s timeout or so) so maybe you opened the Blink app too quickly after starting home-assistant? Is it still not working?

Hi,

I’ve found the entry in the file, its set as it was in the config.yaml - 3600 (so not exactly that fast I wouldn’t have thought).

I’ve just tried again and it’s let me in this time - so sigh of relief, maybe its just an oddity that I’ve hit for some reason.

Thanks for the quick reply!

I also got this lovely e-mail. I took a look at their IFTTT offering but it’s basically lacking 90% of the features that i’d previously had using the Blink integration. I can wire up IFTTT actions to trigger from HA, but without having the state events there is no way to make sure the state in HA reflects the armed status of the system.

Can I ask @fronzbot if the changes you made have yet made it into production or do I need to join the beta channel in order to get them? Right now when my HA instance fires up I get a errors like this in the logs:

2020-05-19 00:47:08 ERROR (SyncWorker_6) [blinkpy.helpers.util] Endpoint https://rest-piri.immedia-semi.com/login failed. Possible issue with Blink servers.
2020-05-19 00:47:08 ERROR (SyncWorker_6) [blinkpy.blinkpy] Login API endpoint failed with response None
2020-05-19 00:47:08 ERROR (SyncWorker_6) [blinkpy.blinkpy] Login API endpoint failed with response False
2020-05-19 00:47:08 ERROR (SyncWorker_6) [blinkpy.blinkpy] Login API endpoint failed with response False

Thanks in advance for the work you’ve done on this. It’s incredibly frustrating right now that so many companys seem hell bent on making their products less useful and more difficult to integrate with other components.

It looks like that code is slated for the next release, which should be tomorrow. I’m peeking at the release candidate blog, so things may change:
https://rc--home-assistant-docs.netlify.app/blog/2020/05/12/release-110/

It is, just now saw the update and upgrading mine.

Hello @fronzbot,

Just wanted to say thank you for coming up with a solution for the new Blink API. I just updated to HA 1.110.0 and everything is back to working perfectly with both of my Blink systems.

Thanks again for all the time and effort that you invest this in component!! :beers:

Rodney

1 Like

I just installed 0.110.0 and it immediately detected my Blink cams, without me touching any of my current config. The two-factor mail also arrived quickly and everything works as before. This is amazing. Thanks so much for your efforts @fronzbot. Much appreciated!

1 Like

New MFA and UI Integration is working great! Thanks Kevin!

1 Like

I just installed 0.110.0 and it worked only after I deleted my old Blink entities and started from scratch. Then integrating Blink detected the new entities.

I know this is maybe not the place, but was wondering if someone can help on where files are stored when you specify a pathname (for example when saving a snapshot). I am in a docker container, and I’m new to this. It can’t access the host filesystem I know, and I thought it would store the images in /usr/share/hassio/homeassistant but I don’t see them there either …

I think the path would be in the config directory like

/config/www/folder as an example

Just registered on here to say thanks to @fronzbot for fixing this and keeping Blink usable with HA. Currently got cameras running taking timelapse photos via automation and thought of having to go back to using the app every day doing it manually was not a fun one!

Had to remove the sensors and binary_sensors sections as mentioned above then Blink detected as a new device but all my previous Automations carry on as before. The button on the email gave “sorry something went wrong” but entering blank PIN in the HA prompt window worked fine.

2 Likes

Just an FYI…

I was following the sample script in the Blink integration document and got caught up in the following comment in the document.

" This example script shows how to take a picture with your camera, named My Camera in your Blink app (this is not necessarily the friendly name in home-assistant)."

I couldn’t get the script to take a new snapshot but was retrieving a old image. Following the directions I was using the name from the Blink app. When I finally looked at the Developer Tools/States I saw that HA had a different name compared to the app. Set the name to what was in HA and all was well.

Anyway I thought I would share. Stupidly maybe, but I spent a few hours figuring this out :slight_smile:

Understand that I am coming to this thread very late. I received the e-mail below from blinkforhome support [email protected] today.

I’m 1,000 miles away from the configuration I set up in February on a Raspberry Pi 4. It has been working great, but as you can read, as of now the account has been disabled THEN they sent an e-mail. When I run the Blink app on my iPhone, it won’t even let me log in.

From the Home Assistant application I get a message that the update failed.

Is there anything I can do remotely to fix this? I’m guessing no.

My preference would be to have a standalone camera I can integrate on the Pi directly or through WiFi. Can anyone recommend one?

Thanks!

== e-mail from Blink support follows.

Hello,

My name is Tori and I am with the Blink team. While doing a routine server audit, your account was flagged and subsequently disabled due to unsupported scripts or apps running on your system. The only automation that is permitted for use with the Blink system is through Alexa and/or IFTTT. Please disable these scripts or apps and reach back out to me so that I can re-enable your account.

Best,

Tori

Blink Technical Support

emphasized text

Thanks for the fix! Works great!

Thanks … that was it. The default ROOT path is the config folder.

I’m seeing some odd behavior with a script I use to trigger a new blink image. It runs every 30 minutes and calls the trigger image service for each camera with a 15 second delay between each call. It seems to error out and not reviver until I restart Home Assistant. Not sure if this is me or a new issue. Details of the error with traceback are below. I also included some other errors that start popping up after the trigger image fails.

Triger Blink Image: Error executing script. Unexpected error for call_service at pos 1: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
‘’’
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 153, in _async_step
self, f"async{cv.determine_script_action(self._action)}_step"
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 623, in _async_call_service_step
*self._prep_call_service_step(), blocking=True, context=self._context
File “/usr/src/homeassistant/homeassistant/core.py”, line 1253, in async_call
task.result()
File “/usr/src/homeassistant/homeassistant/core.py”, line 1288, in _execute_service
await handler.func(service_call)
File “/usr/src/homeassistant/homeassistant/components/script/init.py”, line 207, in service_handler
await script.async_turn_on(variables=service.data, context=service.context)
File “/usr/src/homeassistant/homeassistant/components/script/init.py”, line 284, in async_turn_on
await self.script.async_run(kwargs.get(ATTR_VARIABLES), context)
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 798, in async_run
await run.async_run()
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 522, in async_run
await self._async_run()
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 539, in _async_run
await self._async_step(log_exceptions=not propagate_exceptions)
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 153, in _async_step
self, f"async{cv.determine_script_action(self._action)}_step"
File “/usr/src/homeassistant/homeassistant/helpers/script.py”, line 623, in _async_call_service_step
*self._prep_call_service_step(), blocking=True, context=self._context
File “/usr/src/homeassistant/homeassistant/core.py”, line 1253, in async_call
task.result()
File “/usr/src/homeassistant/homeassistant/core.py”, line 1292, in _execute_service
await self._hass.async_add_executor_job(handler.func, service_call)
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/src/homeassistant/homeassistant/components/blink/init.py”, line 114, in trigger_camera
cameras[name].snap_picture()
File “/usr/local/lib/python3.7/site-packages/blinkpy/camera.py”, line 82, in snap_picture
return api.request_new_image(self.sync.blink, self.network_id, self.camera_id)
File “/usr/local/lib/python3.7/site-packages/blinkpy/helpers/util.py”, line 203, in wrapper
result = method(*args, *kwargs)
File “/usr/local/lib/python3.7/site-packages/blinkpy/api.py”, line 176, in request_new_image
return http_post(blink, url)
File “/usr/local/lib/python3.7/site-packages/blinkpy/api.py”, line 316, in http_post
blink, url=url, headers=blink.auth_header, reqtype=“post”, is_retry=is_retry
File “/usr/local/lib/python3.7/site-packages/blinkpy/helpers/util.py”, line 104, in http_req
if json_resp and “code” in response.json():
File “/usr/local/lib/python3.7/site-packages/requests/models.py”, line 898, in json
return complexjson.loads(self.text, **kwargs)
File “/usr/local/lib/python3.7/site-packages/simplejson/init.py”, line 525, in loads
return _default_decoder.decode(s)
File “/usr/local/lib/python3.7/site-packages/simplejson/decoder.py”, line 370, in decode
obj, end = self.raw_decode(s)
File “/usr/local/lib/python3.7/site-packages/simplejson/decoder.py”, line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
‘’’

Update for alarm_control_panel.blink_home fails

2:42:36 PM – components/blink/alarm_control_panel.py (ERROR) - message first occurred at 2:06:28 PM and shows up 142 times

Update for sensor.blink_backyard_battery fails

2:42:16 PM – components/blink/sensor.py (ERROR) - message first occurred at 2:06:36 PM and shows up 1260 times

Update for binary_sensor.blink_carport_motion_detected fails

2:42:15 PM – components/blink/binary_sensor.py (ERROR) - message first occurred at 2:06:36 PM and shows up 840 times