Possible Zwave fan speed to percentage issue with Honeywell/Jasco fan switches

I have Honeywell/Jasco Zwave fan switches working with ZwaveJS. Ever since ‘speeds’ were deprecated, I have had trouble getting them to run on ‘low’ speed. After some digging, I have determined this is because the Honeywell switches interpret 33% as medium speed.

It appears there is some temporary glue in the fan control that quietly converts speeds like off, low, med, high to a percentage which is then sent to the switch. The code that does this is calculating 33% for low speed when three speeds available. I can understand the rationale for this calculation, however, in the case of the Honeywell switches they respond as follows. 0%=off, 1%-32%=low, 33%-66%=med, 67%-100%=high.

It seems it might be better to use the mean of each range vs. its upper bound when converting to percent. In the case of low, med, high, this would equate to 17%, 50%, 84%. Since the code already discards ‘off’ and explicitly assigns that 0%, the same should probably be done for ‘high’ and it should be automatically assigned 100%. This would result in 0%, 17%, 50%, and 100% for ‘off’, ‘low’, ‘med’, ‘high’. I can see where these values might appear odd, and trigger OCD in some people, but I think they make mathematical and logical sense when you consider the goal.

Another possibility would be to make an explicit fan platform for Honeywell/Jasco fan switches that would implement this.



Or just bring back the named speeds functionality for fans that support it.

I’m just throwing that out there…again…and again…and :wink:

(not directed at you at all - it’s something I’ve tried to ask for since this new fan percent silliness started)

1 Like