OpenWebNet Protocol Conformance & Capability Matrix¶
Authoritative Specification & Verification Baseline
Last Updated: September 11, 2026
Corpus Version: 1.0.0 (58 Fixtures, 11 Subsystems, 137 Automated Conformance Assertions)
This document serves as the verifiable truth for OpenWebNet protocol conformance across the Home Assistant (OpenWebNet-HA/MyHOME) and Python protocol driver (OpenWebNet-HA/OWNd) ecosystem.
1. The Three-Authority Triad¶
To prevent divergence and eliminate guesswork, every protocol frame and capability is evaluated against three distinct authorities:
| Authority | Reference Implementation | Role & Authority |
|---|---|---|
| 1. The Judge | Legrand OpenWebNet Official Specification Manuals (interrogated via openwebnet-mcp) |
Legal Grammar: Defines whether a frame syntax, dimension boundary, or parameter structure is strictly valid per Legrand standards. |
| 2. The Oracle | openwebnet4j & openHAB OpenWebNet Binding (by Massimo Valla) |
Wire Baseline: Provides empirical on-wire factory strings, real-world edge cases, and 10+ years of mature production testing. |
| 3. The SUT | OWNd protocol engine & custom_components/myhome runtime |
System Under Test: Must parse, validate, roundtrip serialize, and build frames with 100% fidelity. |
2. Subsystem Conformance & Capability Matrix¶
| WHO | Subsystem | Verified Operations | Canonical Frame Examples | Judge (Legrand PDF) | Oracle (openwebnet4j) | Runtime Status |
|---|---|---|---|---|---|---|
| - | Signaling | Gateway ACK / NACK | *#*1##, *#*0## |
Valid | Matched | VERIFIED (100%) |
| 0 | Scenarios | Execute, Stop, Start | *0*1*1##, *0*2*1## |
Valid | Matched | VERIFIED (100%) |
| 1 | Lighting | ON/OFF, Status, Speed Dimming, Private Bus (#4#01), Dimension writes |
*1*1*0311#4#01##, *1*1#5*12##, *#1*1*#1*20## |
Valid | Matched | VERIFIED (100%) |
| 2 | Automation | Shutter UP/DOWN/STOP, Bus Routing (#4#1), Slat Tilt, Position % |
*2*1*21#4#1##, *#2*1*#1*50##, *2*2*12## |
Valid | Matched | VERIFIED (100%) |
| 4 | Thermoregulation | Probe queries (21.5°C), Setpoints, Antifreeze, Negative Temp (-4.8°C) |
*#4*1*0*0215##, *#4*6*12*1048*3##, *#4*1*#14*0200*1## |
Valid | Matched | VERIFIED (100%) |
| 5 | Burglar Alarm | Zone status, CU status, Silent alarms, System arm/disarm | *5*1*1##, *#5*1##, *5*2*2## |
Valid | Matched | VERIFIED (100%) |
| 9 | Auxiliary | Relay ON/OFF commands across auxiliary channels | *9*1*1##, *9*0*1## |
Valid | Matched | VERIFIED (100%) |
| 13 | Gateway Mgmt | Firmware version, Gateway internal datetime requests | *#13*0*0##, *#13*0*22## |
Valid | Matched | VERIFIED (100%) |
| 15 | CEN Scenarios | Short press, start long press, release, extended hold | *15*1*01##, *15*2*01##, *15*3*01## |
Valid | Matched | VERIFIED (100%) |
| 18 | Energy Mgmt | Instantaneous active power (W), Cumulative energy (kWh) | *#18*51*113##, *#18*51*51##, *#18*51*52## |
Valid | Matched | VERIFIED (100%) |
| 25 | CEN+ / Dry Contacts | Short/Long press, release, 5-digit module addresses | *25*21*0001##, *25*23*0001##, *25*22*0001## |
Valid | Matched | VERIFIED (100%) |
3. Key Architectural Truths & Design Decisions¶
3.1 String Preservation for Hardware Addresses¶
- Observation: Addresses such as
0311(Lighting PTP) and0001(CEN+ module) begin with leading zeros. - Verifiable Truth: Addresses must never be converted to integers (
311or1). In OpenWebNet, leading zeros denote specific address spaces and module wiring. OWNd strictly enforces string types forwhereacross all subsystems.
3.2 Private Bus Routing (#4#bus)¶
- Observation: Installations with multiple physical SCS buses behind an F454 or 3486 gateway use interface routing (e.g.
*1*1*0311#4#01##). - Verifiable Truth: The interface routing suffix
#4#<interface>is an addressing qualifier, not a dimension parameter. OWNd extracts this cleanly intoparsed.interface = '01'andparsed.where = '0311', preserving 100% roundtrip wire string equality.
3.3 Strict Standards vs. Tolerant Synthesis (The Alarm WHERE Omission)¶
- Observation: In
openwebnet4j, frame*5*7*##(Alarm) synthesizesWHERE = '0'when the address is omitted. - Verifiable Truth: Official Legrand specification PDFs require a target address for WHERE in WHO=5 command frames.
openwebnet-mcprejects*5*7*##as malformed syntax. OWNd conforms strictly to the standard by returningNonefor omitted mandatory fields.
3.4 Extended Thermoregulation (Dimension 12 Negative Temperatures)¶
- Observation: Physical temperature probes in outdoor zones report negative temperatures via Dimension 12:
*#4*6*12*1048*3##. - Verifiable Truth: The value parameter
1048represents-4.8°C(the initial1indicates negative sign;048is tenths of a degree). OWNd decodes this mathematically into_measured_temperature = -4.8.
4. Independent Local Verification¶
Any contributor or user can independently verify this entire conformance suite with zero third-party dependencies directly against the Python standard library: