Bond Home (bondhome.io)

Has anybody wrote a binding for the Bond device (bondhome.io) that controls fans, fireplaces, etc. via IR?

The mobile app says it’s written on top of Eclipse POHO framework.

LMK?

Best, Jay

1 Like

This isn’t a reason not to pursue a binding for this product - but having had a quick look at the product and price I struggle to see why one would go for this over something like the Logitech Harmony Hub.

Or one of these:

With

I just purchased the Bond device this week. One nice thing about the Bond is that it works with RF remotes. So devices like remote fans and fireplaces work seamlessly. They promise future support for garage doors and other devices that rely on RF remotes instead of IR.

Bond is the only one that will work at 350MHz for Hunter ceiling fans. I have one and it works great. I can control all the ceiling fans in my house through Alexa, but I would love to be able to control it from Openhab2 as well.

2 Likes

Does it have an API?

http://docs-local.appbond.com

Best, Jay

One thing that’s disappointing from the start…

State feedback is not implemented

Seems like you could get control through the http or execute (with curl) bindings… this is their example for setting the fan speed.

http://192.100.0.61/v2/devices/79135791/actions/SetSpeed -X PUT -d '{"argument": 3}'

Squid

I’ve been using Alexa Routines to execute the commands for Bond (Fans are Smart Devices in Alexa) for the past year now.

The native app for Bond does have a state feature they implemented about 6 months ago; guess they didn’t implement it in the API yet.

I’ve even wrote them about OH many months ago for an integration piece; they sent a canned response saying they will investigate it.

Best, Jay

State feedback works for all Bond devices over the V2 API. The one gatcha is, with Bond Bridge, the state may be wrong if you use the factory remote (since the Bridge doesn’t know you changed the speed/light). — Smart by Bond fans don’t have that problem, as the remote is tied into the Bond chip in the fan.

Hi Bond,

Do you have an OpenHAB binding for us to try?

Best, Jay

I just received Bond’s email newsletter for their API and links to competitors of OH via gitHub interfaces.


We believe that smart homes should be simple, reliable, and affordable. But a truly smart home is a home where everything is connected and works together seamlessly. With this in mind, we just launched a local OpenAPI enable developers to easily create and share integrations with other platforms.

It takes a village! We’re inviting you to be part of it.

We could not have achieved this goal without the help and input from our Forum Community, so we’d like to take this moment to thank our communiy and Beta testers. If you haven’t yet joined this team, and are curious about what the future holds for smart homes this is a must. Check out the discussions here: https://forum.bondhome.io/

Our new OpenAPI drivers allow anyone with basic coding skills to develop custom solutions and functionality for integrating local Wi-Fi with home automation systems. Here are a few examples of what has already been developed:

Bond integration for Control 4 - ceiling fans, motorized shades, & fireplaces **URC support coming soon

Bond Integration for ELAN - ceiling fans and motorized shades

Bond Integration for Hubitat. This currently supports both fireplaces and fans. https://github.com/dcmeglio/hubitat-bond

Bond Plug-in for Homebridge . This makes Bond available in HomeKit https://github.com/aarons22/homebridge-bond

Looks like the easiest out-of-the-box integration would be to set up your Bond bridge to talk to a custom MQTT broker, and then use the pre-existing MQTT Binding.

I’m in the process of trying this myself and will report back here if/when I get it working.

UPDATE: I asked on the BondHome forums about the MQTT binding and unfortunately it is very poorly documented at the moment, so it looks like this is not an easy path to integration

I ended up having Alexa discover the Bond devices and then use Alexa routines via OH to control it the devices.

Best, Jay

I seen this post last year, and meant to mess around and look into a binding, but things happened, long story short, OH/Zwave network destroyed in an update with no backups, finally got around to rebuilding it. Also, my Bond version was one of the originals, so it wasn’t as straight forward to update it to a beta.

