[PROJECT] Driver for Blink API

I am off camping so I cannot check the differences. There ARE some but I cannot imagine what it would be to cause issues.

When I get home tomorrow I will look into it. I was just going to start trying his app again on Friday with a new tablet (before leaving), but had auth errors so I abandoned it to get other stuff done before the weekend.

So now it seems like I need to get that working AND check the drivers because both parts might be useful.

Thanks for the heads-up.

1 Like

Ah... don't worry about it... enjoy the camping!!

I hate to kick it back to Hubitat Dashboard... but I cannot see any changes that SHOULD have broken it. The only change between 0.1.1 and 0.1.2 was the addition of the ImageCapture capability. That adds the take command (to "take" a picture) that runs the pre-existing GetNewThumbnail command (which I did not remove).

BlinkChild does not have ImageCapture and has the exact same capabilities (although it is a catch-all for stuff so it has a LOT more attributes, none of which changed in Camera's 0.1.2) otherwise.

So I wonder if the Hubitat Dashboard app was recognizing the capabilities somehow? I will have to ask direcly.

As the additional capability (image capture) doesn't exist in the previous 0.1.1 BlinkChild-Camera driver and also does not exist in the BlinkChild 0.2.2 driver (both of which work normally with Hubitat Dashboard for Android) that may be the key difference. Tagging @jpage4500 . Joe is using BlinkChild on his installation and isn't seeing the problem.

Is the BlinkChild 0.2.2 driver considered to be deprecated and to be replaced by BlinkChild-Camera driver? I must have switched from one to the other at some point but don't remember when or why.

BlinkChild is not REALLY deprecated. It is meant to be the "catch all" child driver for devices that are not otherwise recognized. So if you have a camera, you should use the BlinkChild-Camera driver for that one. Doorbell = Doorbell, etc... The point was to have drivers that more accurately matched the capabilities of the devices they were controlling.

Since you cannot have dynamic capabilities or commands in a driver I had to separate them out a bit to make them more accurate.

At this time though... there really are not any "unknown" Blink devices that should end up stuck with the generic Child driver.

1 Like

The ImageCapture capability is what's probably causing the dashboard app not to detect the Blink devices. It's because the app tries to auto-detect every device to use the right device type and it's looking for ImageCapture before Blink. I also had a bug in the app which didn't let you change from the Image device type to Blink so you couldn't manually do it either.

I've already fixed it and it'll be in the next version!

2 Likes

Awesome response, as usual! Thanks.

New territory for me. I have the BlinkAPI loaded and authorized. My four hubs are loaded through the BlinkChild-Network, and I can arm and disarm the networks. All good! What I can not figure out is how to get the individual cameras to load under each of the hubs. I do have the blinkchild-Camera driver loaded.

Cameras should be created as child devices automatically, and should have appeared at the same time the Network child devices appeared under the parent (they all happen at the same time). You should also have seen a Sync Module (or multiple) appear, usually one per Blink hub.

Do you have any errors showing in the logs?

I don't see them, but I do have some errors.

A long list...here's a sample.

2022-09-28 09:55:06.820 pm debug Blink_api - Adding SyncModule-30122 of type SyncModule

dev:5972022-09-28 09:55:06.817 pm error Blink_api - Failure to add null and post Local Storage Compatible=false

dev:5972022-09-28 09:55:06.813 pm error Blink_api - BlinkChild-SyncModule driver is not loaded for SyncModule-30122

dev:5972022-09-28 09:55:06.810 pm debug Blink_api - Adding SyncModule-30122 of type SyncModule

dev:5972022-09-28 09:55:06.807 pm error Blink_api - Failure to add null and post Onboarded=true

dev:5972022-09-28 09:55:06.804 pm error Blink_api - BlinkChild-SyncModule driver is not loaded for SyncModule-30122

dev:5972022-09-28 09:55:06.801 pm debug Blink_api - Adding SyncModule-30122 of type SyncModule

dev:5972022-09-28 09:55:06.798 pm debug Blink_api - SyncModule List = [30122]

dev:5972022-09-28 09:55:06.795 pm trace Blink_api - State: SyncModule = [30122]

dev:5972022-09-28 09:55:06.791 pm trace Blink_api - Did not find 30122

dev:5972022-09-28 09:55:06.788 pm error Blink_api - Failure to add SyncModule-30122 and post ID=30122

dev:5972022-09-28 09:55:06.785 pm error Blink_api - BlinkChild-SyncModule driver is not loaded for SyncModule-30122

dev:5972022-09-28 09:55:06.782 pm debug Blink_api - Adding SyncModule-30122 of type SyncModule

Yup, that is causing the trouble. You do not have the Sync child driver added also. The API adds that one in (so it does not seem like it should be obvious) but it is used by stuff.

I am going to move that one to a REQUIRED child driver right now...

Thank you. That did the trick. All my cameras loaded up.

Hey @snell, odd issue here today, no matter what button I press, refresh, authorize, get homescreen, all comes back with the same error, almost like it's pointing to the wrong server or the message is not getting through.

Just checked my logs and I am getting the same error as of 4pm EST today and when I manually try to perform commands.

Blink app is working... so I will have to look into if they changed something for the API connections.

Unfortunately their app blocks normal methods of monitoring it so Wireshark equivalents for Android do not work and I do not have enough developer experience/environment to dig into it deep enough to figure such things out otherwise.

Yep, just done the old delete device and reinstall and the same 502 error. Thought it might be something on my end but I fear they have changed something.

I am trying to be hopeful it is a glitch on their end that will be sorted out... When I manually try stuff on my end going to the server address I know, the server responds initially. But any deeper information is failing with that 502. If this IS a change it is too soon for the the other couple API projects I know of out there also as there is nothing new on any of them.

In the meantime I am still trying what I can... although I will have to pause soon whether I find something or not. Normal family life getting in the way of Hubitat. :grin:

EDIT:
Little further examination of the response behind the scenes... It appears to be referencing an error from cloudfront. When I combine that with the 502 message most of the information online appears geared around there being an SSL misconfiguration between the originating server and the cloudfront services that are used to help distribute it. So MAYBE there really is an error on their end that will be resolved? At this point I think I should "wait and see" a touch.

3 Likes

I hear ya, lol. I think I jumped the gun assuming something happened on my end. Since I tried deleting and reinstalling the device all the Auth is gone so now no access whatsoever, maybe I should have waited. No biggie, I am sure it's nothing too major, after all the app is still working from the phone. The was a new feature rolled out though, something to do with accessing a snapshot on android and ios devices. That was only last week.

The piece I saw when looking at stuff was an odd disconnect and reconnect of one of my sync modules from the network yesterday. My initial fear was maybe it got a firmware update to support some new server destination... except all my driver-side stuff continued fine yesterday and into today. But of course Blink (Amazon) does not publish any readme for their firmware and you cannot even find out about the version my sync has on it.

The push last week might have been related to the new pan/tilt module they added for the Mini cameras. Got one of those myself... but no indications it can be through the API. You cannot even control it unless you are using liveview. I was hoping to see if it could be set to automatically sweep, or center on a motion area when motion is detected, or similar stuff but nope (not yet at least).

Well dang! I'm glad I checked here before freaking out. I just installed a UDM Pro and thought I messed up something. I'm also getting 502 error.

Yeah... still showing up. Not thrilled by this development. It has until tomorrow afternoon to correct itself before I will start to panic. :expressionless:

Still nothing about it from any other projects. I am going to reach out and see if they have seen anything/know anything directly.