[PROJECT] Driver for Blink API

Maybe just one more remark on the Celsius temperature: the decimals are always the same, ie x.11, x.22, x.33, x.44 etc. Probably how the camera's report them. Can it be rounded off to maybe one decimal?

Sure. They report in whole numbers it appears. The two decimal places are because the conversion is from my weather API drivers and most of those report a decimal place and the request was 2 decimals.

I will try to remember for the next version.

Thanks for this driver it is working great, nice job, but I have one issue still...

When I arm the Network using the driver each camera shows as 'Armed: true' but the 'Arm string still shows a 'disarmed' ie....
image

Is it possible to change the Arm String state to 'Armed' whenever the armed state changes?

I use the Arm string on some dashboards and having it available as a string with the correct description would help alot.

Thanks again
Ian

Darn things have too many methods to do/say the same thing. :smile:

Updated Version(s):

  • BlinkAPI.groovy = 0.2.6

Change(s):

  • Arm String is now populated in the Process Devices section when Armed data is received. So if a Network is Armed not only will it set the Armed state for all the cameras (or MiniCameras as the case may be) it will also set the Arm String. If data is received for the API's arm_string field this could override it of course but that does not get rippled across Cameras like the main one does for Networks.
1 Like

How did you get the icon layouts horizontal like that?

This thread explains it: [Dashboard CSS] Tabular layout for battery tiles - Developers / Code Share - Hubitat

Awesome, thanks!

1 Like

So, finally got me some time to install this much anticipated driver.

Had to reset my password to trigger the PIN verification, but no biggie.

Initial reactions:
I have a smallish system with 2 sync modules for arming inside/outside perimeters.
Outside Synk module is mostly used when home/armed
Inside is used when no-one is home

Observation: the sync modules in the Blink app are named "Home Outside" and "Home Inside" respectively, but the names aren't picked up it seems? They show as 2 X "My Blink Module" (names for the camera modules are indeed picked up: nice!)

Question 1: how is the function of arming disarming different sync modules in my scenario thought to work? An example would be great

Question 2: The child device "Network-Armed=False" (see attached pic), what does this do?
An all inclusive child device to show all sync modules current state?

Slight off topic queastion. I'm moving over from ST and Amazon blocked us over a year ago so all Blink integration died. Grrrrr. Looking forward to getting my pistons running my cameras again.
How is it that Hubitat still has access and will this eventually be blocked when Mr. Bezos looks at the logs?

I have no idea when/if Amazon might block it. Nothing special is being done and I am trying hard not to "bash" their servers, but I am not attempting to hide anything either. This is purely a community driver I wrote for Hubitat. In theory this could be used without major changes on a SmartThings hub (to my understanding of the driver structures).

@mario.fuchs:
Variety of things here so I will try to answer them in order.
Observation: The sync modules do not get separate names. The name you set in the app are the what shows up for the Network. The API does not return names for the sync modules and really they are almost useless from the driver perspective. All the functions people might actually want to do are from the Networks.

  1. You do not get to even Arm sync modules directly. What they really do (even from the Child device) is tell the Network that they are a part of to Arm. That is the way the API works, I have no control over it.
  2. The child device "Network-Armed=False" is a bug you have just alerted me to. I think it must have been added when I made changes in the last build to get the Arm string showing up. I have a fix already posted (below). It can be removed without causing any problems at all (it is "fake").

ALL:
Updated Version(s):

  • BlinkAPI.groovy = 0.2.7

Change(s):

  • Fixed a bug where Network-Armed=false or Network-Armed=true could show up as a child device that was introduced in 0.2.6. These children can be removed without any worries at all (just like the normal ones) and if you have 0.2.7 (or later) should never show up again.

Different Topic(s)

  • Just as a note/reminder for everyone. You can remove any and all children devices from the Blink parent at any time and it will not cause the parent any troubles at all (but obviously could affect any rules/dashboard items you have set up using that specific child). The next time a poll (or manual command) is made that has data for the deleted child it will be recreated.
  • This automatic creation of children also applies to if you add new cameras to your account or entire new sets (sync module + cameras). The API is providing data for the entire account so new devices will be created as soon as the API provides information about them. This does lead to the oddity that devices you have purchased and Amazon automatically added to your account CAN show up in the data even though they have not been connected yet.
1 Like

It is easier to block ST because the address range of the ST cloud is a known factor, since Hubitat runs local the IP address is not in a defined range that can be blocked (unless he blocks the internet completely).

3 Likes

Thanks for the insight on how Blink is blocking ST.
Another nail in the coffin for ST; I have asked Santa for an HE this year :slight_smile:

RBoy had a great Blink app that was HEAVILY used on ST. Many people at the time had the Blink app set to poll very frequently and it caused a server outage or two for Blink. The app was modified to have the minimum refresh set to a longer time, but people changed it and kept hitting the Blink servers. So eventually they cut it off.

RBoy is also a set of paid stuff isn't it? They might have gotten more perturbed because of that also.

1 Like

Yes, it was. It exposed each camera as a motion device, among other things.

Yeah, I have not found any data in the API yet that shows if the camera is currently detecting motion. That is why it is still a caveat for the driver. OBVIOUSLY there is some event or something it shoots out when it sees motion... or else there would not be notifications for it. So I want to find some way to receive or read it. That and being able to actually save/display a thumbnail are my two biggest (and vastly annoying) stumbling blocks with this driver so far.

3 Likes

I suspect they pulled it.

Looks like the only RBoy Blink drivers use IFTTT -- SmartThings/devicetypes/rboy at master · RBoyApps/SmartThings · GitHub

There is this also GitHub - MattTW/BlinkMonitorProtocol: Unofficial documentation for the Blink Wire-Free HD Home Monitoring & Alert System

Yes, the MattTW is the basis for much of what I have done. I have it right in the thank you's even because it was crucial for much of the start.

1 Like