Support for Bond hub

Hello everyone, first post. I just ordered a Hubitat; should be here today or tomorrow. I think I want to start my HA journey with some stuff for the bedroom (because I think that's what my wife would approve of the most). I already have a basic routine setup so she can say "okay Googe, it's nap time" when it's time for our toddler to take a nap. It basically just lowers the AC temp for 2 hours and then resumes it's normal schedule, so nothing fancy.

But I want it to completely get the room ready; Adjust the lights, turn on the fan, turn on the white noise machine, etc. So I'm looking at a Bond Hub, which would let me control my living room and bedroom fans. Both fans are Hamilton Bay (I think) and controlled entirely with an RF remote.

Will this work with Hubitat? I can't wait to get my unit in and start playing around with it.

Bond will not work with Hubitat and I haven't found any community drivers/apps for it. I haven't found any smartthings device handlers either for it.

Like the post about states, you can use IFTTT to integrate it though. Not ideal but an option nonetheless. Seems like the smartthings community also uses IFTTT for their BOND.

Seems like the BOND team is open to an integration though!

If you're looking for a way to control your fan there are a few options that you have. If you're in the US, there is the Hampton Bay zigbee fan controller that does lights and fan speed. There's also the Lutron fan speed switch. If you're outside the US there is the Sonoff Fan2 wifi controller which can be flashed with Tasmota. And there's always the GE fan speed controller in Z-wave.

1 Like

See thread below. This is definitely being looked at albeit slowly. It would be good though if someone had the know-how to develop a local API Hubitat driver to work with it.

1 Like

Hey folks, if you happen to have the v2 firmware of BOND I have created device drivers and an app that integrates the fans and fireplaces features. I only have a fireplace so the fan support is completely untested. I'd definitely consider this a beta but I've been using it to control my fireplace for a few months now. Feel free to give it a try if you have the v2 beta firmware (the BOND team is pretty open to beta testers!) and especially if you have a fan let me know how it goes (or submit a pull request for some fixes!)

@jchurch @helene7t7 @waterboysh


We are definitely open to more beta testers! But Bond V2 firmware that exposes the local API is also publicly available through our V2 app ("Bond Home" in the app/play store)

Howdy @dman2306

Thank you for sharing this! As a Hubitat user who also happens to have two ceiling fans being controlled with Bond (using the v2 beta app/firmware) I'm definitely interested in getting away from IFTTT and using a more direct integration!

So I decided to take the plunge and grabbed your code from GitHub, making sure to install the app and all device drivers.

(See the screenshots sequence below...)

I created an instance of the Bond Home Integration app and was able to get past the first screen where I provide the IP address and token ID for my Bond Bridge. On the second screen I ran into my first issue. The screen only shows one of two fans. I selected the one that was shown on the list ("Master Room Fan") and clicked Next. On the next screen I received an error message. I also checked the logs and captured the error that was shown there.

I do have a programming background but I'm many years removed from doing it on a professional basis! Anyway I'm not too familiar with Groovy but I got curious and did a little poking around at the app code and think I found a bug in one section -- showing references to "fireplace" where I think it should be "fan".

Anyway, I just thought I'd provide this info. I'm definitely willing to be the "guinea pig" and continue testing this Hubitat integration for Bond devices in general (and ceiling fans specifically). I will be glad to continue providing feedback as needed.

Cheers, Matt


1 Like

I think I fixed the bug you found in the code, as well as that NullPointerException. I'm not sure why it only detected one of your fans. I added a debug log line that if you delete the app, update the code, run the app again while looking at the logs we can see what devices the hub returns.

Thanks for the quick reply! I loaded the revised app code but received an error while saving the code on line 125 -- an extraneous bracket ] that I removed. I was able to save the app code after that. I created a new instance of the app and no errors this time. I was able to add one ceiling fan (yeah it's strange why the second one, "Office Fan", doesn't show up on the Fans selection list). Will test all this later this evening or tomorrow AM and reply back but family obligations beckon now...

Sounds good. I'm happy to work through it with you. If you can grab the logs from when you added the one ceiling fan it will show me whether bond is returning the other fan in some odd way. I do recall seeing on the bond forums some talk that some devices are "cloud fans" and don't show up via the api... maybe @bond-jacob can shed some light?

This is true, we're pushing to get all devices offline and controllable locally. However, Matt and I were in communication earlier today about just this question, and right now, all of Matt's devices are "local". Let me take a quick look at the repo and see if anything stands out.

Have you already tested with multiple fireplace devices? It's working as expected there?

That's a great point, I just added a second fake fireplace to test with and it's not working. I'll play around right now, I probably just have a bad loop or something.

EDIT: Turns out when there is no loop, it doesn't loop :slight_smile:

Should properly detect multiple devices, it turned out to be a stupid mistake. I hadn't though of creating multiple bond devices for testing since I only have 1 actual device, but that helped.

1 Like

Awesome! I grabbed your latest app code and it fixed the multiple devices issue. I now have both ceiling fans accessible for the first time in Hubitat! So far so good!

Below are a couple screenshots showing "Office Fan" in Hubitat. I can turn the fan on/off and fan light on/off.

Next item of inquiry is fan speed adjustments. Regarding the Bond Fan device driver I'm curious whether or not there should be a fan speed attribute showing on the device page, similar to other fan device types (GE fan control, Lutron fan control, etc.) My ceiling fans have 3 speed settings - low/medium/high -- which I can control from within the Bond app.

The joy of not being able to test! Grab the latest Bond fan driver and it should work now. No need to reinstall anything, just replace the driver code.

Just a note for others, the app currently only supports 3 speed fans. I haven't yet found out if bond lets me find out how many speeds a fan supports

The devices/{id}/properties endpoint has a max_speed field that we use for this purpose in other integrations.

(It's really just an alias for iterating over everything in devices/{id}/commands and choosing the SetSpeed with the highest argument.)


The fan speed attribute is now showing on the device screens for the Bond fans, however selecting different speeds doesn't adjust the actual speed as expected.

See the log entries created when trying to change speed....

added a bit more debug logging if you can replace the app code

I made sure I have the latest code updates (stuff you updated in the last hour). The only log entries that show when adjusting fan speed are the ones shown in my previous post, which from the BOND Home Integration app.

Sorry! I didn't click the button to upload to github, can you try again?