There’s one giant thread devoted to people doing this. I thought I’d share my story as a recent data point. Especially because I ran into several hiccups, but it all worked out in the end.

A couple months ago, I installed two Hampton Bay Ceiling fans, but the Zigbee controllers were all sold out, so I had been operating them as dumb fans. I put a watch on the coveted Hampton Bay Universal Fan Control, and it finally came into stock a couple weeks ago.

Installation

Yesterday, I went through the process of installing the control units. For the most part, it went smoothly, despite the fact the directions weren’t as descriptive as they could be. Basically, I undid 2 wire nuts: one tying together the fan, light, and house hot wires and another tying the unified fan/light neutral to the house neutral. I left alone the grounding wires, as the control unit doesn’t need to be grounded.

The control unit sits nicely in the space between the downrod mount and the outlet box. I tried to get all my wires aligned nicely in this phase. I found that a little planning helped a lot in figuring out how the wires and antennas would be routed.

Then, I connected the three wires from the fan to one side of the control unit and the two wires from the house to the other side. Since my fans are also Hampton Bay, the colors matched up nicely on the fan side. My house neutral was black but connected to a red wire on the control box. Here’s what it looks like ( I could probably have been tidier with my wire slack):

Controls

I agonized a bit over how best to handle the wall light switches. I ended up just buying simple switch guards and sticking the remotes next to the switches with command strips. It works great. I still instinctively reach for the switch, but having the guard redirects me for the remote.

Once I fired up power, everything worked well. My fan doesn’t allow me to completely hide the chain controls on the fan, unfortunately, and I don’t want to permanently sever them.

SmartThings Setup

It was a bit challenging to navigate these forums to get exactly the right information, and I found the developer web portal pretty finicky. But I eventually got it working.

First, I paired the control units with my hub. It took a while to successfully get the control units to enter pairing mode. I think what works is to alternate 3 seconds on and like a half second off. “3 seconds on, 3 seconds off” as the manual states wasn’t doing it. I named the devices, and they were registered as basically unknown devices.

Then, I added the 3 device handlers. I personally did this by working through the GitHub integration. I went to My Device Handlers -> Settings and in this panel I added the repo for the custom device handler. It then took me to a screen where I could import the device handlers from that repo, and I checked the Publish box.

(Prior, I had tried cutting and pasting the code, but it just disappeared, within the same session. Maybe because I didn’t publish it at the time.)

Next, I navigated to My Devices. I had to go through My Locations to actually see my devices though, for some reason. Otherwise, I see nothing. But anyway, under My Devices, I clicked into each of my ceiling fans, hit Edit, then under the Type drop down, I scrolled allllll the way down to select KOF Zigbee Fan Controller at the bottom (but not either of the two subdevices).

And voilá, it was done at last!

So far, everything works as expected. I’ve got a reliable connection with both my remote and my hub. I’m a happy camper!

Update

I installed dimmable LED bulbs, which let me enable that function on the physical remotes and use the dimmer functionality of the smart app.