Support for Bond hub

FWIW, there should be no issue running both Bond integrations (official and Dominick's) -- I was doing that for a while until the official app reached the parity I needed (I just have a very basic fan+light to manage).

I think Dominick's app is still more comprehensive at this point, but he's unfortunately left the platform so that app's not actively supported (AFAIK).

I think @bcopeland still has plans to enhance the official app, so hopefully that will happen. Otherwise, perhaps another community developer will be willing to take over Dominick's version in the future.

1 Like

I still run both. I use the built in integration for my fan + light and it works well. I use the community integration for my shades. I had to modify the driver for the community version to add the opennext and closenext capability I wanted. I asked if it could be added to the official integration but they never responded to the request, so I assume they are not interested.

1 Like

A few of us have requested this addition to the built-in app here but there's been no update so far... As you noted, the community version does work so I've just remained on that for now.

2 Likes

An update to the HE Bond integration is coming from what HE staff have said, but it requires a re-write of enough code that it's been delayed. I'm hoping we'll see it in 2,3.4 in a few months, but HE staff have a lot of balls in the air and limited staff so we'll see what they can manage. If we don't get everything desired in the first update, hopefully the new code-base will make future updates easier. :slight_smile:

Running both in the meantime to take advantage of their capabilities is a good approach, as noted.

2 Likes

That was an interesting idea and I appreciate the detail you provided. I'm still trying to dig in and learn Rule Machine so having the screenshots was helpful.

Unfortunately "stop" isn't a option, only stopPositionChange. I think I may try adding a contact sensor in the location I typically stop my shade and see if I can get that to work until they are able to add this capability natively in the app. Definitely not ideal but I think it could work.

I've added my vote, thanks for the info!

2 Likes

There is a lot of stuff kinda "hidden" in RM that can be very useful. Still waters run deep. :wink:

1 Like

Sorry if this has been asked before but I searched and couldn't find it. Can the community bond integration support multiple bridges? I know the Hubitat version can but it doesn't support the stop button with shades so not useful to me. Thanks.

You just need to run two applications, one per bridge.

1 Like

@minollo Thanks for the help. I installed through the package manager. Do I just try to install it again? I don't want to screw up my current bridge so wanted to double check before doing anything. Thanks

Never used package manager... if the application code is in your hub now - which I expect it is from what I can guess package manager does, you just need to create one more instance of the same app in the Apps page (Add User App).

1 Like

@minollo Thanks, I was able to add it as a second application. Apparently it doesn't allow you to rename the app so it appears exactly the same as the first instance which is a little confusing. So I included a bridge identifier in the name of the devices on the second bridge to make it easy to differentiate within Hubitat. Thanks again.

2 Likes

Sorry to bump an old post, but I was wondering if there has been any progress on this issue or anyone has any new ideas on how to get around it. I just installed a 6 speed fan with Bond and it's only showing up in HE as 5 speed

Dominic is no longer active in the community here, and so this (his) community Bond app is no longer supported.

Even if you were to modify the driver to accept 6 speeds, the App is going to need to translate it to the 5 speeds that HE supports and back:

Bond To HE:

	[
		10: [10: "high", 9: "high", 8: "medium-high", 7: "medium-high", 6: "medium", 5: "medium", 4: "medium-low", 3: "medium-low", 2: 1, 1: "low"],
		9: [9: "high", 8: "medium-high", 7: "medium-high", 6: "medium", 5: "medium", 4: "medium-low", 3: "medium-low", 2: "low", 1: "low"],
		8: [8: "high", 7: "medium-high", 6: "medium-high", 5: "medium", 4: "medium", 3: "medium-low", 2: "medium-low", 1: "low"],
		7: [7: "high", 6: "medium-high", 5: "medium", 4: "medium", 3: "medium-low", 2: "medium-low", 1: "low"],
		6: [6: "high", 5: "medium-high", 4: "medium", 3: "medium", 2: "medium-low", 1: "low"],
		5: [5: "high", 4: "medium-high", 3: "medium", 2: "medium-low", 1: "low"],
		4: [4: "high", 3: "medium", 2: "medium-low", 1: "low"],
		3: [3: "high", 2: "medium", 1: "low"],
		2: [2: "high", 1: "low" ]
	]

HE to Bond

	[
		10: ["high": 10, "medium-high": 8, "medium": 5, "medium-low": 3, "low": 1],
		9: ["high": 9, "medium-high": 7, ":medium": 5, "medium-low": 3, "low": 1],
		8: ["high": 8, "medium-high": 6, "medium": 4, "medium-low": 3, "low": 1],
		7: ["high": 7, "medium-high": 6, "medium": 4, "medium-low": 3, "low": 1 ],
		6: ["high": 6, "medium-high": 5, "medium": 3, "medium-low": 2, "low": 1],
		5: ["high": 5, "medium-high": 4, "medium": 3, "medium-low": 2, "low": 1],
		4: ["high": 4, "medium": 3, "medium-low": 2, "low": 1],
		3: ["high": 3, "medium": 2, "low": 1],
		2: ["high": 2, "low": 1]
	]

There is a recent thread discussing this exact issue.

This was in reference to the Built-In Bond Integration app that HE team developed. I recommend giving that a try as it does technically support 6 speed fans. As outlined in my message, you can only access speeds 2 thru 6 via Set Speed attribute in the UI or RM. They added speed 1 as “very-low” which you can access with a custom command in RM or using the increase / decrease speed attribute. See the above post for details.

I think this is related - I noticed that any shades added through the Custom Bond app (kindly created by dcmeglio who I think is no longer active?) do not show up in Sharptools. I went with this app because it adds a stop command that works to trigger the preset midpoint of my shades. For many of the rooms I have setup a virtual shade that represents all of the shades in the room and that works fine through the Sharptools connector.

But recently I wanted to add control of individual shades in a particular room. So I was wondering if there was a similar change that needed to be made to the driver to get the shades to show up by default? FYI @josh

The devices would either need to support one of the core authorizable capabilities to be selected in the main auth flow or at least support one of the generic capabilities to be authorized manually.

Im submitting the following code modifcations that add some features and fix some bugs I found with the App.

BOND_Home_Integration.groovy

Line 184

if (deviceid.key == "_" || deviceid.key == "__")

Prevents NPE in getDeviceById. My issue was caused by double underscores, so test for that too.

Line 279

def component = dev.getChildDevice(hubId + ":bond:" + deviceId)

The arg was missing hubId + and the :. Prevents DNI name collision by creating child devices that already exist.

Line 688

		if (deviceState.open == 1)
		{
			device.sendEvent(name: "switch", value: "on")
			device.sendEvent(name: "windowShade", value: "open")
            device.sendEvent(name: "position", value: 100)
		}
		else
		{
			device.sendEvent(name: "switch", value: "off")
			device.sendEvent(name: "windowShade", value: "closed")
            device.sendEvent(name: "position", value: 0)
		}

Adding the position event for open and close fixes HomeKit window shade state in the Home App. Without it, the icon always showed closed and tapping the shade button would only open a closed shade, not close an open one, as it assumed it was already closed.

A further neat UX enhancement would be to have it say "opening" and "closing" for a settable amount of time, like the virtual window shade driver does.

Line 1219

	4: ["high": 4, "medium-high": 3, "medium": 3, "medium-low": 2, "low": 1],
	3: ["high": 3, "medium-high": 2, "medium": 2, "medium-low": 2, "low": 1],
	2: ["high": 2, "medium-high": 2, "medium": 1, "medium-low": 1, "low": 1]

Map medium-high and medium-low also for 4, 3 and 2 speed fans as HomeKit (or the HE-HK integration mapping) sends these "speed" names at certain settings of the fan slider, I guess it isnt aware of max_speeds. Without this, I was getting executeAction(...SetSpeed, null) and the resultant bad argument 400 error.

Hope these edits help someone out and might be considered for inclusion in a future update. (is it even still being maintained?)

Or is a git pull request the preferred method of submitting issues like this?

Dominic (dman) is no longer an active member of the Community, so you will not likely see the changes applied to his custom app / driver, but, depending on the licensing setup, you may be able to fork the repository, or request these changes be included in the built-in version available on the HE hub.