Skip to content

[BLOCKED: PENDING TRACES] test: accept the OWNd#88 holiday readings for 13xxx/23xxx - #650

Closed
gdluck wants to merge 1 commit into
OpenWebNet-HA:v2-phase1-architecturefrom
gdluck:test/accept-ownd88-holiday-readings
Closed

gdluck wants to merge 1 commit into
OpenWebNet-HA:v2-phase1-architecturefrom
gdluck:test/accept-ownd88-holiday-readings

Conversation

@gdluck

@gdluck gdluck commented Oct 7, 2026 •

Copy link
Copy Markdown

Warning

Blocked Pending Authentic Customer Traces: This PR is blocked from merging. In accordance with the project's strict protocol conformance rules ("They are facts: never edit a frame"), relaxing test assertions for *4*13001*1## and *4*23001*1## to accommodate OWNd#88 / OWNd#97 requires an authentic, untouched customer on-wire bus capture of a physical thermoregulation central unit emitting these frames on a live plant.

Requested by A · project thread

Before: tests/test_message_edges.py (MyHOME's copy of the OWNd edge tests) asserts that *4*13001*1## and *4*23001*1## parse as auto. OpenWebNet-HA/OWNd#88 reads them as the heating / conditioning holiday (Legrand WHO 4 v2.0.0 p. 5 and p. 64; libqtdevices thermal_device.cpp:258-262, 303-307), so OWNd's downstream "MyHOME test suite" job, which runs this branch's tests against the OWNd pull request, fails on those two assertions.

After: the two tests accept both readings (auto with the pinned OWNd 2.0.0b10, heat / cool with OWNd#88 and later), with a comment saying why. Checked locally: 182 passed against OWNd master and 182 passed against the OWNd#88 branch; the previous file fails 2 against OWNd#88.

How: tests/test_message_edges.py only, no integration code. Once the OWNd pin moves past #88 the assertions can be tightened to the new reading.

  • V2 Architecture: no entities touched.

🤖 Generated with Claude Code
https://claude.ai/code/session_018oHp1P4vxxoFnaLUUZpbpZ

The vendored OWNd edge tests asserted the pre-OpenWebNet-HA#88 'auto' reading for
*4*13001*1## and *4*23001*1##, which makes OWNd's downstream MyHOME job
fail on OpenWebNet-HA/OWNd#88. Accept both readings until the OWNd pin
moves past OpenWebNet-HA#88.

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

Copy link
Copy Markdown
Contributor

@gdluck please add a real trace here would be hugely beneficial for 3464d91 as well

@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 changed the title test: accept the OWNd#88 holiday readings for 13xxx/23xxx [BLOCKED: PENDING TRACES] test: accept the OWNd#88 holiday readings for 13xxx/23xxx Oct 8, 2026
@GreenGrassBlueOcean

Copy link
Copy Markdown
Contributor

PR Merging Blocked: Pending Authentic On-Wire Bus Traces

In accordance with OpenWebNet-HA repository and protocol verification standards:

  1. Mandatory Trace Gate: All protocol assertions and parser reclassifications in OWNd and MyHOME must be backed by authentic, untouched on-wire customer plant bus traces.
  2. Corpus Audit Findings: A comprehensive audit across all gateway traces in tests/fixtures/traces/ confirms there are zero on-wire customer captures of physical thermoregulation central units emitting *4*13xxx* or *4*23xxx* frames.
  3. Trace Requirement: Relaxing edge tests in MyHOME (tests/test_message_edges.py) to mask an unverified parser change in OWNd without authentic trace backing bypasses the trace gate. Furthermore, parent PR OWNd#88 was closed and consolidated into OWNd#97, and this PR currently has merge conflicts (dirty).

Therefore, this PR is strictly blocked from merging until an authentic customer bus trace of a central unit in holiday operation is contributed from a physical installation.

@GreenGrassBlueOcean
GreenGrassBlueOcean marked this pull request as draft October 8, 2026 15:19
@GreenGrassBlueOcean

Copy link
Copy Markdown
Contributor

@xtimmy86x can you maybe help us out here with a trace?

@GreenGrassBlueOcean

Copy link
Copy Markdown
Contributor

@nicolacavallo84 could you help us capture a quick trace from your BTicino 3550 central unit?

To unblock the holiday / vacation parser validation for WHO 4, we need an authentic on-wire capture of the physical central unit emitting holiday operation:

  1. Setting a 1- or 2-day Vacation ("Vacanze") from the 3550 keypad / display
  2. Setting a Daily Holiday ("Festivo") plan
  3. Cancelling the vacation / returning back to the normal program

Exporting the trace JSON from the Bus Monitor card (custom:myhome-bus-card) or downloading Diagnostics from Settings → Devices & Services → MyHOME would give us the exact on-wire frames to satisfy the trace gate!

@GreenGrassBlueOcean

Copy link
Copy Markdown
Contributor

Trace Gate Satisfied & PR Superseded

The trace gate blocking this PR has been satisfied: authentic physical on-wire bus traces from a BTicino F453AV (FW 3.0.14) operating Central Unit #0 in holiday plan (*4*115#1101*#0##), auto-expiration (*4*1101*#0##), and companion transitions were contributed by @nce2704 and ingested into the repository in #692 (tests/fixtures/traces/issue_619/).

Furthermore, the test assertion relaxation in tests/test_message_edges.py accepting both CLIMATE_MODE_AUTO and CLIMATE_MODE_HEAT / CLIMATE_MODE_COOL was already integrated into v2-phase1-architecture via commit 3464d91 (#657) with @gdluck co-authored. Comprehensive attribute handling for holiday/vacation modes is progressing in #689.

Closing this PR as superseded.

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.

3 participants