Combining multiple cover switches into one

I have a large south facing window onto a balcony, with blinds controlled through HA. For practical reasons, there are three separate blinds.
I now want to lower these three as a group, i.e. have a single ‘cover’ like switch lower, raise and stop all three at the same time. (And still be able to raise/lower all three individually)

I can’t seem to find the right way to go about this. I’ve looked at template switches, but I can’t find the corresponding entities for covers ?

What should I be looking at ?

If you put all 3 in a group, and then put that group as an entity on a card, does that give you a master switch?

EG:

group:
  balcony_window:
    entities:
      - [entity_id for blind number 1]
      - [entity_id for blind number 2]
      - [entity_id for blind number 3]

  balcony_master_switch:
    name: Balcony
    entities:
      - group.balcony_window

I can’t test at the moment, but I think that should give you what you’re after?

Thanks for your suggestion. I tried it, but it doesn’t quite work:

I get a group Balcony which holds an entry balcony_window, marked with an icon with three dots in a triangle and no switch or state info, but there is a second group balcony_window that holds the cover switches.

After some more googling and reading, I thought I might be able to do it with a template, but there is no cover.template platform… Judging by this https://home-assistant.io/components/switch.template/ there is a switch.template…

Can anyone point me to the switch.template source… Feels like I should be able to create a cover.template

You could do an input Boolean that triggers an automation to open all or close all.

Thanks for your suggestion, I’ll give the input Boolean a try this weekend. Might be a bit tricky to get it to stop halfway down through.

yeah never thought of the stopping part.


here is the switch template source if that gets you on the tight path.

https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/switch/template.py

looks like someone else opened a feature request.

Thanks for the link.

Constructing a template looks feasible to me, at least at first glance. I’ll give it a go over the weekend.

Made some progress on the cover template. Just managed to close one blind through the template.
Only problem is that the template only has an active stop and down button; the up button is greyed out. Guess I’ll have to look for the remote, it’s a bit dark in here :wink:

Edit: The demo works! Figured out the syntax for multiple entity_ids. I’ll sync and start the submission process.

that is awesome! I can see some use cases in my home as well. Look forward to it.

I also found the following post which makes it seem like this should ahve already been possible?

Any luck with this? I now have the need for a template cover.

Unfortunately, little progress to report; I got side tracked by problems at home and work. Hoping to pick it up again this weekend. (I’m travelling 'till friday)

Status:

  • Code for the template works; I’ll see if I can put this on GItHub
  • Test code fails, problem seems to be in the way I attempt to define a template cover in the test.

I’ll see if I can find the code in my github repo tonight; I’ll post a link if I can.

Don’t have much bandwidth here, but:
https://github.com/timt1961/home-assistant, branch covertemplate.

the code for the template, is in homeassistant/components/cover/template.py
test code is in tests/components/test_template.py

Code works fine in my environment, but like I said, the template creation in for instance test_template_state_text fails; the first assert_component_setup(1, ‘cover’) fails, looks like nothing is created.

Tips are welcome… what am I doing wrong here.

I’m needing something similar. I have 3 cover entites to control my bedroom shades. I want a single switch that will be exposed to google home so I can say “hey google, close the master bedroom shades”.

I looked at your github repo and didn’t see the files you mention. Perhaps they are on a different branch?

It’s been a while, so I can’t be too sure about the exact locations. I never had the time to finish this properly.
I do see the source code, but it does look I forgot to checkin the test code. I’ll check if I still have it on disk somewhere.

I currently use a different approach, covers as a group:

cover:
  - platform: group
    name: Front Window
    entities:
      - cover.left_front
      - cover.right_front

This gives a single switch to control two or more covers at the same time. Turns out to be just what I wanted .

1 Like

I know it’s an old topic, but i struggle to get the above working.
I grouped my cover switches into one group.
Then I made a button in Lovelace. But when I press it it shows: “couldn’t find service cover.turn_off” or “couldn’t find service cover.turn_on”.
Which is obvious because for the single covers, the services are named cover.toggle, cover.open and cover.close.

Any idea his to solve this?
Thanks in advance.

Hello,

You’re using two services which doesn’t exist ; use cover.open or cover.close_cover

Best regards,

1 Like