From e70f3402aa714c8a02780eb0907dfc78f9fa8771 Mon Sep 17 00:00:00 2001 From: gdluck Date: Sat, 24 Oct 2026 18:32:18 +0300 Subject: [PATCH] docs(trace): README follow-ups on #799 MyHomeServer1 README: "OWnd" typo; the alarm gate, the config-flow identification and the liveness probe rows name MyHOME #803, #804, #806. F461 README: the "What this capture backs" table extends to MyHOME #800-#806 (#802 the dimension 27 wire form, #803 *#5*0##, #804 the WHO 13 / 1013 identification replies, #806 the *#13**0## echo; #800 / #801 / #805 have no frame in this capture); it states that f461_live_2026-10-15 holds the dimension 22 reboot behind OWNd #136, the *4*311*2## / *4*311*#2## pair behind OWNd #137 and probe_area0 behind OWNd #141 / MyHOME #798; and one sentence says reply_time_s is measured while tx.t is reconstructed from the probe log. Co-Authored-By: Claude Fable 5.1 --- .../traces/f461_live_2026-10-23/README.md | 17 ++++++++++++++--- .../myhomeserver1_live_2026-10-24/README.md | 7 ++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/tests/fixtures/traces/f461_live_2026-10-23/README.md b/tests/fixtures/traces/f461_live_2026-10-23/README.md index e5e8f459c..33ab7d00c 100644 --- a/tests/fixtures/traces/f461_live_2026-10-23/README.md +++ b/tests/fixtures/traces/f461_live_2026-10-23/README.md @@ -10,8 +10,9 @@ one request at a time with a 1.2-1.5 s pause. The earlier capture of the same plant is `tests/fixtures/traces/f461_live_2026-10-15/` (lights still at `01` / `04`). It already holds the WHO 4 central-mode pair cited by OWNd #137 (`*4*311*2##` NACK, -`*4*311*#2##` ACK and ignored, `run3_climate` t=252 and `probe_followup` t=7) and the dimension 22 -crash behind OWNd #136 (`probe_dim22_confirm`); those frames are not duplicated here. +`*4*311*#2##` ACK and ignored, `run3_climate` t=252 and `probe_followup` t=7), the dimension 22 +reboot behind OWNd #136 (`probe_dim22_confirm`) and the `0001` / `01` / `02` / `1` address forms behind +OWNd #141 / MyHOME #798 (`probe_area0`); those frames are not duplicated here. ## Plant @@ -41,6 +42,9 @@ Standard `MyHOME` derived trace archive: | `rx` | frame read; `session: "cmd"` for the replies and the closing `*#*1##` / `*#*0##`, `session: "evt"` for the event monitor | `frame`; event rows also carry `ownd_class` and `ownd_log`, what OWNd master made of the frame at capture time. Command-session rows carry `t_estimated: true`: the session hands the replies over as a batch with the ACK / NACK, so their arrival time is unknown and they sit right after their request with `t` = the request's `t` | | `result` | what the command session returned for the `tx` | `ack`, `reply_time_s`, `replies` (frames collected on the command session; empty on a NACK and on an ACK that carried no data), `events_after` (only the event-session frames that arrived while the request was pending, `tx.t <= t <= result.t`; what arrived during the pause before the next request is in the chronological rows only), `utc`, `note` on the frames the pull requests cite | +`reply_time_s` is measured (the time the command session waited for the ACK / NACK); `tx.t` is reconstructed from +the probe log (the probe records a request after its pause, so `tx.t` = record time - pause - `reply_time_s`) and +`result.t` = `tx.t` + `reply_time_s`; event-session `t` is the arrival time as logged. `t` is one monotonic axis over the whole archive: each run starts 1 s after the previous one ended, and `capture.runs[].t_offset` gives each run's start (`t - t_offset` is the time since that run's first frame), so corpus replayers that drive a clock from `frames[].timestamp` never go backwards. `step` is the phase @@ -113,6 +117,13 @@ corpus replayers that drive a clock from `frames[].timestamp` never go backwards | MyHOME #795 (timed cover starts unknown) | the shutter runs and their hardware stops 5.1-5.9 s later (run 6, run 7) | | MyHOME #796 (yaml `class:` for WHO 2) | nothing on the bus; configuration only | | MyHOME #797 (scope events only for frames that carry a state) | one `*2*0*0##` (run 6); light toggles without group / area frames (run 7) | -| MyHOME #798 (canonicalise four-digit area-0 addresses) | `*#1*0007##` NACK, `*#1*07##` ACK (run 2) | +| MyHOME #798 (canonicalise four-digit area-0 addresses) | `*#1*0007##` NACK, `*#1*07##` ACK (run 2); `probe_area0` in `f461_live_2026-10-15` | +| MyHOME #800 (diagnostics profile fields) | no frame in this capture backs it; diagnostics only | +| MyHOME #801 (legacy yaml MAC mismatch warning) | no frame in this capture backs it; configuration only | +| MyHOME #802 (warn once per frame shape for unparsed frames) | `*#13**27*70#52#54#49##` (run 1), the wire form of a frame the pinned OWNd does not decode | +| MyHOME #803 (alarm: skip `*#5*0##` where the firmware refuses it) | `*#5*0##` NACK in 3 ms (run 1) | +| MyHOME #804 (identify a manually added gateway after authentication) | `*#13**15##` -> `200`, `*#1013*0*1##` -> `134.15.5.0`, `*#13**12##` -> the MAC (run 1) | +| MyHOME #805 (closed service schemas) | no frame in this capture backs it; configuration only | +| MyHOME #806 (event-session liveness probe) | `*#13**0##` echoed on the event session (run 1, run 2) | Tests: `tests/test_f461_live_2026_10_23_trace.py`. diff --git a/tests/fixtures/traces/myhomeserver1_live_2026-10-24/README.md b/tests/fixtures/traces/myhomeserver1_live_2026-10-24/README.md index 85fff124a..387fbb21d 100644 --- a/tests/fixtures/traces/myhomeserver1_live_2026-10-24/README.md +++ b/tests/fixtures/traces/myhomeserver1_live_2026-10-24/README.md @@ -4,7 +4,7 @@ Status reads only (no command was sent) against a physical MyHomeServer1 in a la 2026-10-24 13:19 to 13:22 UTC, recorded with OWNd master (`OWNCommandSession` + `OWNEventSession`, `tools/probe.py` as for the F461 captures). The purpose: the facts established on the F461 2.0.11 plant on 2026-10-23 (`tests/fixtures/traces/f461_live_2026-10-23/`) checked on a second gateway -family for OWnd #137, #139, #140, #141, #142 and MyHOME #791-#794, #798. +family for OWNd #137, #139, #140, #141, #142 and MyHOME #791-#794, #798, #803, #804, #806. Two caveats that apply to every row: the firmware oracle (`own-firmware-oracle`) emulates MyHomeServer1 **2.82.06**, this unit runs **3.87.13**; and `*#13**12##` returns a real MAC address @@ -76,7 +76,8 @@ replies over as a batch with the ACK / NACK), and `t` is one monotonic axis over | MyHOME #791 (setpoint in force = dimension 12) | `*#4*35##` reply order (run 2) | | MyHOME #792 (request dimension 20 on add and after reconnect) | the actuator status is answered on a MyHomeServer1, per zone and for all zones (run 2) | | MyHOME #793 (humidity poll gate) | per-zone humidity answered only where a probe exists, the general sweep answered (run 2, run 3) | -| alarm gate (misc PR) | `*#5*0##` refused in 5 ms (run 2) | -| event-session liveness probe (misc PR) | `*#13**0##` echoed on the event session (run 1, run 3) | +| MyHOME #803 (alarm: skip `*#5*0##` where the firmware refuses it) | `*#5*0##` refused in 5 ms (run 2) | +| MyHOME #804 (identify a manually added gateway after authentication) | `*#13**15##` -> `200`, `*#1013**1##` -> `67.15.5.0`, `*#13**12##` -> the MAC, `*#13**27##` -> "MyHomeServer1" (run 1) | +| MyHOME #806 (event-session liveness probe) | `*#13**0##` echoed on the event session (run 1, run 3) | Tests: `tests/test_myhomeserver1_live_2026_10_24_trace.py`.