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

First, let me preface the rest of this post by saying that I am a complete newbie any of this coding/customization so please bare with me. Second, thank you to all of you who have put in what I believe to be a tremendous amount of time and effort.

I am posting because I have taken on the task of setting up one of these fans for myself and have hit an impasse. After reading through a lot of information, setting up GitHub, publishing the device handlers, and pairing the fan controller with SmartThings I can’t seem to finish the job.

I believe that I have the device handlers published correctly, and I didn’t modify anything with the code.image

splitting post due to new user restrictions

I can see my device in the IDE.

If I understand what remains to be completed, I need only to edit the device itself to associate the device with the device handler by selecting the type from the drop down menu. This is where my problem arises. I can’t find anything on the list that would match up. No KOF, Hampton Bay, Zigbee fan or anything that would seem to be remotely correct. Am I missing a step or did something not load correctly in my device handlers? I can’t seem to figure it out and I don’t have the skill set to troubleshoot. Any help or guidance would be greatly appreciated!

Did you scroll all the way down? Custom DTHs show up at the bottom of the list - not in alpha order. It took me a lot of banging my head against the IDE before I figured that one out…

1 Like

They eventually showed up. I’m not sure why it took so long.


I do not have many zigbee devices (a few GE & Cree Bulbs) and have a question for those of you that are more familiar with the zigbee mesh construction. My zigbee fan controller is arriving today from Home Depot. I have already installed a peanut plug in the master bedroom in preparation for the fan controller as the fan will be about 20’ away from the hub.

I now have the peanut plug in the master bedroom as well as a Cree smart bulb in the master walk in closet. Unfortunately, I don’t have a second story to put the plug above the fan as @JDRoberts recommends. Should I pull the Cree bulb when I set up the fan controller to make sure that it repeats through the peanut plug or does it not matter?


I would, just because I don’t trust zigbee bulbs as repeaters on the smartthings platform. But it’s an easy enough change to make later if you find you are having problems, so it’s up to you.

For those who don’t know why we’re discussing bulbs separately, see the following:

1 Like

Thank you @JDRoberts. I was thinking that was the thing to do since bulbs are flaky repeaters. I appreciate all of the great info you have put out there. I especially liked your description as to why the Zigbee fan controller could be having issues due to the blade position. It made sense.

1 Like

That comes from engineering classes. :sunglasses: I’ve mentioned before the exam which describes a house with home automation where everything works perfectly. Then the family moved in and things start breaking all over the house! :disappointed_relieved: So the field tech has to figure out what’s different now that people are living there. The exam was the field tech’s report identifying all the potential issues.

The one that no one got right (including me) was a “happens sometimes“ dropoff which turned out the family had a cast-iron frying pan. Depending on who did the dishes, it was sometimes put on the second shelf on the left and sometimes put on the bottom shelf on the right.

( The exam had pictures of the kitchen on Monday, Tuesday, and Wednesday, but didn’t call out the particular problem. You had to notice it for yourself.)

In one of these two positions, I don’t remember exactly which one, it was in exactly the right position to block signal coming into the kitchen. Kitchens are always tricky because of the appliances, but this was an obstruction inside a wooden cabinet. Such fun! :scream:

1 Like

Never thought about the cast iron pans. Glad my bride keeps them LOW in the kitchen. I really haven’t had anything that worked marginally except the one Wi-Fi WEMO. Everything I read attributed that to the switch itself so I didn’t troubleshoot it. I have lots of in wall Z-wave devices so my mesh has been reliable.

I had to chuckle when Spectrum set up my Internet. The "tech"put the access point behind the television telling me that was the preferred place being that it was out of site. I thought about telling him how putting it behind the television was one of the worst places to put the AP unless you want to attenuate the signal on the front side of the television but decided to just leave it and move everything when he left. I didn’t want to complain about something that they weren’t charging me for.

Now I’m just waiting for UPS so I can get the module in place before dark. I really don’t want to use a flashlight or pull extension cords. LOL

1 Like

