Hi all, I am new but succeeded to configure all my covers in HA.
They individually report “closed” when 100% closed, otherwise “open” which is fine.
When I close the blinds in the evening, I would like to have a message on my lovelance confirming that indeed all the blinds are in a closed state.
I tried to get this done using a “group”. This group does report if all covers are open but I can’t figure out how to “revert” this and get a confirmation when all are closed. Any help is highly appreciated.
According to the group
docs, by default, the group’s state should should behave opposite to how you described, as in, if one cover is open
, the group’s state will be open
:
By default when any member of a group is
on
then the group will also beon
.
Setting the all
variable to true will enable the behavior you described, where all entities must be on
for the group to be on
. Did you enable this variable?
If you are still having trouble, could you share your group YAML?
Hi there, many thanks for the support. Indeed, the standard group behaviour acts opposite to what I need.
As far as I understand the result of a group is true if 1 of the entities is true.
When using the “all” variable, the group will be true if all the entities are true.
What I need is a true returned only in the case where all the entities are false.
Below my group YAML, quite standard I think.
group_status_alle_somfy_rolluiken:
name: Status alle Somfy Rolluiken
entities:
- cover.somfy_rolluik_keuken_links
- cover.somfy_rolluik_keuken_rechts
- cover.somfy_rolluik_living_links
- cover.somfy_rolluik_living_rechts
- cover.somfy_rolluik_living_zijraam
- cover.somfy_rolluik_wasplaats
all: true
The group already indicates when all of its members are off
by reporting ‘off’. It only reports off
when all are off
. The off
state is presented as ‘closed’ in the UI if all group members have the same device_class such as door, window, cover, etc.
What other word than ‘closed’ do you want to see to indicate when they are all closed? If you want ‘True’ then create a Template Sensor to do that. Here’s a suggested template:
{{ 'True' if is_state('group.your_blinds', 'off') else 'False' }}
Why try to force true
instead of just checking for false
? My point in my original reply was that the default behavior provides what you are asking for.
Hi there,
thanks again for the help but I still think we not yet resolved the problem.
What I want to achieve is that the result returned by the group is only “closed” if all the blinds are closed.
According to the Home Assistant manual and confirmed by my testing:
a) In the group with the parameter “all=true” the result of the group is “open” if all the covers are open and “closed” if part or all covers are closed → this means that if the group returns a “closed” I still can’t be sure all blinds are closed.
b) In a group without the parameter “all” (meaning “all=false”), the result will be “open” if only 1 blind is open. In all other cases the group will return a “closed”. Again the group does not only return a “closed” if all the covers are closed.
Any suggestions ? Perhaps this can’t be resolved by just simple using a group.
Your description is incorrect. The group will be open
if one or more covers are open
, returning closed
only if all covers are closed
. I’m not sure how this isn’t what you are looking for.
To show how the default functionality of groups works, I set up this group:
test_toggle_group:
name: Test
all: false
entities:
- input_boolean.dummy
- input_boolean.dummy_2
It is just two test toggles with all
set to false. Here it is, functioning:
Notice that the group is immediately set to on
once one of the members is set to on
and all members must be off
for the group to be set to off
.
Can you please describe the difference between this functionality and the functionality you’re hoping for?
Hi there,
many many thanks for the help.
This actually is the desired behaviour.
For documentation purposes I tested this and below the results.
For this test I used 2 covers.
The desired behavior is that the group returns:
- 1 status if both covers are closed
- Another status for all other positions
Table
cover.somfy_rolluik_living_zijraam | cover.somfy_rolluik_living_rechts | Desired group status |
---|---|---|
Closed | Closed | Status 1 (e.g. Closed) |
Closed | Open | Status 2 (e.g. Open) |
Closed | Half open | Status 2 (e.g. Open) |
Open | Open | Status 2 (e.g. Open) |
I tested this with the group definition below.
This is what Home Assistant returns
cover.somfy_rolluik_living_zijraam | cover.somfy_rolluik_living_rechts | Desired group status |
---|---|---|
Closed | Closed | Closed |
Closed | Open | Closed |
Closed | Half open | Closed |
Open | Open | Open |
Conclusion: does not give the desired result
Then I tested this again with the parameter “all” set to “false”
This is what Home Assistant returns
cover.somfy_rolluik_living_zijraam | cover.somfy_rolluik_living_rechts | Desired group status |
---|---|---|
Closed | Closed | Closed |
Closed | Open | Open |
Closed | Half open | Open |
Open | Open | Open |
Conclusion: this is the desired result !
Marking your own post as the Solution suggests you solved it when, in fact, you didn’t.
It was already explained to you, by r-j-taylor and me, that the group already behaves the way you required.
I suggest you review guidelines in the FAQ, specifically guideline 21.