Skip to content

fix(services): send status and dimension requests from send_message as requests - #782

Merged
GreenGrassBlueOcean merged 1 commit into
v2-phase1-architecturefrom
fix/send-message-status-requests
Oct 23, 2026
Merged

GreenGrassBlueOcean merged 1 commit into
v2-phase1-architecturefrom
fix/send-message-status-requests

Conversation

@GreenGrassBlueOcean

Copy link
Copy Markdown
Contributor

Follow-up to #777 / #781.

Problem

myhome.send_message passed every frame to handler.send(), so a status or dimension request such as *#1*52*5## went out as a command. In the #777 reporter's first trace, the F454 with a Legrand 067226 at 52 answered that request with a WHERE 0 reply and a NACK. OWNd then:

  1. logged Could not send message … Retrying (1),
  2. sent the request a second time, and
  3. logged No more retries at ERROR.

The integration's own startup queries from the motion sensor (*#1*52*5##, *#1*52*7##) were never affected. They already go out as status requests, and the reporter's retest shows them logged as Gateway rejected status request … (NACK, 0 response(s)) at DEBUG.

Change

Status and dimension requests from send_message now go through send_status_request(), the same path the integration's own queries use:

  • same queue, status priority tier
  • a NACK is final and logged at DEBUG, the request is not repeated

Commands and dimension writes (*#1*52*#1*150*5##) still go through send().

Testing

  • tests/test_send_message_status_requests.py (new):
  • Full suite: 4408 passed.
  • The new tests and tests/test_f461_live_plant.py also pass against the released OWNd 2.0.0b11 pin.
  • ruff, verify_ha_standards.py and sync_documentation.py --check are clean.
  • OWNd's own test_command_session_send_immediate_status_nack_is_final covers the "NACKed status request is final, logged at DEBUG" behaviour this relies on.

🤖 Generated with Claude Code

…s requests

myhome.send_message passed every frame to handler.send(), so a status or
dimension request such as *#1*52*5## went out as a command. When the
gateway NACKed it (an F454 with a Legrand 067226 at 52 answers with
WHERE 0 replies and a NACK, #777), OWNd logged "Could not send message
... Retrying (1)", sent the request a second time and then logged
"No more retries" at ERROR. These are the ERRORs in the #777 reporter's
first trace; the integration's own startup queries were already sent as
status requests and only log the NACK at DEBUG.

Status and dimension requests now go through send_status_request():
same queue, status tier, a NACK is final and logged at DEBUG. Commands
and dimension writes are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@GreenGrassBlueOcean
GreenGrassBlueOcean merged commit c891f05 into v2-phase1-architecture Oct 23, 2026
17 checks passed
@GreenGrassBlueOcean
GreenGrassBlueOcean deleted the fix/send-message-status-requests branch October 23, 2026 17:42
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.

2 participants