KNX Cover without or overwrite position state address

Hey guys,
I have some knx group addresses with which I control several covers at once (e.g. all covers of the house) but the position state is there not set perfectly since it always takes one (the last one changed) position since a logic would be needed to combine all status from all covers. with my KNX control buttons it is no issue since I can always select up and down independed of the position state but in HomeAssistant it geys out the “moving up arrow” when i pressed that once even thouge one of the covers is not up anylonger since it was controlled separatley.

So I would like to have at least this option as well in homeassitant, so that the position address is ignored and i can always move up or down all covers. ideally of course it calculates if there is some cover open or closed an if all are open then i can only press the down button but if thats too complicated the first solution would be fine for me.

but how do i realize that? I need to put the position address there, can i somehow overwrite it with a fixed value which does not change (e.g. 50%)?

currently it looks like that:

cover:
  - name: "Haus Alle - Rollo"
    move_long_address: "0/3/020"
    stop_address: "0/3/021"
    position_address: "0/3/022"

how it is now:

  1. i press all covers up button
  2. i put a few covers down again (controlled via separate buttons/addresses)
  3. i would like to press again all up, but that is not possible since it is greyed out, then I need to go to each cover again to roll them up.

I hope this is somehow solvable :slightly_smiling_face:

Thanks
Johannes

Hi :wave:! Doesn’t your cover actuator provide state objects for the position?

it does provide it but only one status for each cover, but as I mentioned, and if i combine all status into one groupaddress it is not correct since its only taking the status of one cover which was used last and not if all covers have the same status (therefore some sophisticated logic would be needed).

is it possible to always have both arrows be availabe to click in home assistant?

Ah I see. You could try one of those:

  • a template cover entity with Knx.send instead of a Knx entity
  • a helper exposing the calculated (min/max) position to an internal GA
  • a HA group of single-cover Knx entities instead of using this multi-cover group address

thanks a lot for that ideas,
i am triing out the template option but seems like i am missing something but it says: property cover is not allowed but its a copy from the documentation, i put it directly into the configuration.yaml:


template:
  - cover:
      - name: Haus Rollos
        state: "{{ states('sensor.garage_door')|float > 0 }}"
        device_class: garage
        open_cover:
          action: knx.send
          metadata: {}
          data:
            response: false
            address: 0/3/020
            payload: 0
        close_cover:
          action: knx.send
          metadata: {}
          data:
            response: false
            address: 0/3/020
            payload: 1
        stop_cover:
          action: knx.send
          metadata: {}
          data:
            response: false
            address: 0/3/021
            payload: 1

Are you using latest version of HA?

hey, yes was using the lastest HA, and it also works fine with the template but it shows the error message in the code editor, no idea why.

but i guess i can ignore the error since it works, so thanks for that solution ideas!

Right, this was only recently introduced (I think in May). The VSCode plugin uses it’s own validation logic - it’s not always up to date…