Skip to content

Update opening device position from status requests#680

Open
mnaggatz wants to merge 3 commits intoJulius2342:masterfrom
mnaggatz:fix/status-request-opening-device-position
Open

Update opening device position from status requests#680
mnaggatz wants to merge 3 commits intoJulius2342:masterfrom
mnaggatz:fix/status-request-opening-device-position

Conversation

@mnaggatz
Copy link
Copy Markdown
Contributor

@mnaggatz mnaggatz commented May 6, 2026

Fixes #679

During live testing with a courtyard gate, a garage door and Somfy roller shutters, these opening devices could remain unknown for a long time after a Home Assistant restart.

The heartbeat already sends status requests for all nodes when heartbeat_load_all_states=True, but NodeUpdater.process_frame_status_request_notification() only applied position data from GW_STATUS_REQUEST_NTF for Blind and DualRollerShutter. Other OpeningDevice types such as Gate, GarageDoor and RollerShutter ignored the main parameter (MP, NodeParameter(0)) from the status request response.

This updates generic OpeningDevice instances from concrete status request MP values, while still ignoring unavailable values such as UNKNOWN / IGNORE. The specialized handling for Blind and DualRollerShutter is unchanged.

Added regression tests for:

  • Gate recovering from UNKNOWN via status request MP data
  • GarageDoor recovering from UNKNOWN via status request MP data
  • unavailable status request values not replacing an existing concrete position

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 6, 2026

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  src/pyvlx
  node_updater.py
Project Total  

This report was generated by python-coverage-comment-action

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Gate and garage door remain unknown after restart because status request position is ignored

1 participant