Support for Bond hub

I’m not exactly sure how that app works. I’ve never looked at it. Do you know who makes it? I can ask what is needed to support it.

I guess I have not posted enough yet to include pictures, but here is the the text:

Settings

Name Type Value

debugOutput bool true
fans enum ["58188289","6d36b3d5","64dc70ee"]
hubIp text 192.168.10.36
hubToken text bd67cada1172dde2
refreshInterval number 30
Event Subscriptions

No Event Subscriptions are set.

Application State

Name Value

deviceList {}
fanDetails {64dc70ee=[TurnOff, StartDimmer, SetSpeed, ToggleLight, ToggleDirection, Stop, TogglePower, TurnOn, IncreaseSpeed, DecreaseSpeed, SetDirection, TurnLightOn, TurnLightOff], 58188289=[SetSpeed, ToggleLight, TurnOff, StartDimmer, ToggleDirection, Stop, TogglePower, TurnOn, IncreaseSpeed, DecreaseSpeed, SetDirection, TurnLightOn, TurnLightOff], 6d36b3d5=[TurnOff, StartDimmer, SetSpeed, ToggleLight, ToggleDirection, Stop, TogglePower, TurnOn, IncreaseSpeed, DecreaseSpeed, SetDirection, TurnLightOn, TurnLightOff]}
fanList {64dc70ee=Guest Ceiling fan, 58188289=Office Ceiling fan, 6d36b3d5=Bedroom Ceiling fan}
fanProperties {64dc70ee={bps=2948, trust_state=false, freq=303850, zero_gap=36, max_speed=6, addr=11111, _=7e154188}, 58188289={bps=3002, trust_state=false, freq=303850, zero_gap=33, max_speed=6, addr=10111, _=77376602}, 6d36b3d5={bps=3071, trust_state=false, freq=303850, zero_gap=35, max_speed=6, addr=00000, _=3a1aaf65}}
fireplaceDetails {}
fireplaceList {}
fireplaceProperties {}
genericDetails {}
genericList {}
hubId ZZDF70998
shadeDetails {}
shadeList {}
shadeProperties {}
Scheduled Jobs

Handler Next Run Time Prev Run Time Status Schedule

updateDevices 2020-08-15 8:28:00 PM PDT 2020-08-15 8:27:30 PM PDT PENDING 0/30 * * * * ? *

It's made by @stephack. I'm on the road right now I'll get you more later. Thanks very much.

Oh, just noticed @MikeSas replied with a lot of details. Do you need anything else?

The problem is, Hubitat's fan implementation supports these settings: high, medium-high, medium, medium-low, and low. So while Bond supports up to 10, Hubitat doesn't have a way to express that. So what I have to do is map the Bond supporting more to what Hubitat supports. That's why you're seeing what you're seeing. I can think of a couple options:

1.) I can add a custom command that lets you specify 1-6. The problem with that is it won't work with a lot of apps (e.g. you wouldn't be able to call that command from Alexa).
2.) Let you map the speeds yourself, so in your case you'd be able to set Medium-High to 4
3.) Hope that @bravenel consider adding more fan speed settings as part of a future enhancement to HE :slight_smile:

@danabw what MikeSas provided wasn't related your problem. What I need is for @stephack to provide information on what capability is needed for his app to work and I can add it.

1 Like

Thanks very much for the details, @dman2306. @stephack is no longer using HE, so I feel a little guilty asking him to update his app...

You may have already looked at this, but when I choose the option to set fan speed in the ABC app, it offers the following four speeds, Low, Medium-Low,Medium, and High. So the Medium-high option is missing (at least for me/using my Bond/fan combination):

image

The ABC button app works fine for me to set a fan speed directly using Low, Medium, and High. For all of my fans, in the Bond app, I only have those three speed options, Low, Medium, and High.

So since the ABC button app is showing different speeds than the fan supports, I'm not sure if that's because the Bond integration is sending more speed options to the ABC app than the fan supports, or if the ABC app just has a fixed number of fan speed settings and provides those options to every fan. I'll post that question on the ABC button app thread and see what I can find out.

