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 "{}"