Sorry for the edits above. I'm too fast to hit Reply
before my brain stops processing.
The four discrete speeds (25, 50, 75, and 100) correspond to the 4 LEDs on the side of the fan control rocker.
Extra physical detail: the ZW4SF uses the exact same body as the ZW6HD (and decorative dual rocker, thin/fat combo). The ZW4SF just uses four of the ZW6HD's seven level indication LEDs. It omits LED numbers 2, 4, and 6 the LED column.
Ok this is great info.
I had in my head for a 4 speed fan the speeds would be low, medium-low, medium-high, and high. But no matter because the drop down menu cannot be dynamically changed so its sort of stuck at the default with all 5 speeds. I can just map medium and medium-low both to 50 for 4 speeds.
I think I can make this work universally, user will just need to manually set how many speeds the device supports.
I'm not particular about the speed naming. It's just how I've seen it on other 4-speed devices. As long as all four speeds are exposed, it works for me.
Bonus points if you offer a "breeze" mode:
- The drivers picks a random time between five and ten minutes and runs a random discrete speed that is not the current speed, at the end of the timer, repeat.
It dawned on me that the dashboard fan interface forces you into that fixed set of five labels and effectively does the same thing. I noticed it also offers "Auto". Maybe the "breeze" function?
FWIW, and knowing what I know now, I'd recommend the fan driver report in current state a raw level
in addition to the named level
. Additionally I recommend leaving in the numerical Set Level
command. I think it will facilitate discovery and debug on other fan control devices.