[DEPRECATED][Alpha] Hampton Bay/Home Decorators Zigbee Ceiling Fan Controller

I am about half way done and having lots of fun in learning and applying device handler code. I have just about finished with making all the changes that I was suggesting. :grinning:

Update: My hub decided to “go on vacation” this morning causing a little slow down in me getting the device handler finished. :confused: Tech Support is on it.

Ok, got this fan hooked up, but having trouble getting it linked up to SmartThings.

I’ve tried the instructions to do a factory reset, but it’s not working. Anyone have a solution to that?

It should be pretty straight forward. Did you do it like I did in the PAIRING paragraph?

And I’m an idiot… Thought I had tried that, but apparently not. Got it working now. Maybe I’ll get the hang of all this eventually and stop asking stupid questions. :slight_smile:


1 Like

When you press the tiles a second time it isn’t acting as you would think for the indications or the action controls.

@ranga I am needing some help on the zigbee commands please.

I see for example that you defined fanOne to be the command for low speed using the zigbee string with the final parameter being {01}. And each speed has its own parameter {02}, {03} etc.

def fanOne() {
sendEvent(“name”:“fanMode”, “value”:“fanOne”)
def cmds=[
“st wattr 0x${device.deviceNetworkId} 1 0x202 0 0x30 {01}”
return cmds
log.info “Setting fan speed to One”

You didn’t define {05} or {07} etc.?
I need to define a command that mimics when I press the On-Off button to toggle ON, the same for Dimming the light. I am guessing it is one of those? You defined one for OFF but not ON and nothing for changing the light levels. Sorry for any improper language but just trying to learn so I can add another function to the handler.

I guess it doesn’t hurt to experiment… :yum: I can just define some new commands with those zigbee strings and see how the device responds.

UPDATE: Got the dimming in cluster:0008,
raw: 4ED801000808000020A2, dni: 4ED8, endpoint: 01, cluster: 0008, size: 08, attrId: 0000, encoding: 20, value: a2

Can’t seem to determine correct toggle commands for light versus fan motor

@dalec zigbee device has clusters and their values predetermined by the manufacturer.

Setting the values to 5/7 will not work as the values are not supported by the fan.

To turn off/on the light, you can use the cluster: 0006 and attrId: 0000, (values can be 0 for off /1 for on).

1 Like

Got it! Thanks

Update: Just finishing up the rework on your device handler , I’m running down a little bug on the mobile app’s nextState function I believe but it should be done in just a little bit here.

I am just about finished with my testing of the rework of @ranga original alpha device handler to make it more like the way I want to see and operate the fan. I added all my custom icons to match the wireless remote and the device handler is more of a match in operation like the wireless remote. Thanks to @ChadCK @johnconstantelo for their GE Smart Fan device code so I redid the main tile so it’s primary function isn’t displaying the light now but it is all about the fan speeds indications with the slider only for control of the light. All these changes allowed it to not simply match the remote but it is more like what I have already with my other ceiling fan GE Smart Fan device handler.

Latest changes I’ve made to the device handler. I should have the github request in tonight for Ranga

1 Like

So I’m having some issues still with this. The first day I hooked it up, everything worked fine, I could control from SmartThings perfectly fine.
Since then though I’m unable to control the fan and am getting very intermittent updates in SmartThings. I have another Zigbee device that’s about the same distance from the hub but has less walls/ceiling/insulation to travel through (fan is on a vaulted ceiling, other device is a contact sensor in the same room on a door).
Any ideas? Was going to try resetting the hub to rebuild the Zigbee mesh, but figured I’d ask if there were any other ideas.

@Fredbob711 can you send me the fan related logs from the IDE? Unfortunately there is no easy way to determine what the signal strength is. But if there is something apparent from the logs, I might be able to debug. To get info from the fan, hit the refresh button on the device handler and see what it produces in the log.

Try placing a powered zigbee device in between your ST and the fan and see if it helps.

If nothing else works, remove the fan from ST and re-add it.

I am looking forward to adding a device health capability as soon as ST releases some documentation on it.

I’ll send the logs once I get it added back into SmartThings.

I added an Iris Smart Plug in between the hub and the fan and no dice. I removed the fan from SmartThings, but now I’m having trouble getting it added back in. I’m wondering if the fan wiring has a loose connection. Tomorrow I might have a chance to pull the ladder back out and double check all the connections.

This is great @dalec! Your changes are perfectly inline with my interface/control preferences. I doesn’t look like @ranga has published your changes yet. I’d love to give them a try if you’re willing to PM me the code.

@ranga - I’m still having the same issues as @Fredbob711. I’ll dig up my logs and send them over to you also. My fan is a floor above my hub. But otherwise not terribly far away (probably no more than 25 ft).

@ranga Here’s a link to my fan logs. Hopefully this is the data you’re after.


I merged your code with the master branch. Please verify if everything looks good.


The logs you provided only has the events. I need the info from live logging for the fan.

Maybe it’s me, as I’m far from well-versed in this, but it looks like the initial metadata/definition line and opening bracket are missing on the Github code? But again, I may just be doing it wrong :slight_smile:

@dglasgo1 is correct. The code below is missing. I added myself and it’s working great :slight_smile:

metadata {
definition (name: “HomeDecorators Fan”, namespace: “ranga”, author: “Ranga Pedamallu”) {

I am out on on the road traveling this week but will look at it when I get the chance. Thanks!

Fixed the “metadata {” issue. github is still new to me and not sure if I merged correctly. Please report any bugs. Thanks.

1 Like

The first line has been added, but the second line containing the definition is still missing.

metadata {
definition (name: “HomeDecorators Fan”, namespace: “ranga”, author: “Ranga Pedamallu”) {