[Deprecated] Hampton Bay Zigbee Fan Controller Driver (with Component Devices)

Makes sense...I'll have to adjust my BC app to work this way. Cycle Up/Cycle Down.

1 Like

@stephack is correct. That is what "auto" is.

I guess to emulate the remote cycle (wrap around) you'd have check if a decrease was pressed and the current value is already 0, then set it to 100. And if an increase was pressed and the current value is already 100, set it to 0.

Yep, that's pretty much how it setup now with fanSpeeds...I just had the logic included in my driver so it could be used by any app with a simple cycle() command. I'll need to add the logic to the BC app now.

Maybe this is something @mike.maxwell would consider adding to the fanControl capability for simpler app tie-ins.

Not a big deal in any case and I like the new features. Enough to remove the need for my custom driver.

Please don't make any extraordinary efforts on my behalf. Having Alexa to control speed is really adequate for my needs. I was messing around with a Pico remote, had an extra button, and thought it would be nice to be able to cycle through the fan speeds. It works well, however we rarely use it in practice.

Great to have this fan controller so well supported natively!

2 Likes

The Fan Capability is the same for all devices. I believe if you query the possible capability values, is will return an enum of [on, off, low, medium-low, medium, medium-high, high, auto], but you can pass whatever value you want into the method. It's up to how the setSpeed() method is implemented to convert these values to actionable commands based on the device.

1 Like

Alexa as well as most other methods of control have hard set "increase" and "decrease" values of +-25

So saying "Alexa increase the [device] level/brightness/percentage" will add 25 to the current value, and obviously stop at 100. The opposite with decrease, ending with turning the device off... (I believe) :wink:

1 Like

Then a very simple way to implement 'fan speed cycling' would be to add to that enum list a new value called 'cycle' that setLevel() just handles. :wink:

Cycle up or down? :sunglasses:

I see it acting just like the pull-chain on the fan...

off -> low -> medium-low -> medium -> medium-high -> high -> off

again, not a very important feature to me. But it might be useful to add...

So a cycle that continues up, and wraps around to 0, to start over again. What is interesting is the fan remote itself does the opposite... it starts at high, then cycles down to 0 and then wraps around back to high.

The other oddity is how the main power button works on the full on Hampton Bay Fan with controller and remote included, vs the add-on on remote and controller.

They both seem to act differently depending on the current settings of the fan and the light.

Then there is reverse on the Fan units... waiting for @mike.maxwell to work his magic and figure out that one, but his list is pretty dang full at the moment so it's something we've decided to work out when we have more time.

Sure, cycling from fast to slow would be fine too. I honestly don't remember which was the pull-chain typically works (and it may be fan specific.) I suppose a user preference could be added to select cycle up versus cycle down. We could really overly complicate this driver, eh? :stuck_out_tongue_winking_eye:

Just imagine all the engineers in a room together.... complication overload!!!
We have to reign ourselves in half of the time! :joy:

2 Likes

This is great news but I don't want to move on without thanking @stephack for supporting this from the git-go. :ok_hand:

3 Likes

This ^ exactly! Thank you @stephack for all of your work supporting this device and ABC!

2 Likes

Thanks for the love...much appreciated!!
It's great to be a part of 2 communities (ST and Hubitat) that have members that are willing to donate their time and effort to helping each other. Just my way of giving back where my limited knowledge is able to,.

2 Likes

The slider switch to create the two additional devices won't stay "on" for me after I click save and the child devices aren't created. Do I need to completely remove the fan and re-pair it with the new driver?

I would like to create an app to program the Pico remote to work with the fan controller. I need to be able to get the current light level and the current switch value. With a current Pico remote app I wrote to control a Hue bulb I just call currentLevel and currentSwitch on the device. How would I do that with the component device handler?

@denise.grider I haven't tested myself...but assuming that you are talking to the parent device...currentLevel and currentSwitch would retrieve their respective states for the light....and currentSpeed would retrieve the state of the fan.

Also, I plan to update the ABC app to support this as soon as I have some free time.

1 Like

Thanks a bunch as usual @stephack!