The basic cover component allows only for integer position values, but not float values, a restriction which I request to remove.
I built an esphome device for a custom cover that handles arbitrary float position values (between 0 and 1). For building a better performing thermostat with that cover I need positions that are float values in home-assistant (between 0 and 100), not just integer values. I have the control in appdaemon and I’m limited to integer values which often times makes the cover bounce between two neighbouring integer position values. What I need is a float value in between. esphome is already using floats internally, but the current limitation of only allowing integer position values in home-assistant is the bottleneck. The cover component so far mandates
vol.Optional("position", default=0): vol.All(
vol.Coerce(int), vol.Range(min=0, max=100)
but I see no reason for that limitation and would like it changed to allow for float position values. The range 0 to 100 is fine and should best be kept for backward compatibility.
Please consider this and let me know if there are any reasons, if any, for not making that change.
If there are integrations that inherit from cover and rely on the value being an integer, maybe an additional configuration parameter might help, defaulting to integer, but allowing for float as well.