[PROJECT] Driver for Blink API

That makes sense then. The ACTIVE thing is something of a guess since Blink does not have an official API and has never published any information. Everything out there is just what people think we have figured out from how it responds... at least until they change something and previously-working stuff breaks until someone figures out what the change was and how to get it working again (as has happened multiple times).

All good.
I can just pause the piston then, Everything has worked fine it's just twice a year :wink: I wonder why the cameras aren't working and I find the re-auth failed and I don't get a notification.
FWP :slight_smile:

I would like to trigger events based on a low battery status. According to what I read above the Battery Status can be either OK or a number. I am only seeing OKs in my cameras. I can test for changed and wait to see what happens. But does anyone have more information on what the various reported Battery Statuses are and what does it report when it is not OK? Thanks.

Each child device should have a "battery" Current State. That is the numerical value you would want to work from. "Battery Status" is reported as is directly from the API, so it can be whatever THAT says. But the "battery" value is calculated one of two ways:

  1. If the API reports "battery" data (either "ok" or not) it will put 75% for "ok" and 0% for the not ok values.
  2. If the API reports the "battery_voltage" data it will calculate the % based on placeholder estimates of what are reasonable values for the battery (from 131 to >180, with 130 or less being put as 0% because the battery should be replaced).

Child devices can also list the value "Battery Voltage" as a Current State, which you could also use for devices it is reported on.

Hello,
I discovered this driver and thought I would give it a try. Looks interesting. I installed as directed in the first post. But I may have hit the "Get Camera live view" twice. Everything seems to be working fine but I noticed I have two devices. The device I created (Blink virtual) and also a Blink API Device. The reason I ask if this is an issue is I started to see the following non stop errors which point to the BlinkAPI device. Suggestions on how to clean up this error? Apologies in advance if this has been covered before. I didn't see this error in the post. Thanks all in advance.

2024-10-21 03:50:19.696 PMerrorjava.lang.NullPointerException: Cannot get property 'label' on null object on line 3107 (method ProcessHomescreen)
dev:12682024-10-21 03:50:19.682 PMerror BlinkAPI - Failure to add Network-599342 and post Name=Jeffs house
dev:12682024-10-21 03:50:19.680 PMerror BlinkAPI - addChild Error, likely Network-599342 child already exists: java.lang.IllegalArgumentException: A device with the same device network ID exists, Please use a different DNI

I do not think Get Camera Live View would cause it to create two... but devices are generated when Homescreen data is received "ProcessHomescreen".

What I would recommend is deleting the child devices, particularly any of the Network-XXXXXX variety. Child devices will be recreated the next time a refresh is performed anyways, if they do not already exist. This seems to be getting confused about one already existing, which should not happen... so I am not sure how it did.

If deleting them and letting them recreate does not work...

  1. Go to the Blink parent device's page and set the Enable Logging to Trace and the Refresh Rate to Manual and Save Preferences. That way it will not automatically be running and giving you the errors until we can figure out what happened (or some other workaround).
  2. Open a separate tab in your browser with the Hubitat's Logs and make sure Live Logs is selected.
  3. Go back to the parent Blink device's page and run the "Get Homescreen" command.
  4. Send me a copy of the Trace logs it captured after you ran the Get Homescreen by a message (or you can message me for an email address or other method). DO NOT post the logs here in the thread.

The "worst case" method is just to remove the parent device (which will delete the children also) and "start over" with it. But hopefully that will not be necessary.

Thank you @snell for getting back to me. Sorry for the late reply, I was occupied with a family issue. I was able to get rid of the messages by deleting the child devices. Much appreciated.

1 Like

I am new to this driver set, the goal here is to use a blink video doorbell as a dedicated "porch motion detector", to ring the door bell (via a Tasomta relay) when motion is detected, as delivery people simply do not ring the doorbell to announce a delivery.

I have a working and powered by AC doorbell from the point of view of the blink app, and the set-up on Huibitat was straightforward, but I am not getting any motion detection events despite Enabling and Arming the Blink device. What I do get seems to indicate that I have screwed something up:

java.lang.NullPointerException: Cannot invoke method indexOf() on null object on line 2945 (method ProcessVideoEvents)

I have enabled trace logging, and done a "Get Homescreen", saving that trace log, but I have no idea what I am looking at.

The installed driver list is:

BlinkAP
BlinkChild
BlinkChild-Camera
BlinkChild-Doorbell
BlinkChild-Network
BlinkChild-SyncModule

I've gotten pretty good motion alerts using the Alexa interface and a virtual motion device.

1 Like

Consider getting a dog :wink:

My cat starts growling the minute a delivery truck stops, and goes into attack mode when they step into the porch (had to reinforce the screen to keep him from going through it in warmer weather). Kind of funny when I get a sub mail carrier and he greats them.:rofl:

1 Like

Kidding aside, you won’t get reliable motion events with this driver set as it relies on polling. I use this as well:

1 Like

Thanks, I will look at this. I don't mind polling every 15 secs, as this is not a big load on the hubitat system.

@thebearmay Can you please explain what you mean with "Alexa interface"?

Thanks

I have tried Blink motion straight and IFTTT but it is very unreliable; I don't use Alexa so no comment there.
I just installed a Hue Outdoor motion and that give me reliable front door sensing.

It involves installing the Alexa app on your phone and the Amazon Echo Skill app on your Hubitat hub.

In HE, you would create a virtual switch and make it available to Alexa using the Amazon Echo Skill app. In Alexa, you would link your Blink devices, which will then enable you to create a routine that triggers on camera motion and sets the switch.

You can then use the switch events in HE for whatever automation. You may configure the virtual switch to auto-off so that only "on" events have meaning.

1 Like

Thanks for the description. But I don't need any Amazon Echo devices to set this up, right?

correct

1 Like

Is there a writeup on any of this anywhere? Don't want to pepper you with questions, but I am assuming I will not be able to accomplish any of this first time out of box.

I wish I could, but our traveling would make for a very lonely dog, or a very anxious one. Dogs do not do well on airplanes, nor left alone for weeks at a time.