Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ We now maintain a comprehensive, community-curated **[GitHub Wiki](https://githu
| **MH200N** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅ | ✅ |
| **MH201** | ✅ | ✅ | ✅ | ✅ | | | ✅ | ✅ | ✅ | ✅ | | ✅ | | ✅ | | | |
| **MH202** | | ✅ | ✅ | ✅ | | ✅ | ✅ | ✅ | | | | ✅ | | ✅ | | ✅ | |
| **MyHomeServer1** | | ✅ | ✅ | ✅ | | ✅ | ✅ | ✅ | | ✅ | | ✅ | | ✅ | ✅ | ✅ | |
| **MyHomeServer1** | | ✅ | ✅ | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅ | | ✅ | ✅ | ✅ | |
<!-- TRACE_MATRIX_END -->

*Checkmarks (✅) indicate that at least one `diagnostic_summary.json` or `.txt` bus capture in our test corpus contains frames for that subsystem from the specified gateway model. This matrix is automatically updated from the fixtures repository.*
Expand Down
2 changes: 1 addition & 1 deletion docs/trace-availability.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ This matrix documents the real-world physical gateways for which we have capture
| **MH200N** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅ | ✅ |
| **MH201** | ✅ | ✅ | ✅ | ✅ | | | ✅ | ✅ | ✅ | ✅ | | ✅ | | ✅ | | | |
| **MH202** | | ✅ | ✅ | ✅ | | ✅ | ✅ | ✅ | | | | ✅ | | ✅ | | ✅ | |
| **MyHomeServer1** | | ✅ | ✅ | ✅ | | ✅ | ✅ | ✅ | | ✅ | | ✅ | | ✅ | ✅ | ✅ | |
| **MyHomeServer1** | | ✅ | ✅ | ✅ | | ✅ | ✅ | ✅ | ✅ | ✅ | | ✅ | | ✅ | ✅ | ✅ | |
<!-- TRACE_MATRIX_END -->

*Checkmarks (✅) indicate that at least one `diagnostic_summary.json` or `.txt` bus capture in our test corpus contains frames for that subsystem from the specified gateway model.*
18 changes: 18 additions & 0 deletions tests/fixtures/traces/issue_541/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# #541 Classic CEN (WHO 15) short press on a shared MH200N + MyHomeServer1 bus

Authentic on-wire bus traces contributed by **@wave68runner** on
[#541 (comment 5894041457)](https://github.com/OpenWebNet-HA/MyHOME/issues/541#issuecomment-5894041457).
Both gateways sit on the same SCS bus, so each captured the same physical button press.

## Contributed Files

| File | Gateway | Frames | Description |
|---|---|---|---|
| `myhome_trace_MH200N_cen_short_press_2026-09-29T16-03-43.json` | MH200N (fw 1.0, SSDP) | 3 | Classic CEN press + release-after-short-press, plus one gateway clock frame. |
| `myhome_trace_MyHomeServer1_cen_short_press_2026-09-29T16-03-55.json` | MyHomeServer1 | 56 | The same press + release, surrounded by the `*#13**#0` / `*#13**#1` clock frames this gateway emits every second. |

## Empirical Protocol Discoveries

- One short press of CEN button 1 on object 73 is `*15*01*73##` (pressed) followed by `*15*01#1*73##`
(released after short press). The two-digit `01` WHAT is parsed as pushbutton 1.
- Fills the **MyHomeServer1 / WHO 15** cell of the trace matrix.
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
{
"capture": {
"kind": "trace",
"started_at": "2026-09-29T16:03:31.191Z",
"filters": {
"who": null,
"where": null,
"direction": null
},
"window": {
"first": "2026-09-29T16:03:33.511Z",
"last": "2026-09-29T16:03:33.636Z",
"frames": 3,
"buffer_frames": 3,
"buffer_depth": 200,
"truncated": false
}
},
"environment": {
"home_assistant_version": "2026.9.3",
"integration_version": "2.0.0b13",
"ownd_version": "2.0.0b8",
"exported_at": "2026-09-29T16:03:43.528Z"
},
"gateway": {
"model": "MH200N",
"manufacturer": "BTicino S.p.A.",
"firmware": "1.0",
"mac_prefix": "00:03:50",
"connection_type": "tcp",
"queue_pacing": 0.15,
"is_connected": true,
"identification": {
"model": "MH200N",
"source": "ssdp",
"configured_model": "MH200N",
"ssdp_model": "MH200N",
"who13_code": null,
"who13_model": null,
"who13_model_official": null,
"who13_model_observed": null,
"who13_firmware": null,
"who13_kernel": null,
"who13_distribution": null,
"who1013_code": null,
"who1013_model": null,
"who1013_other_names": [],
"who1013_n_conf": null,
"who1013_brand": null,
"who1013_line": null,
"profile": "MH200NProfile",
"conflict": null
}
},
"telemetry": {
"total_rx": 3,
"total_tx": 0,
"captured_in_buffer": 3,
"buffer_depth": 200,
"queue_depth": 0
},
"frames": [
{
"timestamp": 1790697813.511285,
"iso_time": "2026-09-29T16:03:33.511285+00:00",
"direction": "rx",
"raw": "*15*01*73##",
"who": "15",
"what": "1",
"where": "73",
"dimension": null,
"is_ack": false,
"is_nack": false
},
{
"timestamp": 1790697813.620138,
"iso_time": "2026-09-29T16:03:33.620138+00:00",
"direction": "rx",
"raw": "*#13**22*18*03*32*001*02*29*09*2026##",
"who": "13",
"what": null,
"where": "",
"dimension": "22",
"is_ack": false,
"is_nack": false
},
{
"timestamp": 1790697813.636738,
"iso_time": "2026-09-29T16:03:33.636738+00:00",
"direction": "rx",
"raw": "*15*01#1*73##",
"who": "15",
"what": "1",
"where": "73",
"dimension": null,
"is_ack": false,
"is_nack": false
}
]
}
Loading
Loading