Combine two cover entities into one

Hi,

I have a Qubino roller shutter module in “venetian blinds” mode.
In this mode, it presents itself as two different device, one for controller open/close of the blind and one for open/close the slats.
I like to combine this into “one virtual device” do that I can use the mushroom cover card to control all from one card (Like I have with some Fibaro roller shutter 2 devices in venetian blind mode)
Is there a way to make that happen ?

Probably what you’re after. Link takes you to an example for controlling multiple covers as one.

Thanks, I saw that , however it’s a bit complicated for me…
I think I have to look at “group position” and “tilt position” I have however no idea where in this template I should enter the correct ID’s.

My “cover” entity = cover.flush_shutter
My “tilt” entity = cover.flush_shutter_2

Well, I almost have it working now, except the “tilt” is not working, when I press a button I get:

image

the code part looks like this:

cover:
  - platform: template
    covers:
      cover_group:
        friendly_name: "Grote Raam Group"
        open_cover:
          service: script.cover_group
          data:
            modus: "open"
        close_cover:
          service: script.cover_group
          data:
            modus: "close"
        stop_cover:
          service: script.cover_group
          data:
            modus: "stop"
        set_cover_position:
          service: script.cover_group_position
          data:
            position: "{{position}}"
        set_cover_tilt_position:
          service: script.cover_group_tilt_position
          data:
            tilt: "{{tilt}}"
        value_template: "{{is_state('sensor.cover_group', 'open')}}"
        icon_template: >-
          {% if is_state('sensor.cover_group', 'open') %}
            mdi:window-open
          {% else %}
            mdi:window-closed
          {% endif %}

script:
  cover_group:
    sequence:
      - service: "cover.{{modus}}_cover"
        target:
          entity_id:
            - cover.flush_shutter
  cover_group_position:
    sequence:
      - service: cover.set_cover_position
        target:
          entity_id:
            - cover.flush_shutter
        data:
          position: "{{position}}"
  cover_group_tilt_position:
    sequence:
      - service: cover.set_tilt_position
        target:
          entity_id:
            - cover.flush_shutter_2
        data:
          position: "{{tilt}}"

looks like the service should be cover.set_cover_tilt_position

link to cover docs

The Z-Wave integration does not support tilt for your device. Doesn’t matter whether you have one or two entities, neither of them support it. Someone needs to write the code for it.

Your problem is the same as this issue: https://github.com/home-assistant/core/issues/64538

A workaround would be to use the zwave_js.set_value service call in your cover template, and specify the second endpoint for your tilt command. If you need to report tilt position, the value of the result can be obtained through the zwave_js.value_updated platform trigger.

Great, thanks for pointing in that direction, it was not exactly like that as the “flush shutter 2” also required “cover.set.cover.position” of-course but that was just logic thinking from my side.
One more adjustment in the “sensor” part and now, end result looks like this and works !


cover:
  - platform: template
    covers:
      cover_group:
        friendly_name: "Grote Raam Group"
        open_cover:
          service: script.cover_group
          data:
            modus: "open"
        close_cover:
          service: script.cover_group
          data:
            modus: "close"
        stop_cover:
          service: script.cover_group
          data:
            modus: "stop"
        set_cover_position:
          service: script.cover_group_position
          data:
            position: "{{position}}"
        set_cover_tilt_position:
          service: script.cover_group_tilt_position
          data:
            tilt: "{{tilt}}"
        value_template: "{{is_state('sensor.cover_group', 'open')}}"
        icon_template: >-
          {% if is_state('sensor.cover_group', 'open') %}
            mdi:window-open
          {% else %}
            mdi:window-closed
          {% endif %}

script:
  cover_group:
    sequence:
      - service: "cover.{{modus}}_cover"
        target:
          entity_id:
            - cover.flush_shutter
  cover_group_position:
    sequence:
      - service: cover.set_cover_position
        target:
          entity_id:
            - cover.flush_shutter
        data:
          position: "{{position}}"
  cover_group_tilt_position:
    sequence:
      - service: cover.set_cover_position
        target:
          entity_id:
            - cover.flush_shutter_2
        data:
          position: "{{tilt}}"

  - platform: template
    sensors:
      cover_group:
        value_template: >-
          {% if is_state('cover.flush_shutter', 'open') %}
            open
          {% else %}
            closed
          {% endif %}
2 Likes