So I’ve got this cover entity I use for my window blinds and it seems the HA developer’s mentality is that a 100 position state on a cover means that it’s 100% open instead of it being 100% closed. Sadly this causes an issue for me where if I click to close my blinds it will run the closing service, moving the number closer to 100 from 0 and even set the state of the cover to closing, only to then hit 100 position and set it’s state to open.
So to rectify this imo flawed design behavior within HA, I’ve tried to make use of a cover template to manually change the state of the template cover to be an inverse of the actual cover using the value_template attribute. Sadly when doing this it becomes impossible to simultaneously use the position_template attribute to retrieve the position updates from the original cover, since the template has some dumb built in feature that makes the position_template automatically overwrite the open, close, true and false states set by default or by the value_template and instead base them off the position of the cover, with of course 0 being closed and 100 being open. Which is the exact issue I was trying to circumvent in the first place.
It legitimately makes no sense to me that they would implement the cover in a way that has your position number count up from 0 to 100, call it “closing” the cover and then the moment it reaches 100 suddenly call that state “open”. Does anyone have an idea as to how I could achieve a cover with 100 position giving a closed state and 0 giving an open state?