Skip to content

test(alarm): arm with WHAT 8, not WHAT 1 (OWNd#66 conformance) - #608

Merged
GreenGrassBlueOcean merged 1 commit into
OpenWebNet-HA:v2-phase1-architecturefrom
GreenGrassBlueOcean:fix/alarm-what8-is-armed
Oct 2, 2026
Merged

GreenGrassBlueOcean merged 1 commit into
OpenWebNet-HA:v2-phase1-architecturefrom
GreenGrassBlueOcean:fix/alarm-what8-is-armed

Conversation

@GreenGrassBlueOcean

Copy link
Copy Markdown
Contributor

Problem

OWNd#66 (OpenWebNet-HA/OWNd#66) makes is_armed_away WHAT 8 (engage) only, and OWNd's downstream "MyHOME test suite" job went red on 4 tests:

  • test_component_alarm.py::TestMyHOMEAlarmEntity::test_handle_event
  • test_issue_311.py::test_real_world_trace_replay_issue_311
  • test_issue_466_h4890_trace.py::test_h4890_alarm_trace_replay_and_state_transitions
  • test_issue_564_mh202_alarm_trace.py::test_mh202_alarm_entity_state_transitions

All four used *5*1*0## (WHAT 1, activation) as "armed away". The captures say otherwise:

Trace WHO 5 sequence Meaning
F454, #311 *5*1*0## → *5*8*0## arm
F454, #311 *5*2*0## → *5*1*0## → *5*9*0## disarm
H4890, #466 *5*9*0##, *5*1*0##, zones disarmed status dump
MH202, #564 *5*1*0##, *5*9*0## (3 ms apart), zones disarmed status dump

WHAT 0/1 (maintenance/activation) and WHAT 8/9 (engaged/disengaged) are independent axes in the WHO 5 vocabulary. With WHAT 1 read as armed, every disarm goes DISARMED → ARMED_AWAY → DISARMED.

Changes

Tests only:

  • Arm with *5*8*0##. This passes on both OWNd 2.0.0b9 and OWNd#66.
  • test_handle_event also feeds *5*1*0## after a disarm and expects whatever the installed OWNd's is_armed_away says: ARMED_AWAY on b9, DISARMED on OWNd#66.
  • The H4890 frame comments now describe a status dump, not "arm away".

Tests

  • On OWNd 2.0.0b9 (pinned): the 4 files, 15 passed.
  • On the OWNd#66 branch: full suite, 3124 passed.
  • ruff clean.

Merge this before OWNd#66 so OWNd's conformance job (which runs against v2-phase1-architecture) goes green.

  • V2 Architecture: no entity changes.

🤖 Generated with Claude Code

Four alarm tests used *5*1*0## (activation) as "armed away". The F454 trace
(OpenWebNet-HA#311) shows WHAT 1 on every disarm (*5*2*0## -> *5*1*0## -> *5*9*0##) and
in disarmed status dumps; arming is *5*1*0## -> *5*8*0##. The H4890 (OpenWebNet-HA#466)
and MH202 (OpenWebNet-HA#564) captures are disarmed status dumps with no arm transition.

OWNd#66 makes is_armed_away WHAT 8 only, which turned these tests red in
OWNd's downstream conformance job. The tests now arm with *5*8*0##, and the
WHAT 1 case follows whatever the installed OWNd reports, so they pass on
OWNd 2.0.0b9 and on OWNd#66.

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 fb3cce9 into OpenWebNet-HA:v2-phase1-architecture Oct 2, 2026
16 checks passed
gdluck pushed a commit to gdluck/HomeAssistant-MyHOME that referenced this pull request Oct 2, 2026
WHO 5 WHAT 1 ("activation") means the system is operational, not armed:
arming goes *5*1 -> *5*8 (engage), as upstream OpenWebNet-HA#608 notes. OWNd <= 2.0.0b9
still counts WHAT 1 as armed_away, so the panel excludes it and stays
disarmed until the engage frame.

start_sending_instant_power without a duration passed None to OWNd; the
sensor now defaults to OWNd's own 65 minutes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ZavKvV3ZxYRP6xDBfhHm
@GreenGrassBlueOcean
GreenGrassBlueOcean deleted the fix/alarm-what8-is-armed branch October 21, 2026 19:35
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