Repository navigation
docs(who-4): document #4#INTERFACE routing and actuator status boundaries - #52
Open
GreenGrassBlueOcean wants to merge 1 commit into
Open
GreenGrassBlueOcean wants to merge 1 commit into
GreenGrassBlueOcean wants to merge 1 commit into
Conversation
This was referenced Oct 26, 2026
GreenGrassBlueOcean
force-pushed
the
docs/who4-interface-routing-and-mh202-crash
branch
from
October 26, 2026 12:01
be5a606 to
01fdde7
Compare
GreenGrassBlueOcean
force-pushed
the
docs/who4-interface-routing-and-mh202-crash
branch
from
October 26, 2026 12:03
01fdde7 to
e116df3
Compare
Contributor
Author
|
Hi @anotherjulien — ready for your review when you have a moment! Scope & Coordination Notes
Companion PRs ( |
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.
Summary
Document gateway firmware routing boundaries and per-actuator status crash behavior for
WHO 4(Temperature Control), keeping published OpenWebNet syntax, recorded socket replies, and recorded SCS bus output separate:functional/who-4-temperature-control/addressing.md,ownkb:section:d000068:s000007): Document how the twelve emulated gateway firmware images in theown-firmware-oraclev3thermo-zone-requestssuite handleWHEREaddresses carrying#4#INTERFACE(F422local-bus routing) and per-actuator status (Z#N):$06EC.../$06E4...) for any testedWHO 4#4#IIstatus or dimension request (*#4*2#4#01##,*#4*2#4#12##,*0##,*11##,*19##,*20##,*60##,2#4#12*20##,2#1#4#01*20##, TSV lines22and25..32).H4684(2.0.54) andMH200(2.1.2) parse the leading integer before#and emit unrouted local-zone-2queries ($0499023000\r,$0499023012\r,$049902300E\r,$049902300D\ron status;$0499023000\ron*0##;$0499023013\ron*19##).F450(2.0.10),F454(2.0.51),F459(2.1.5),F460(2.0.12),F461(2.0.11), andMyHomeServer1(2.82.6) truncateWHEREat#on*20##($04A9023010\r/$004A9023010\r, including2#4#12*20##and2#1#4#01*20##;F450andF454return socketNACKwhile emittingout, whereasF459,F460,F461, andMyHomeServer1return socketACK) and*60##($06D102030308000000\r/$006D102...), polling local main-bus zone2rather than routing across interface01or12.MH202(1.0.24) misparses the trailing#-delimited tokens of2#4#01and2#1#4#01as local zone4, actuator1($0499843110\ron*20##), rejects tested2#4#12and2#4#12*20##(nack,silent), and terminatescosowithSIGSEGV(verdict=crash) on dimensionless actuator status*#4*2#1##(line21) and misparsed*#4*2#4#01##(line25) inlibplug_thermo_tr.so(thermo_open2scs+0x394), whereas per-actuator valve queries use Dimension20(*#4*Z#N*20##or*#4*#0*20##).protocol/addressing.md,ownkb:section:d000104:s000016): Add a subsystem-specific boundary note underLocal Bus Suffixesclarifying that#4#INTERFACEtransport is per-WHOin gateway translation plugins rather than uniform across every subsystem.project/review/who4-gateway-routing-and-actuator-requests.md): Record the bounded evidence table (reset=eachonF450 020010andreset=0on the other eleven targets; local baseline lines16..20,23..24, and33..38), exact SHA-256 fingerprints, and explicit scope limits.knowledge/): Register 12 fingerprint-pinnedthermo-zone-requests.tsvsource records (ownkb:source:s001190..s001201) and 14 claims (ownkb:claim:c074157..c074170, reviewwho4-v3-thermo-zone-requests), updateknowledge/tests/test_phase12_consistency.py(703->704protocol claims) andknowledge/tests/test_who4_gateway_routing.py, and preserve all existing identifiers and all66,466Device claim records unchanged.Evidence, provenance, and limits
The oracle results are pinned to
OpenWebNet-HA/own-firmware-oraclecommitde87a34e251b677a299917c98fcfcea3b409bf34(own-firmware-oracle#65) across the twelve emulated firmware images (F450 020010,F453 010100,F453AV 030014,F454 020051,F459 020105,F460 020012,F461 020011,H4684 020054,MH200 020102,MH200N 010108,MH202 010024,MyHomeServer1 028206). Each claim carriesdynamic_firmware_oracleprovenance (epistemic_status: firmware_observed) and explicitly bounds applicability: emulated firmware without a physicalF422interface or secondary thermoregulation riser does not establish unemulated models (F455,MH201,H4890), different firmware revisions, or spontaneous upwardF422event forwarding.Companion PRs: OpenWebNet-HA/own-firmware-oracle#65, OpenWebNet-HA/openwebnet-mcp#22, OpenWebNet-HA/MyHOME#816.
Git storage policy
In accordance with
project/review/checks/README.mdandgit-storage-baseline.json, the seven Machine KB artifacts exceeding5 MiBwhose bytes changed in this rebuild (knowledge/id-registry.json,knowledge/inputs/claim-context.json,knowledge/inputs/id-registry.json,knowledge/inputs/reference-records.json,knowledge/llm/llm-corpus.md,knowledge/reference/entities.jsonl, andknowledge/retrieval/chunks.jsonl) are tracked via Git LFS in.gitattributesalongsideclaims.jsonlandclaim-records.json.project/review/checks/git-storage-baseline.json,devices/, andsources/manifest.yamlare untouched.Validation
python build.py&git status --porcelain: clean deterministic build.python check.py(two clean rebuilds, byte-for-byte determinism, manifest, schemas, cross-artifact consistency, references, provenance propagation, text hygiene, privacy, and Device definition completeness): PASSED.python knowledge/tools/validate_privacy.py: PASSED (21 generated artifacts and metadata surfaces scanned).python project/review/checks/check_git_storage.py --head HEAD --base origin/main&test_git_storage.py(11tests): PASSED.python project/review/checks/check_esg.py .&check_ecv.py .: PASSED (objective_failures=0).python project/review/checks/check_artifact_manifest.py: PASSED (807 artifacts).python -m unittest discover -s knowledge/tests -v(234tests, includingtest_phase12_consistency.pyandtest_who4_gateway_routing.py) &test_schema.py(8tests): PASSED.python evidence/validate_evidence.py(5/5) &pytest evidence/tests(55 passed): PASSED.