% closed or % open. I don’t care but understand both arguments. And of course more options are always better so satisfy every need.
I would be more interested in an option, where I can define which state is set, if 0%, [1-99%] and 100% closed/open. Because I like to have it “on” if closed and partly closed and not if open and I’m reverting it with card-mod-entry per shutter.
Yes I understand your statement. The reality is we probably need different types of covers. Venetian blinds as I coded for are very different than roller shades and both are different than vertical shades.
Also if anyone really needs this I think my code was adapted to be used with a continuous rotation servo. You could always write the code the way you need it.
I took your idea one step further and actually renamed my existing 5 entitity_id’s with _hidden and created templated ones with the original entity_id. My templates look like this:
I have routines in Node Red which monitor the input_number presets for the open position which will call set_cover_postion with the new input_number value so they automatically adjust to the new desired position. The same could of course be done with automations…
Sorry for the newb question but can you please tell me which file to modify and how to enter this code?
My buttons in the shutter are working the opposite and it drives me crazy as well.
Thanks
14 months later. Any movement on this? Who do I have to bribe?
I have outside venetian blinds on every window. Their function, just like curtains is to stop light when they are closed. So closed = 100% (of light stopped)
It is a lot of work to get this to function properly.
Install File editor and add this to configuration.yaml and add this for an inverted slider - Yes one for each blind on your house!! Code from Marius several posts above^^
I 100% agree it must be configurable. (100% meaning fully configurable ). Crucial for the WAF, and templates won’t do. Buttons will look inverted and voice integrations will also be messed up. I’ve templated over 10 covers for other reasons and it is a pain.
To the industrialists who say the default should be safe I do want to state that this is a bad argument for the value of the percentage.
First of all: e.g. an awning is not safe when expanded: the wind will destoy it. And I have rollerblinds in front of inward turning windows. They must never go down when the window is open. But for a garage door, things are different.
But more importantly: Systems can be made safe without the usability suffering. A terrible accident happened in the Netherlands because a motorized vehicle did not brake by default when a cable snapped. That does not mean that 0% brake is full brake, or that you should constantly press the brake to be able to ride. Even more so in software, how a system is engineered safely should not dictate how it is used. Users are usually not engineers and the UI should be loosely coupled to the inner workings.
Also metaphores are broken. If you call something a cover, then 100% should mean fully covered. If you call it a blind, then 100% should be fully bllinded. I’m Dutch, but I’d like someone English to explain what is the flaw in that logic.
If you want it to work differently, then call it differently. My HA is rife with remote controlled dimmers. But we all call them light in HA because that is how we perceive it. Had we all called them dimmers, 100% dimmed would mean lights off. Go explain that to your wife
And to the lighting enthousiasts: I buy my blinds to make it dark, so I can sleep. So I’m not letting the light in - that is what windows are for. I’m trying to keep light out. I guess I’m a Glass Half Empty kind of guy.
# That is the information card
- entity: cover.jalousie_sofa # Here i use the KNX object with attribute current_tilt position (Winkel)
attribute: current_tilt_position
type: custom:multiple-entity-row
state_header: Winkel
unit: '%'
name: Jalousie Sofa
icon: mdi:information-outline
tap_action: # -> i don't want a tap action!
action: none
entities:
- entity: cover.jalousie_sofa # Use the KNX Object for status purpose (Open->closing->closed)
name: Status
- entity: cover.jalousie_sofa_inverted # Here i use the inverted helper for the current_position of my cover.
name: Auf/Ab
unit: '%'
attribute: current_position
# That's the KNX Object
- entity: cover.jalousie_sofa
name: Komplett Auf/Ab
icon: mdi:window-shutter
# That's the slider (inverted) for steering the position
- type: custom:slider-entity-row
entity: cover.jalousie_sofa_inverted
attribute: position
full_row: false
hide_state: true
icon: mdi:window-shutter
name: Schrittweise
# That's the KNX object for steering the tilt positon of the cover
- type: custom:slider-entity-row
entity: cover.jalousie_sofa
icon: mdi:angle-acute
attribute: tilt
hide_state: true
name: Winkel
That’s it. Now you get a good working cover steering If you still have question, just ask
Here’s a question: How does it behave when triggered from other integrations like Alexa or HomeKit through HA? When you call “Cover to 25%” or “Close Cover”?
And even though it is doable with templating - I have 20 cover entities and that is no fun to do 20 times over. Besides the fact that I then have 40, half of which behave opposite to the others.
Hi Matthias,
i successfully tested alexa with a cover. If i say “alex set cover xyz to 80” ( DG Rollladen Studio rechts
cover.rollladen_dg_studio_rechts home assistant) the cover will close to 80%. I used the inverted entity.
I am pretty sure it is also working with home kit and google home
And if you say “close cover” or “open cover”? Afaik some translate this internally to a percent value instead of calling async_clise_cover() - and I would guess it wouldn’t know of inverted positions
create a cover that does nothing. After that create a routine that close the cover to xx%
Then create an automation with the trigger close cover and condition close cover to xx%
?
Edit: Ok i found a solution with node red that actually works with alexa. Working commands are
Alexa set xx to yy %
Alexa close xx
Alexa open xx
The service i call is my inverted cover helper “cover.dg_rollladen_inverted”