|
Hi, I have 2 somfy rts blinds: one somfy motor and one generic wired motor connected to a centralis rts indoor (enabling somfy controls), connected to an rfxtrx in home assistant. I set up a my position at about 10% for both, and have a custom position to use the my position when sun is in front of the window. as an aside, for non-positioning reporting blinds with a my position, I would find it more logical if there was also a toggle to use the my position for sunblokcing, as there is for using the my position as sunset position - but this is solvable via the custom position. The problems I'm having:
I'm not sure why it doesn't seem to send the open command, as it "knows" it is at 10 % for the my position, and 100% is larger then delta or other opening thresholds.... I tried the latest beta as #888 does seem to change something about the my position handling, but it behaves the same for this problem. Any insight would be appreciated :-) |
Replies: 2 comments 4 replies
|
Yeah, this is a real bug, and it's a good catch on both fronts. The core problem is that RTS covers like yours don't report a position back to Home Assistant. They only report an open/closed state, and Adaptive Cover Pro has to fake a position out of that, mapping "open" to 100 and "closed" to 0. Normally that's a harmless approximation, but RFXtrx has a quirk: every stop command it sends marks the cover as "open" in HA, regardless of where it physically is. The moment ACP triggers My and stops the motor at 10%, HA reports the cover as open, and ACP reads that as 100, even though the blind's still sitting at 10%. That mismatch explains both of your symptoms. The repeated stops happen because ACP thinks the cover is at 100 while the target position, My at 10, never changes, so it looks like a big correction is needed every single cycle. Normally there are safeguards that stop it from re-firing the same command over and over, but they both get fooled here. The position gap looks too large to filter out, and the timestamp check doesn't help either, because HA doesn't update the entity's last-changed time when the reported state doesn't change. Every sun update sends another stop as a result, interrupting the motor mid-travel and restarting the cycle. I'd guess that's the real story with your Centralis unit too. It's just slower to reach My, so the next stop catches it still moving. Your direct Somfy motor is probably fast enough to beat that cycle most of the time. The failure to reopen is the same root cause, just from the other side. Once the cover's parked at My and HA says "open," ACP thinks it's already at 100. When it goes to send the default position (100) afterward, it looks like nothing needs to change, and it skips the command entirely. Trying the beta wasn't a bad instinct, but #888 isn't what's causing this. It fixed the card's display of My position, so it now correctly shows 10% instead of the raw open/closed state, but it never touched how ACP decides what command to send. That actually makes the gap more obvious now: the card says 10, but the logic firing commands still believes 100. I filed #1130 for the underlying bug, and #1131 for your "use My for sun blocking" suggestion. You're right that there's no equivalent to sunset_use_my for the solar handler today, and your custom-position workaround is genuinely the only way to do that right now. I'm inferring something here rather than confirming it. I'm assuming the custom position slot you're using has "use My position" enabled, since that's the only way the stop-command routing makes sense. Can you confirm that's how you've got it set up? There's no config change I can point you to that avoids this in the meantime. It needs an actual code fix on my end, so I'd rather tell you that straight than send you chasing settings that won't help. For details, see the My Position Support (Somfy RTS) wiki page. |
|
I was experimenting now with setting the state to unknown manually via developper tools in HA, as unknown is referenced in the documentation here and there as an expected state for stateless covers.
So creating a template cover might be a workaround. |

Good news on this one. I shipped the fix for #1130 in v2026.8.0, released August 5. Assumed-state covers no longer read as a fake 100/0 in the command gates, so the repeat stops and the dropped reopens should both be gone.
Your unknown-state experiment was a good catch, by the way. It lines up with what I'd diagnosed exactly: setting the state to
unknownsidesteps that fake 100 reading, which is why the reopen suddenly worked instead of reportingsame_position. You found the mechanism from the outside.Worth upgrading and pulling ACP out of debug mode. Drop the bridging automation and let it drive the covers directly again. If it doesn't hold on your setup, comment on #1130 and I'll take …