Skip to content

False manual override triggered when ACP commands a position change and cover response is delayed #546

@environ314Q

Description

@environ314Q

Checklist

  • I have worked through the Troubleshooting wiki page and my issue is not covered there.
  • I have confirmed I am running the latest release.
  • I have searched existing bug reports and this is not a duplicate.
  • This report covers a single bug (open a separate issue for each additional bug).
  • I have attached the diagnostics file as an upload (drag-and-drop the JSON file into the Diagnostics field below — do not paste its contents). See Downloading Diagnostics.

Adaptive Cover Pro version

2.26.0

Home Assistant version

2026.6.1

Cover type

vertical

Describe the issue

Summary

Adaptive Cover Pro armed a manual override on cover.volet_chambre at 05:51 UTC, even though the user did not touch the cover. The override was triggered because ACP calculated a new target position (100%), sent the command, then re-read the cover position before the cover had time to respond, and interpreted the unchanged position as a manual intervention.

Image

Configuration (relevant fields)

sensor_type: cover_blind
enable_sun_tracking: false
default_percentage: 100
sunset_position: 25
return_sunset: false
start_entity: input_datetime.heure_ouverture_volets_chambre  # value: 08:00
end_entity: input_datetime.heure_fermeture_volets_chambre    # value: 22:00
manual_override_duration: 2 hours
delta_position: 1.0
position_tolerance: 3.0
delta_time: 2.0
manual_ignore_intermediate: false

No custom positions, no climate mode, no motion sensors, no force override.

Expected behavior

When ACP commands the cover to move from 25% to 100% (because the pipeline transitions from sunset to default), it should:

  1. Send the position command to the cover.
  2. Wait for the cover to acknowledge / report a new position.
  3. Only consider a manual override if the cover's reported position diverges from the commanded position after the cover has had a reasonable time to respond.

Actual behavior

ACP detected an apparent "manual intervention" within ~7 seconds of attempting to command the cover, even though no human action occurred. The cover was simply slow to respond (or the command never went through to the physical cover), and ACP misinterpreted the unchanged position as a user override.

Timeline (from diagnostics event_timeline)

All timestamps in UTC. Local timezone: Europe/Paris (UTC+2 in summer).

03:28:00.793  pipeline_evaluated
              winning_handler: default
              position: 100
              reason: "no active condition — default position 100%"
              is_sunset_active: false
              ← sunset window closed; default 100% becomes target

[pipeline keeps evaluating "default 100%" every 2-4 minutes,
 but no command is sent because cover is already considered "at target"
 from ACP's internal state perspective — actual cover is still at 25%]

05:51:01.547  pipeline_evaluated
              winning_handler: default
              position: 100

05:51:04.585  pipeline_evaluated
              winning_handler: default
              position: 100
05:51:04.586  manual_override_rejected_position_unavailable
              entity_id: cover.volet_chambre
              our_state: 100
              new_position: null
              reason: "position unavailable (transient state)"
              ← cover is in a transient state (probably moving or unreachable)

05:51:11.275  pipeline_evaluated
              winning_handler: default
              position: 100
05:51:11.276  manual_override_set      ← FALSE POSITIVE
              entity_id: cover.volet_chambre
              our_state: 100
              new_position: 25
              effective_threshold: 3
              reason: "delta 75.0% >= threshold 3%"

05:55:01      pipeline_evaluated
              winning_handler: manual_override (priority 80)
              position: 100
              reason: "manual override active — holding default position 100%"

06:00:49      time_window_changed: false → true
              ← time window opens (08:00 Paris = 06:00 UTC)
              but manual override is already active and will block any action
              until 07:51 UTC (09:51 Paris)

Reproduction steps

.

Diagnostics file (attachment)

config_entry-adaptive_cover_pro-01KRPMH4T6DJ2MW2Q0CXR66KBC.json

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingreleasedFix has shipped in a stable production releasewaiting-for-confirmationShipped in a release — awaiting reporter verification

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions