My KNX device (Busch Jaeger Powernet cover actor) does not have a position_address(_state)? object, therefore the position is based on travelling time, which works perfectly if controlled by HA. But if the move group address objects are sent via KNX, the UI does not update. Is there a limitation that the automatic UI update does only work if there is a position_address_state group address available?
For the UI to update the state, the actuator has to send the current state position.
Are you sure the actuator does not have the position state object? In some actuators it is necessary to activate the position state in the parameters.
I have the same problem. The actor has no state position object. What about assuming if we have received a down on move_short_adressat all the cover position gets immediately set to 0 and when we receive an up its immediatly set to 100%.
Because as how it is now its not really usable for me. The cover does not update when triggered directly within KNX. Its always closed. All rules/automations dont really work, because the cover is so “clever” that it does not send UP when the cover is already open.
Doesnt help with no state position object for me the KNX cover is not usable.
I am having exactly the same problem. I got everything working (more or less) via Home Assistant, but no status change when controlling the cover via the physical buttons. Can this not be fixed somehow in the code? The component should listen to the addresses move_long_address and move_short_address and start/stop changing position in HA accordingly.
One thought: Could an alternative be a template cover and a lot of knx_event actions for up, down, stop. It is quite ugly, but I will try it out tomorrow.
Template Cover: down_living_screen_ctrl used in HA UI to control the cover. On OPEN/CLOSE/STOP it always first sets a input_boolean to ON, then moves the actual KNX cover.
Below automation will listen to the KNX bus. If message is received, check the input_boolean mentioned above. If ON nothing happens as the message was triggered by HA, so all is fine. The input boolean is turned OFF again. If the input_boolean is OFF, then the KNX bus message was triggered from elsewhere, so the OPEN/CLOSE/STOP functions of the Template Cover are called. (Unsolved problem is that this will trigger a second message to the KNX bus, but as it is the same message as received, it doesnt really matter.)
@farmio, not sure if I get you right. You saying that virtual pos calculation is already in the standard KNX integration?
I have the problem that my KNX actors do not provide have a position state.
When I start HA it assumes all covers are down. Typically I code during a day so they are up. When the first automation kicks in it wants to send them down. Nothing happens.
I believe the system thinks they are down, so why send them down again.
Anyhow. Its anoying. I will try to set the position state to none on HA Start. That might work.
I already had a look at it, but no time to “fix” it. The position “calculation” is indeed done in the xknx module. But this is only done if the start and stop command has been initiated by xnkx, not by the commands on the bus. So this would be the place to look at, I did not have the python skills to find out where to lay my hands on.
It would be really great if someone could fix it. I had exactly the same problem like @rak with stating position after HA restart. My workaround is the template cover. To be exact:
In KNX Cover invert_position: true: This will make that it starts at position 0%, but the UP/DOWN buttons are inverted (=wrong)
Template Cover wrapping the KNX Cover. Template.open_cover calls KNX.close_cover etc. This corrects the open/close functionality. Issue: When the template cover is at 0%, the arrow down is disabled in UI. Therefore:
position_template returning 1 if position is 0 and 99 if position is 100. This makes sure that both arrows are always displayed, which I think is good.
WAF is going down significantly. Any help on the horizon? Otherwise I need look into this appdaemon thing. Learning a full new tool and programming language just to have blinds go up and down seems a pitty.
There is a ticket already for the KNX component already
UPDATE:
Heureka, I got a tip from one of the xnkx developers and created a workaround.
add to your knx: section these lines to get the knx event fired to the hA event bus: