Not sure if I can help, but a free bump if nothing else.
Can you screenshot your Preference section of the Device Page? You have the middle section where the driver and name are, but we would like to see right above that.
Did these work different on Home Assistant? Does the switch work correctly at the wall?
Maybe the other question I have is am I understanding correctly that you can set this fan switch to only have 2 speeds via a configuration? Is that via the hub (a parameter setting) or via the switch (button presses?),
First off, sorry I forgot to welcome you to the Hubitat forums yesterday, and tell you that if you would like to post pictures natively on the forums, you can join the Owners group. But it looks like your permissions got updated automatically at some point, so you should be good to post pictures now.
Now I have a few more questions.
This issue of turning on at the wrong speeds is only when you use On?
If you use the L/M/H (or in your case maybe just medium & high) test settings in that top section of the Device page, what happens, do the speeds work correctly?
Do the "States" in the upper right corner of the Device page reflect what speed you command from the Device page (again using L/M/H)?
Similarly, what do the "States" do when you use the physical switch, do they reflect the actual button presses?
Did you try hitting "Configure" to pull in the device capabilities to the hub?
Thanks for the welcome! It took me a moment to realize I wasn't the FORUM owner, haha.
This issue of turning on at the wrong speeds is only when you use On?
Correct. My guess is that it's setting the fan to ~15% instead of 100%
If you use the L/M/H (or in your case maybe just medium & high) test settings in that top section of the Device page, what happens, do the speeds work correctly?
L/M/H and On via this drop down all turn the fan on. But only varying (a guess) between 5% - 15% (low = 5%, medium = 10%, high/on = 15%). Off works as intended.
Do the "States" in the upper right corner of the Device page reflect what speed you command from the Device page (again using L/M/H)?
Yes. But referencing the screenshot above - what is "bin: -1" under state variables? Maybe high is a combination of lastSpeed=high and bin:-1.
Similarly, what do the "States" do when you use the physical switch, do they reflect the actual button presses?
OFF:
Set to High via Hubitat - Fan observed blowing near ~15%:
Set to High via physical switch - Fan observed blowing near ~100%
Did you try hitting "Configure" to pull in the device capabilities to the hub?
I didn't understand the concept of "Configure" and avoided hitting it. I'll research now and give it a go
Here is what another switch looked like on HA. This oddly disconnected around the time that I setup the other switch. I haven't migrated this one to Hubitat yet.
The 4 speed Leviton ZW4SF can't set speeds variable between 0-100%. It has 3 capacitors that are switched into the circuit to vary it between 25%, 50%, 75% and 100% (full line voltage).
You can request a speed 0-100% using the zwave setLevel command but it will be rounded to the nearest actual speed it supports (I can't remember if it rounds down or up. I think down.).
When you set the minimum speed, you're just setting the lowest of the 4 speeds it will go. Same with maximum.
The custom driver linked above is a good suggestion. My post on that thread links to the code for my version I use on several ceiling fans. We only use the top 3 speeds out of the 4 the device supports (because the lowest speed is garbage on our fans)…and my version supports doing that which also lets Alexa/HomeKit integration as a 3-speed fan work properly (nobody in this house wants to ask for “medium-high” speed on the fan ).
If you really only want to use the top two, I could add support for that scenario in my version.