LZW36 Speed Options

I recently moved from smartthings and I’ve noticed some differences with the LZW36. On smartthings I was able to set the fan to any speed but on hubitat it seems locked to only 33%, 66%, and 99%. Any other setting fails. I believe I’m using the Hampton Bay driver. Is there another driver to expose all possible speeds from 1-99% like on smartthings?

Granular speed control can be exposed by changing the fan child driver Generic Component Dimmer or Generic Component Fan Controller.

Is it not possible to alter the driver to allow both fan controls as well as granular levels? In your driver you set everything from 2-33 to “low”/33. Could you, for example, allow setLevel to be granular from 1-99 but if setSpeed is used, set it to a preset level? Then you could do cycleLevel to go to next preset level.

Something like this… I haven’t wrote a device handler before so excuse my ignorance. Groovy looks similar to Javascript at least.

           if (ep == 2) {
            if (cmd.value == 0) {
                childDevice.sendEvent(name: "speed", value: "off") 
            } else if (cmd.value == 1) {
                childDevice.sendEvent(name: "speed", value: "auto")
            } else if (cmd.value == 33) {
                childDevice.sendEvent(name: "speed", value: "low")
            } else if (cmd.value == 66) {
                childDevice.sendEvent(name: "speed", value: "medium")
            } else if (cmd.value >= 99) {
                childDevice.sendEvent(name: "speed", value: "high")
            } else {
        	    childDevice.sendEvent(name: "level", value: cmd.value == 99 ? 100 : cmd.value) 
            }
        }

I think Inovelli made their driver handle the most common fan scenarios. Most fans are limited to 3 speeds, with some doing 4. It is rare for completely variable speed fans.

1 Like

AFAIK, the hardware only handles three speeds. If you add the fan as a dimmer tile, it will let you do 0-100 in the UI but round to those three speeds (plus using “1” for random breeze mode)…

@Snell @vreihen my fan (and the module) definitely supports any speed from 1-99. Setting the child device to a generic dimmer or generic fan component allows me to set any level, but the Hampton Bay default driver does not. Switching my driver solves my issue, I’m just wondering if I could have setSpeed too. I setup Google assistant routines to handle “set the fan to low”, etc.

My fan: https://www.homedepot.com/p/KICHLER-Starkk-52-in-Integrated-LED-Indoor-Brushed-Nickel-Downrod-Mount-Ceiling-Fan-with-Light-Kit-330174NI/313725639

Nice. Newer models are providing more options. Probably be more common as more DC brushless motors get into fans.