A few months ago, we moved to using percentages for fan control. This totally makes sense as there are fans now with 6+ speed settings. However, this move can be cumbersome for Alexa. It seems like it would be slightly more intuitive to people who aren’t HA wizards to be able to control fans with traditional words like “low”, “medium”, and “high”. That’s much easier than telling my mom that she needs to say 33 (or some number around there) for “low”.
It seems like this should be pretty straight forward for just about any fan.
low = 33
med = 66
high = 100
That should work regardless of speeds available for a fan, while retaining the same granular controls afforded by the percentages.
Since you’ve done some work on this stuff in the past, hope you don’t mind the tags @bdraco@jbouwh
From your title it isn’t clear if you are asking to change the entity model back to the 3 speed model or add a translation layer in alexa.
If you are suggesting a translation layer for Alexa, it would be better to use the built in percentage to named speed conversion logic then specific values (33/66/100)
I don’t think we should change the entity model, but how it’s presented to alexa is largely left up to the integration authors. I’m not an Alexa users so I don’t have any opinion on that
An issue is the value for “Med”. Should it be 66 or 67 (round(2/3))? I have a fan where the control for the medium speed requires 66, but the custom card display interprets and shows that value as Low, not Medium.
Thanks for the reply! I’m sorry, I don’t know enough to specifically address your question.
Previously, low/med/high was available to Alexa (as well as in the HA UI). When things transitioned to percentages, that was no longer the case. Since that’s when it stopped working, that makes me think its not the integrations, but the devices themselves. This greatly reduces the Partner Acceptance Factor for fan control. Does that make sense?
It sounds like you are asking for a change with Alexa and not to change the fan entity model, which might be doable as it looks like AlexaRangeController could still be implemented along side PercentageController
I put together a rough concept.
I don’t use alexa though so I have no way to test if it works.