Below is what I see on the ABC App main screen when I hit the gear icon...not much useful there. :wink:

### Advanced Button ControllerUser Created App

##### Settings

No Settings are set.

##### Event Subscriptions

No Event Subscriptions are set.

##### Application State

Name Value

|||
| --- | --- |
|abcInstalled|true|

##### Scheduled Jobs

No Scheduled Jobs are set.

While they are at it please add the Shade stop function too.

https://community.hubitat.com/t/feature-request-shade-stop-capability-for-dashboard-tile

@danabw @dman2306
The ABC app was written to correspond to the fans speeds available to the Fan capability at the time it was built. I don't believe they have made any changes but I am willing to update the app if @bravenel, @mike.maxwell and team updates the capability. My app is designed to confirm to the HE capabilities (otherwise it would be almost impossible to support all the custom driver variations).

The cycle command simply checks the current speed and cycles up one speed..unless the speed is high, in which case it loops back around. If the fan capability has already been updated and I missed that, please let me know.

This is the current capability documentation:

The problem with this is that it is a double edge sword. That makes no sense for fans with 3 speeds, for example -- neither does our current list of speeds. You'd need something like an attribute "avaliableFanSpeeds" that a driver could set, and an app could query. I don't know how, if it all, that would work with Alexa. I'm not happy with the current approach either, because it sure is not "one size fits all".

That could well be out of date. I will look into it....

1 Like

Yeah. I was thinking something like how you have supportedFanModes for thermostats. Honestly I never knew there were fans with so many speeds. I’ve always had 3 speed fans. I couldn’t even think of words to describe all 10 settings!

So based on what @stephack said it should work fine. If it works to change the fan speed when you go to the fan device, it should work in ABC as well. All he is doing is cycling through the speeds and calling setSpeed for you.

Thanks, @stephack, @bravenel, and @dman2306.

I'll try a couple more fans, I think we have three different brands/models in our home, and see if the Cycle command works w/them. So far it does not appear to work w/one Hunter fan that we have...

I had the same results w/each fan, Cycle command isn't working for me.

Try turning on debug logging in the bond app. It will show what command it is receiving from ABC and what it sends to bond.

1 Like

There was a FW update for the Bond available, so I took that, updated version is 2.11.14. (I had been on 2.10.21.) Tried again on the fan and it still works the same as far as I can tell, it will push to high speed on the first or second use of the Cycle command, and then goes to Low speed and won't change speeds again. Logs below from the Bond app. Let me know what else you need, or would like me to try.

