Repository navigation
fix(catalog): correct WHO 5 burglar-alarm vocabulary and addressing - #13
Merged
Merged
Conversation
The WHO 5 entry described WHAT 0/1/2 as disarm/arm/partial and offered *5*1*0## and *5*0*0## as arm/disarm commands. The published vocabulary (WHO_5.pdf, Encyclopedia functional/who-5-alarm) is 0 maintenance, 1 activation, 2 disactivation, 8 engage, 9 disengage, ... 31 silent alarm, and field captures (MyHOME issue_311_f454) show arming reported as *5*1*0## then *5*8*0##, so WHAT 1 is not the armed state. - Replace the WHAT table with all 22 published values, marked as reports/events, and add notes on independent state axes. - Fix addressing: 0 = central unit, #N = zone, two-digit ZN = sensor; add where_forms so the parser names zones and sensors. - Replace the arm/disarm examples with status requests and reports. - Render catalog notes/evidence in get_who_spec. - Check family where_forms before the generic WHERE 0 fallback (also makes WHO 16's "General: all amplifiers" form reachable). - Regression tests: WHAT 1 is "Activation", WHAT 8 is "Engage". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
get_who_spec(5),lookup_frame_syntax(who=5)andparse_and_validate_frameall read the WHO 5 entry indata/who_catalog.json, which was wrong:0 Disarm / Alarm idle, 1 Arm system (Total), 2 Arm partition / Partial, 3 Intrusion alarm active, 4 Technical alarm active*5*1*0##/*5*0*0##as arm/disarm commands'1'to'8'(they are#1..#8)The published vocabulary (WHO_5.pdf, Encyclopedia
functional/who-5-alarm) is 0 maintenance, 1 activation, 2 disactivation, 3 delay end, 4/5/10 battery, 6/7 network, 8 engage, 9 disengage, 11/18 active/non-active zone, 12/13 technical alarm, 14 no reception, 15 intrusion, 16 tamper/24h, 17 anti-panic, 26/27 programming, 31 silent alarm. Field captures (MyHOMEtests/fixtures/plants/issue_311_f454) show arming reported as*5*1*0##→*5*8*0##and disarming as*5*2*0##→*5*1*0##→*5*9*0##, so WHAT 1 is not "armed".Changes
notes(report-only, independent 0/1 vs 8/9 axes, read status replies to ACK) andevidence.0central unit (published1control panel kept),#Nzone (#0inputs/sirens,#12/#15zones C/F), two-digitZNsensor;where_formsso the parser says "at Zone 3" / "at Zone 1 sensor 2".*#5##,*#5*#1##, and reports*5*8*0##,*5*9*0##,*5*15*#3##instead of fake arm/disarm commands.get_who_specnow renders a family'snotesandevidence(WHO 16/22 already carried them but they were never shown).where_formsare checked before the generic WHERE0→ "General (all devices)" fallback. WHO 50becomes "Central unit"; side effect: WHO 16's existing^0$"General: all amplifiers" form is now reachable. WHO 1/2/22 unchanged.who_specifications.mdrow no longer claims "partition arming/disarming".Tests
test_who5_alarm_vocabulary_is_activation_and_engage_not_arm: WHAT 1 starts with "Activation", WHAT 8 with "Engage", no arm/disarm examples,#1..#8addressing, rendered spec.test_who5_alarm_frames: 9 WHO 5 frames parse without "not standard" warnings and with correct zone/sensor/central-unit WHERE.maincatalog (checked viaOPENWEBNET_WHO_CATALOG_PATH).🤖 Generated with Claude Code