This WTH triggered a heated discussion about the logical and intuitive interpretation of “open” and “closed” for a cover:
open = 100%, closed = 0%
open = 0%, closed = 100%
There are obviously diametric differences in interpretation between different users. The differences may be the result of culture, native language, profession, or even personal taste. In addition they may depend on the actual device that is controlled by the Cover integration (i.e. blinds vs. awnings).
So I think the key finding is that the way the Cover integration currently works is not per se wrong but is missing a configuration option, i.e. an “invert_percentage” parameter.
Sooo…
WHY THE HECK can’t we freely configure a Cover to interpret its percentage value as “percentage open” or “percentage closed”?
ORIGINAL WTH: Why the heck are Covers open at 100% and closed at 0%?
This is not only counter intuitive, it also differs from any other system I have seen. And as HA acts as a general translator between home automation systems this leads to a lot of trouble.
I.e. the KNX integration offers a special config param to activate an inversion of the percent value to counteract that weirdness. And until today it still has some problems with the 100% = open logic (no matter whether it is set to invert or not).
And it simply feels so wrong to tell Alexa to set my blinds to 80% when I actually want them down just a little bit (20% down).
PARTIAL SOLUTION:
Long after this discussion took place I created a guide which boils down some of the work arounds that were provided here. Have a look and improve it if you wish (guides can be edited by everyone).
this feels counterintuitive to me too.
100% covered (as in cover) should be 100%
FYI in current beta the knx integration has changed some things for cover platform. It may work better with HA now. I’m not sure but maybe you will have to omit the invert setting again.
It’s also counterintuitive to me, but as you can see on tom’s post, it is absolutely intuitive to others. So the solution is to make it configurable, preferably per entity
I would agree, and as an observation I’m wondering if this is a bit of a language thing where people for whom English is a first language see the word cover as a noun only in this situation and automatically presume that 100% refers to openness, whereas for those that use English as a second (or lower) language, no matter how good their English is, they see the word cover more as a verb, at which point they expect the percentage to define the coverage of the window?
I may be way off, but I noticed something a while ago in a similar topic, very unscientificly guessing whether someone’s first language is English based on their name and/or writing style. So far the same appears true for this thread too.
The solution appears to be a ‘reversible’ configuration option.
You’re quite right, and it’s rather confusing! When I completely lower my blinds then they are 100% closed and cover 100% of the window, yet the tool gives me the value 0%.
I suspect that the current implementation is just following the convention for binary sensors. My door sensor uses the values off (0) for closed and on (1) for open.
We call them blinds to be fair, but I was speaking more ‘in general’.
As I said, maybe I’m well off, but I think of 100% as a 100% open blind. Same as I view 100% as a 100% ‘on’ light. Just can’t see how it would ever be construed differently
Industrially, valves and dampers are considered this way as well.
100% is fully open and 100% of the “fluid” can pass through. 0% is fully closed with 0% of the media allowed to pass through it.
For some places it’s added to the display to be represented visually as “100% Open” etc for clarity, but I rarely if ever see percentages expressed as a percent closed, it’s almost always implied that it is representing a percent open.
I would consider blinds (Or “covers” as HA calls them) the same as a light, since their use is to pass or block light. 100% allows 100% of the light through, and 0% allows 0% of the light through.
I don’t see it as a flag but I do see the “GB.” Assumed it meant great britian. Had I clicked on your profile and seen UK it would have been case confirmed.
While I disagree with you, I do see how you would construe it that way. On some other similar items I have had a “how could anyone thing otherwise” like you do now so I know the feeling.
American here, I’ve always thought 100% is open. That’s the only way I’ve thought about it. Also, this is how is for just about every device I’ve ever encountered that is an open/close device. Servos, iris’s, illumination…
Not sure about the language thing, but that may have an effect.
Another consideration may be education / training (not saying anyone is stupid / uneducated here)
I’m an engineer and consider blinds / covers, whatever as valves that let in light.
How much light ?
Well if it’s closed or extended - as little as possible - so 0%
Now it’s open / retracted - so as much as possible - so 100%
Yeah, That’s definitely not true in industrial control systems.
It might make sense in other software programming, but it’s certainly not (in my experience) typical for software programs that interface with real-world objects and equipment.
Default values are almost always closed for valves, dampers, etc, and will spring-return to closed during loss of power. Exceptions are for safety critical components where the open state is the “safe” state, but those will typically have fail-open or fail-in-place actuators.
Defaulting to open sounds like an industrial accident waiting to happen lol.
It’s that way for software too… But then again, the software I develop is closely tied to all the hardware you just listed. 0 is always closed/off, any value is the opposite. Hell, just look at python: 0, False, '', None all are essentially False and can be used that way in if statements.
The non-engineer’s view: a cover is something that is placed over or about another thing, or something that protects, shelters, or guards (definition as per Merriam Webster).
A cover can do its thing in various degrees, from a little to completely. So it appears natural to assign a low number to a state of low coverage, and high numbers to high coverage.