[BETA v0515] Hampton Bay Zigbee Ceiling Fan/Light Controller

Thanks to @ranga for getting things underway with the alpha release and pioneering the effort.
@stephack @dalec have joined up with @ranga to collaborate on this device handler and it is ready for a beta release. @stephack incorporated the just released composite (child) device handler functionality so that all control points are accessible to standard smartapps. This custom code is designed to be used with Hampton Bay Wink Ceiling Fan receiver in the Gardinier 52" Ceiling Fan or Universal Ceiling Fan Premier Remote Read about how to get just the MR101Z Zigbee receiver here if you want to update an existing fan to be on SmartThings.
If you want to control this device by temperature, I modified 3 Speed Ceiling Fan Thermostat smartapp to take advantage of this new device for SmartThings staging all 4 speeds based on temperature. You can download the Thermostat control smartapp directly here EDIT UPDATE: Removed link to this smartapp until we find cause of a user reporting device lockup.

Video link showing the older Version 0501 in action with individual child device icons

Things view; individual Fan & Light things - Typical smartapp showing all control points accessible

The Light Child device and new version checker feature. Simply press the Refresh tile twice in the parent app to check the versions of the child apps are updated and compatible with parent device handler. Green indicates you are OK and current, RED indicates the child device handlers need updating.

It is still BETA version and things can still change and might require you to delete all the child instances and recreate them when updating to newer device handler releases. This is an easy process when using the gear icon for settings which will delete all child instances with one setting. The caveat is you will also need to remove all smartapp associations to perform the child delete then re-associate them.

Github Repository Settings
Owner: dcoffing
Name: KOF-CeilingFan
Branch: master

You must install all three device handlers.

How To Install Zigbee Ceiling Fan/Light device handler
If you need help installing this custom device handler @JDRoberts gave some excellent step-by-step instructions here


Quick mention, this is a typo. The Name is actually KOF-Fan , no ceiling with it!

Just installed this tonight (completely fresh install, just actually got the receiver and remote in the mail). The remote and wallplate work just fine, but the SmartThings part doesn’t seem to be. It was found and I added it, then installed the device handler and selected that for my device. It shows up in the app on my Android phone, but doesn’t seem to be accurate to what state the fan and light are currently in, nor does it seem to change the states. Suggestions? It’s possible I’ve missed something, I’m quite new to all of this.

Sorry for the confusion. Fixing it now, it really is supposed to be KOF-CeilingFan as I needed to delete forks from @stephack and from @ranga that is causing confusion. I gave it the prefix name of Ceiling to differentiate the repositories from each other.

If you setup with IDE integration to the KOF-Ceiling Fan repo do an update from Repo to get the latest code and publish it again.

I am traveling all day today so maybe Stephan can chime in. Edit: My original timing was to get this out on the weekend before my travel so I apologize for not being able to test the repo downloading before I left

I have quite a few meetings today myself but if the update from Repo does not resolve the issue as @dalec prescribed, please post a screenshot of the “my device handlers” page in the IDE and I’ll try to assist.

1 Like

Just installed the beta DTHs and it works well so far on my HD Home Decorator Gardinier ceiling fan. Now I can delete the WebCoRE pistons that were controlling the fan as Alexa can use the new child fan DTH. Thanks all for the refinements and release of the beta!


Unfortunately, trying to do this via GitHub keeps failing. I’m able to add the repo, but every time I attempt to publish it fails with a 500 error, not sure why. So, I went ahead and copy + pasted from GitHub into a New Device Hander from Code just to test, and I still get the same behavior as before, where the app seems to not do anything. Here is a screenshot

And here is from the Devices Page

The in-wall and handheld remotes still work, so I know the receiver is powered and reachable. I do not have any other Zigbee devices in the house, the distance to the hub is approximately 25’ and only needs to go through one wall.