Today I found some time and updated my Bond to firmware 2.x, then tested out the v2 API from Bond, looks fairly straight forward. Following instructions from http://docs-local.appbond.com/#section/Getting-Started/Finding-the-Bond-IP, I was able to control my Bond devices, and it worked well. I’m not experienced with writing bindings, but have wanted to look into it, maybe this is good kickstart.

#You can search for all Bonds on your local network. On Linux, do:
avahi-browse -a | grep bond

#And on MacOS, do:
dns-sd -B _bond._tcp .

#get bond version
curl -i http://<IP>/v2/sys/version

#get bond token (to get token, you need to power cycle bond)
curl -i http://<IP>/v2/token

#get devices, this would be to get a list of things in OH
#devices can be of types
##CF : Ceiling Fan
##FP : Fireplace
##MS : Motorized Shades
##GX : Generic device
curl -H "BOND-Token: <token>" -i http://<ip>/v2/devices

#get info on device, this would get a list of channels in for each device in OH
curl -H "BOND-Token: <token>" -i http://<ip>/v2/devices/<device id>

These would be the actions associated with items in OH

#send action with arguments (below is setting the speed of a device)
curl -H "BOND-Token: <token>" -i http://<ip>/v2/devices/<device id>/actions/SetSpeed -X PUT -d "{\"argument\": 1}"

#send action with no arguments (below is turning off a device)
curl -H "BOND-Token: <token>" -i http://<ip>/v2/devices/<device id>/actions/TogglePower -X PUT -d "{}"

2 Likes

I’ve been trying to command my bond with the http binding with zero success (although the comdmands work perfectly with PostMan). Have you tried the http binding or has the sysexec binding been what you’ve used?

I created a custom utility to surface Bond Home devices via MQTT here: https://github.com/ssmall/bondhome-mqtt

I thought it would be easier to use the existing MQTT bindings instead of having to invent a new binding specifically for Bond Home.

Use at your own risk! I’ve been using it for a short time in my local setup but I don’t have a lot of devices connected, so it may not work for everything. I’m happy to accept pull requests if anybody else is interested in contributing. I will continue to add features and fix bugs as I connect more devices and evolve my own personal OpenHAB installation.

I’ve also starting work on a binding here: https://github.com/SRGDamia1/openhab2-addons/tree/bondhome/bundles/org.openhab.binding.bondhome

Alright, I think I have something working. Here’s the jar: https://drive.google.com/open?id=1UuGl9diqNDLfcBShs2N47Nk7oskIUIpL

It should be able to discover and control any type of device, but it’s only tested on the fans and “generic” devices I have. You do have to set up everything with the Bond app first. It’s using the local HTTP api for discovery and periodic low-frequency polling and the BPUP protocol for immediate events.

Feedback is appreciated!

3 Likes

I had some time available this weekend so I thought I would try adding this binding to my OpenHAB setup here. I had some initial trouble sorting out how to configure the binding because initially it was not available to configure via either PaperUI or HABmin, it simply was not in the list of bindings available for configuring.

I then tried configuring the binding with a text configuration file. I looked at the source for the binding and found the configuration item IDs there, so I tried the following:

Thing	bondhome:bondBridge:bondhub	[ipAddress="192.168.1.212", localToken="xxxxxxxxxxxxxxxx", bondId="BH12345"]

That at least got things started, but still no joy. It seems the binding can’t be configured with a text configuration file, although it did get the localToken and bondId values. It seems it attempted to save the IP address, but as that can’t be saved when using text configuration, it failed.

I then deleted the text config file and restarted OH. The configuration setup for the bondBridge now appeared in PaperUI, where I set the localToken, bondId and ipAddress. Next, I used HABmin to discover new bondhome Things. All of my bond-connected shades and fans were discovered, but the shades, which I am most interested in operating through OH, don’t provide any appropriate channels for shade control, all channels provided are fan control channels.


The firmware version installed on my Bond hub is v2.10.21.

I suppose since you don’t have any shades connected to your Bond hub, I’ll have t sort this out from here, but any ideas you may have would be much appreciated.

Thanks!

1 Like