Thanks to everyone involved for all the work in putting this DTH together, it is great. I have it working in our bedroom using a https://www.amazon.com/Securifi-Peanut-Smart-Minute-Setup/dp/B00TC9NC82 as a Zigbee repeater and it seems to be holding a connection. It’s only been 24 hours so time will tell if the connection stays solid.

My question has to do to with the dimming function of the light and Google Home. I can control all of the fan functions using Google Home (though I had to rename Med to Medium and Med-Hi to Medium High in the Home app for it to work). I can also turn the light on/off from Google Home. What I can’t do is dim the light using Google Home. It says that device has not been added. I can dim the light from the ST app and the included RF remote, just not Google Home. I have the Fan kit #722-493 from Home Depot and not the replacement parts from KOF if that makes any difference. Any ideas?

Thank you.

UPDATE: It seems that when ST found my fan that it “garbaged up” the child app for the light. I still haven’t fixed it yet on this fan but I installed a second fan today and Google home is able to dim the light just fine. On the other hand, even though they are shared, Google Home doesn’t seem to want to control the speed of the second fan though. Go figure. :exploding_head:

UPDATE 2: Google Home sees the fan speeds on the 2nd fan now. I guess it just took some time for them to get picked up? IDK but at least it works now.

You should have a device with “Light” suffix. Make sure that child device is also shared with Google Home. The voice command should then be something like “Set Bedroom Fan Light to 50”

Thank You for the quick response @stephack . I just double checked and the device is shared with Google Home. I am able to turn the light on/off using Google Home but when I try to set the dim percentage the Google Home says that “It looks like those lights haven’t been set-up yet.” I have no problem dimming other lights in the house so I know that I can do it using the Google Home.

I am using ver 0.2.170515a of the lighting child. It appears that all of the DTH code is ver 0.2.1750515 which I pulled directly in the IDE from dcoffing, KOF-CeilingFan, master

It’s not a deal breaker, I was just curious if it was something on my end or if other Google Home users were seeing the same thing and maybe had a solution. I didn’t see any reference to it in the thread but it’s easy to miss something in a thread this size.

Thank you,

I know others with Ghome have this working. Unfortunately I use Alexa and I have migrated to Hubitat so I am unable to test on ST anymore. Hopefully someone with Goolge Home setup can help.

If I think of anything else I’ll let you know.

1 Like

Hi guys, complete newbie to ST i installed the fan control, i linked it to ST, i copied the code and created a device handler, now what? I dont know how to link the device handler to the device in IDE. I’m at a lost. Thanks for anyone than can help me and educate me.

Try this, on the devices page of the IDE

ok did that but now it just has the fan on/off option no lights no other buttons, and when i actually click to turn on the fan it doesnt do anything.

Ok got it now but it only worked for 5 minutes now the buttons do anything. I adjusted the speed to low and all it does is show the icon adjusting forever and nothing happens. Right now I turned it off with the remote and still shows the same that’s it’s on in high.

Hit refresh. If that does not help you probably have the same issue pretty much everyone has. You will likely need to install a zigbee repeating outlet in the same room as your fan. Search through the posts above. It’s a reoccurring theme.



Finally installed my controller. Fan works with hand remote and wall remote. Disconnected the switch, reconnected, and ST found it (though it says “Tiles Missing”, but when I click on that, the next screen says “Fan”)

I tried inputting the first code at the top of this page into ST

Here’s the page I’m at: graph-na04-useast2.api.smartthings.com/ide/app/saveFromCode

But I get this warning:

No signature of method: script_app_metadata_453aa887_6ec1_4c25_ba49_8dd136d1c030.metadata() is applicable for argument types: (script_app_metadata_453aa887_6ec1_4c25_ba49_8dd136d1c030$_run_closure1) values: [script_app_metadata_453aa887_6ec1_4c25_ba49_8dd136d1c030$_run_closure1@6e5d6a27] Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure)

What am I doing wrong?

[EDIT] Since there’s three codes, does that mean I create 3 smartapps, and connect them all to the Fan controller?

[EDIT] Strange question: I wish the top Power switch would control the light instead of the fan. Can the controls be reversed in software? [EDIT] Just realized…that wire would be connected to the fan, so I guess not :frowning: )

These are device handlers, not smartapps. Install them in the device handler page of your IDE.