[PROJECT] Driver for Blink API

What is there SHOULD be the actual link needed. I tested it a couple years back on a past computer I had put some RTSP software on... although I do not have any running anymore.

Yeah one of the things Hubitat really needs to work on is the dashboard. It is the most annoying and un-useable part of the system, they really need to fix it.

Oh, come on. It is definitely usable as the Show Off Your Dashboards thread clearly demonstrates. If there is something specific that needs to be "fixed" you should file a bug report.

It could use richer functionality and more attention to being user friendly, It is not nearly what it could or should be, and on that we agree.

The RTSP thing is not a dashboard issue per-se. Yes, there is not a specific tile template to handle them but there are no normal web browsers out there that could display the feed. So even if they did make a tile for it pretty much every user would say it was "broken" because they would not know the browser is actually lacking.

Getting images on it COULD be improved (and I have submitted a feature request for it) to allow for the parameters of the image tile (or an advanced one) to be able to send header information as well. Then the tile could query the external server AND include whatever authentication token or such that the server/API requires to provide that image. Would it solve the case with the Blink one? Not sure... but it would not hurt and it would make OTHER things I work with better.

Got a question about my setup (which AFAIK has been working fine):

After the latest driver update, @jpage4500 's Hubitat Dashboard for Android will only detect my camera devices as Blink cameras if I change the camera device type to use the BlinkChild 0.2.2 driver. If the BlinkChild-Camera driver v. 0.1.2 is used, the app doesn't detect the device as a Blink camera (however it does detect it when using BlinkChild-Camera v 0.1.1).

I'd applied the most recent update via HPM. Not sure if my original installation was flawed somehow or what the ramifications are of using the BlinkChild vs. BlinkChild-Camera driver for the camera device type.

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.