Repository navigation
feat(trace): add MH202 burglar alarm golden trace fixture and adapt profile tests (#564) - #576
Conversation
…rofile tests (OpenWebNet-HA#564) - Add authentic MH202 on-wire burglar alarm (WHO 5) trace fixture and README documentation from community plant capture (issue OpenWebNet-HA#564 comment 5917195080) - Add deterministic trace replay and MyHOMEAlarmControlPanel state transition tests in test_issue_564_mh202_alarm_trace.py - Expand gateway_tier in topology.py to classify touchscreen models (HC4890, HS4890, L4890, HW4890, MH4892, MH4893, 3488, MyHomeTouch) as Tier 2 - Dynamically adapt shared-bus onboarding, delegation, and repair test assertions for MH202 when WHO 5 is supported in OWNd - Update README.md and docs/trace-availability.md trace matrix with MH202 burglar alarm coverage - Ensure backward/forward compatibility across parser variants in test_issue_466_mh200_trace.py and test_message_edges.py
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
…et-HA#564) OWNd narrows the H4890 profile aliases to the 3.5in 4890 family; larger MyHome Touch and 3488 models are not measured, so they stay tier 3. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Pushed Verified against OWNd#66 at Finding from the audit round: do not map the empty-WHERE WHO 5 spelling to |
a645e7e
into
OpenWebNet-HA:v2-phase1-architecture
|
Pushed a test update: with OWNd#66 at e6cfe52, a system-level |
Summary
Addresses issue #564 (remarks comment 5917195080 and comment 5917278868) by adding the on-wire MH202 burglar alarm trace as a golden fixture and adapting the topology and profile tests to OWNd's WHO 5 changes.
Companion to OpenWebNet-HA/OWNd#66. Merge this first, then OWNd#66. The tests accept both the pinned
OWNd==2.0.0b9and the #66 behaviour.What changes for a shared bus (F454 + MH202)
How a WHO 5 frame reaches the panel
Changes
tests/test_issue_564_mh202_alarm_trace.pyreplays all 18 frames (*5*1*0##,*5*9*0##,*5*11*#1##,*5*18*#5##) through Home Assistant and checks the panel transitions (arm away, disarm, zone status does not pollute).gateway_tier()keeps to the measured names (MH201,MH202,H4890,AM4890,LN4890). Other touch screens are unmeasured and stay tier 3, matching OWNd#66's narrowed aliases.tests/test_multi_gateway.pyandtests/test_shared_bus_onboarding.pyaccept the WHO 5 capability delta for F454 (primary) + MH202 (secondary) in both directions.*5*11*0##accepts botharmed_home(OWNd <= b9) and unchanged state (OWNd#66).docs/trace-availability.mdtrace matrix updated viascripts/sync_documentation.py; edge-case assertions adapted intests/test_issue_466_mh200_trace.pyandtests/test_message_edges.py.Verification
Full suite passes against the local OWNd#66 checkout (2963); the alarm tests also pass against
OWNd==2.0.0b9; ruff clean.