Checklist
Adaptive Cover Pro version
2.25.2
Home Assistant version
2026.6.1
Cover type
vertical
Describe the issue
Summary
A custom position configured as a floor (minimum mode) with priority
higher than manual override (80) does not raise the cover when
the physical position is below the floor, as long as a manual override
is armed. The floor handler compares its value to the pipeline's
theoretical winner position (the manual override's "hold" target),
not to the cover's actual position.

Configuration
- Cover:
cover.store_centre_droit
- Custom position # 4 ("Accès terrasse"):
- sensor:
input_boolean.acces_terrasse
- position: 80%
- mode: minimum (floor)
- priority: 82
- Manual override priority: 80 (default)
- Default position: 90%
Expected
Custom # 4 (priority 82 > manual override priority 80) takes precedence,
or at minimum the floor logic detects that the physical position
(50%) is below the floor (80%) and raises the cover to 80%.
Actual
Cover stays at 50%. Decision trace:
```json
{
"handler": "manual_override",
"matched": true,
"position": 90,
"reason": "manual override active — holding default position 90%"
},
{
"handler": "custom_position_4",
"matched": false,
"reason": "floor 80% inactive (winner 90% above floor)",
"position": 80
}
```
The reason "winner 90% above floor" shows the floor compares against
the manual override's theoretical target (90%), not the cover's
actual position (50%). As a result, the floor never engages while
a manual override is armed, regardless of the physical position.
Reproduction steps
- Move the cover manually to 50% → manual override armed (holds 90% theoretical).
- Turn
input_boolean.acces_terrasse on.
Diagnostics file (attachment)
config_entry-adaptive_cover_pro-01KRF4H2NZMJ31SM2GNRRTFS68.json
Checklist
Adaptive Cover Pro version
2.25.2
Home Assistant version
2026.6.1
Cover type
vertical
Describe the issue
Summary
A custom position configured as a floor (minimum mode) with priority

higher than manual override (80) does not raise the cover when
the physical position is below the floor, as long as a manual override
is armed. The floor handler compares its value to the pipeline's
theoretical winner position (the manual override's "hold" target),
not to the cover's actual position.
Configuration
cover.store_centre_droitinput_boolean.acces_terrasseExpected
Custom # 4 (priority 82 > manual override priority 80) takes precedence,
or at minimum the floor logic detects that the physical position
(50%) is below the floor (80%) and raises the cover to 80%.
Actual
Cover stays at 50%. Decision trace:
```json
{
"handler": "manual_override",
"matched": true,
"position": 90,
"reason": "manual override active — holding default position 90%"
},
{
"handler": "custom_position_4",
"matched": false,
"reason": "floor 80% inactive (winner 90% above floor)",
"position": 80
}
```
The reason
"winner 90% above floor"shows the floor compares againstthe manual override's theoretical target (90%), not the cover's
actual position (50%). As a result, the floor never engages while
a manual override is armed, regardless of the physical position.
Reproduction steps
input_boolean.acces_terrasseon.Diagnostics file (attachment)
config_entry-adaptive_cover_pro-01KRF4H2NZMJ31SM2GNRRTFS68.json