It looks like you have all the Device handlers installed but you are missing the light device. Open the fan Thing and click the gear in the top right corner. Choose the option to delete children (after removing any smartapp connections you may have added). Hit done. Click the gear again and disable the delete children option and hit done again. This should rebuild all the child device types. If it does not work after this then please repost the device page screenshot again.

1 Like

@dalec, I just tried to add one of the DTH’s from the repo and I’m seeing the same error Llama described. It’s also showing the full github path when clicking “update from repo”. Take a look at it when you have some time.

Just got back home from travel… looking at it now. Stephan see if you can spot anything wrong with my github syntax. I may just need to delete all my KOF devices and see what happens from scratch?

Update: See if the 500 error is gone now. I think it was all due to the filenames having spaces and not dashes.

@Llama11amaduck Sorry for issues you are having. I did a test by removing my devices and re-updated from repo and it is working for me. Your screen shot doesn’t show the device’s being connected to the repo? The Green color indicates that the device handlers are in your IDE only, and not in any repository. (Color Coded Names) See my screen below and they should be Black color with the KOF-CeilingFan(master) repo location shown. FYI, the two child devices do not have to be published to have this all work as you see in my screen capture below.

To connect to my repo in your IDE,
go to My Device Handlers, click Settings button, click Add new repository, enter
Owner: dcoffing
Name: KOF-CeilingFan
Branch: master
then click “Save” button. Then to click “Update from Repo” button, select KOF-CeilingFan(master) and it should pull up in the Obsolete column all three of the KOF device handlers for you to select. After selecting them , select Publish checkbox and Execute Update.

Also to help in troubleshooting I added version info to each of the devices now to verify that you are indeed getting the current device handler installed. Look at the bottom of the device details and verify for me what version you have installed for all three devices: fan, fan speed, and light please.

1 Like

ooops…posted in wrong spot

Well, @stephack and @dalec, I’m not 100% sure which fixed it, as I was able now to use the repo update (before I couldn’t) and I also did Stephen’s recommendation and deleted and rebuilt the child apps. Between the two, something clicked! Thanks, guys.


Can I Dimmable the light with MR101Z?

Yes. The light is dimmable.

1 Like

Just got this working with Gardinier 52 in. LED Brushed Nickel Ceiling Fan and it’s working fantastic!! Thank you so much for your work on this!

1 Like

We are glad you like it.
@dalec, @ranga and I have been tweeking it a little every day, so let us know if you find any bugs or have any feature requests.

I agree! @stephack has done phenomenal work on this new parent/child device function and this past week on adding the feature of custom icons per child device. So the UI is getting very polished with some customized icons to take full advantage of this :slight_smile:

I did a video showing all the latest UI improvements and will post it up later.

UPDATE: I just updated the original post with the new UI screens shots and video link. So this is a great time to do an Update from Repo if you are not at ver 20170430 or greater.

1 Like

This looks awesome. I am very interested in getting this fan now. Curious, have you tried to see how this would work with Google home?

With my GE Fan controller, you basically tell it to turn on based on %. less than or equal to 33% = low, 66% medium etc…

How will it work with this?

I can’t speak for google home, but with the echo you have the following exposed for use

Assuming you named your device “bedroom fan”:
Bedroom fan light
Bedroom fan
Bedroom fan low
Bedroom fan medium
Bedroom fan medium high
Bedroom fan high
Bedroom fan breeze mode

So you would say, "Alexa, turn on bedroom fan low"
Or “Alexa turn on bedroom fan medium” or simply “Alexa turn on bedroom fan” to resume the last state before it was turned off.

@dalec has google home, so he can provide confirmation for you.

Great work Stephan and Dale.
I do have a question: since it appears that the child side is not working with Android for now, should I still install them in order for the controller to work properly?

Thanks again for all the hard work

Everything works just fine, install all three on Android. The only part that doesn’t open (which in no way affects the operation) is the ability to open up the child device independently directly from the parent. All the child dth work great and you can see them all from the parent device, just not independently other than the Light of course with shows up on the Things view along side the Fan Parent showing the speeds. Sorry for the confusion. I will edit the original post for clarity.