There is an error on line 4, and line 11 below.

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:19:00.587 pm [debug](http://192.168.20.2/installedapp/configure/71)0000008b -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:19:00.482 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:19:00.434 pm [debug](http://192.168.20.2/installedapp/configure/71)00000078 -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:39.073 pm [error](http://192.168.20.2/installedapp/configure/71)executeAction: 400 - [_error_id:7, _error_msg:bad argument]

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:39.055 pm [debug](http://192.168.20.2/installedapp/configure/71)calling action SetSpeed {"argument": null}

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:39.054 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> Translating medium-low:3 to BOND null

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:39.049 pm [debug](http://192.168.20.2/installedapp/configure/71)Handling Fan Speed event for 00000003

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:30.317 pm [debug](http://192.168.20.2/installedapp/configure/71)0000008b -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:30.214 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:30.171 pm [debug](http://192.168.20.2/installedapp/configure/71)00000078 -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:29.855 pm [error](http://192.168.20.2/installedapp/configure/71)executeAction: 400 - [_error_id:7, _error_msg:bad argument]

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:29.835 pm [debug](http://192.168.20.2/installedapp/configure/71)calling action SetSpeed {"argument": null}

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:29.833 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> Translating medium-low:3 to BOND null

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:29.828 pm [debug](http://192.168.20.2/installedapp/configure/71)Handling Fan Speed event for 00000003

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:00.412 pm [debug](http://192.168.20.2/installedapp/configure/71)0000008b -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:00.290 pm [debug](http://192.168.20.2/installedapp/configure/71)calling action SetSpeed {"argument": 1}

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:00.288 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> Translating low:3 to BOND 1

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:00.278 pm [debug](http://192.168.20.2/installedapp/configure/71)Handling Fan Speed event for 00000003

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:18:00.202 pm [debug](http://192.168.20.2/installedapp/configure/71)00000078 -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:31.643 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> calling action TurnOff

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:31.642 pm [debug](http://192.168.20.2/installedapp/configure/71)Handling Off event for 00000003

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:31.641 pm [debug](http://192.168.20.2/installedapp/configure/71)Handling Fan Speed event for 00000003

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:30.366 pm [debug](http://192.168.20.2/installedapp/configure/71)0000008b -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:30.255 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> Translating 3:3 to HE high

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:30.214 pm [debug](http://192.168.20.2/installedapp/configure/71)00000078 -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:22.027 pm [debug](http://192.168.20.2/installedapp/configure/71)calling action SetSpeed {"argument": 3}

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:22.025 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> Translating high:3 to BOND 3

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:22.020 pm [debug](http://192.168.20.2/installedapp/configure/71)Handling Fan Speed event for 00000003

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:00.283 pm [debug](http://192.168.20.2/installedapp/configure/71)0000008b -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:00.191 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> Translating 2:3 to HE medium

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:17:00.148 pm [debug](http://192.168.20.2/installedapp/configure/71)00000078 -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:16:30.323 pm [debug](http://192.168.20.2/installedapp/configure/71)0000008b -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:16:30.237 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> Translating 2:3 to HE medium

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:16:30.191 pm [debug](http://192.168.20.2/installedapp/configure/71)00000078 -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:16:01.427 pm [debug](http://192.168.20.2/installedapp/configure/71)0000008b -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:16:01.346 pm [debug](http://192.168.20.2/installedapp/configure/71)0000008b -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:16:01.328 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> Translating 2:3 to HE medium

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:16:01.275 pm [debug](http://192.168.20.2/installedapp/configure/71)00000078 -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:16:01.190 pm [debug](http://192.168.20.2/installedapp/configure/71)00000003 -> Translating 2:3 to HE medium

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:16:01.123 pm [debug](http://192.168.20.2/installedapp/configure/71)0000008b -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:16:01.095 pm [debug](http://192.168.20.2/installedapp/configure/71)00000078 -> Translating 1:3 to HE low

[app:71](http://192.168.20.2/logs/past#app71)2020-08-16 07:15:59.987 pm [error](http://192.168.20.2/installedapp/configure/71)getState: connection to BOND hub appears to be down. Check if the IP is correct.

Could you paste that as a screenshot? It’s a lot easier to read

Sorry - here. This is w/the fan running at medium, start sending the cycle command using the ABC button app.

First Cycle command: Fan changes to High speed
Second cycle command: Fan turns off
Third: Fan set to Low
Fourth, Fith, and all after: Nothing happens, error in log.

So maybe it starts failing when sending the Medium-Low cycle command?


image

If it is not too much trouble, I think #2 would be a great solution for me until @bravenel implements and alternative approach for fans in general.

I am not sure why they have 6 speeds either. We inherited the fans with the house which we just purchased. I was just glad to find Bond Home and your integration to Hubitat. Next up on my todo list is to replace the supplied remotes with Pico Remotes mounted to the wall so we will only lose state when there is a power loss (or at least that is what I am hoping for). The fans themselves are actually really nice and I hate to have to replace them. Thanks again!

I can see a note added in the manifest file stating support for Smart with Bond fans, but see no instructions on how to configure. I have 5 wifi Smart with Bond fans, but do not have a Bond Home Hub. Does anyone have this working?

1 Like

You configure it exactly the same way. Just specify the ip of the smart by bond instead of the hub.

Is it supposed to be possible to have two copies of this app loaded with each connecting to a separate Bond Bridge?

I am getting the following error when adding the second Bond Bridge:
Error: No signature of method: org.apache.http.conn.HttpHostConnectException.getResponse() is applicable for argument types: () values: [] Possible solutions: getMessage()