docs: record matrix_e2ee v0.3.0 deploy; fix and rename matrix-e2ee update runbook

- Deploy v0.3.0 (main 216cc99, W1N-180 bot-initiated device verification
  wizard) on hass.windy.lan; backup matrix_e2ee.bak-20260818-v0.2.10
- Fix runbook: tag-only prerequisite (v0.3.0 was untagged), working-tree
  HEAD check, rsync exit-23 note, actual setup log line, post-deploy record
  step, ssh_config.d -F /dev/null gotcha
- Rename runbook matrix-e2e-update.md -> matrix-e2ee-update.md and update
  AGENTS.md/hosts references (domain is matrix_e2ee, double-e)
- Unify matrix_e2ee naming and update version history in
  docs/home-assistant-matrix.md
This commit is contained in:
windyboy
2026-08-18 13:31:15 +08:00
parent 7cedba7f51
commit 079332e082
5 changed files with 216 additions and 187 deletions
+34 -38
View File
@@ -9,7 +9,7 @@
| IPv4 | `192.168.55.11` (LAN55) |
| DNS | `hass.windy.lan` (AdGuard rewrite on `dns.windy.lan`; legacy `hass.local` alias) |
| SSH | `ssh hassio@hass.windy.lan` |
| **Host** | **PVE VM 180 (`haos`)** — not a separate physical host (verified 2026-08-09) |
| **Host** | **x88 Pro physical box** (HAOS bare-metal, `machine: green`; verified 2026-08-18) |
| Platform | Home Assistant OS; kernel `6.1.115-haos` (aarch64) |
| Web UI | `http://hass.windy.lan:8123` (LAN); WAN port-forward `hass` on gw → `:8123` |
@@ -209,13 +209,13 @@ Full command family: [runbooks/home-assistant-maintenance.md](../runbooks/home-a
### `china_southern_power_grid_stat` live tree
**v1.3.1** (`55a293fc`, verified 2026-08-14, W1N-107): manual zipball of
**v1.3.2** (`934f58c`, verified 2026-08-15, W1N-118): manual zipball of
GitHub release
[v1.3.1](https://github.com/windyboy/china_southern_power_grid_stat/releases/tag/v1.3.1)
[v1.3.2](https://github.com/windyboy/china_southern_power_grid_stat/releases/tag/v1.3.2)
copied to `/config/custom_components/china_southern_power_grid_stat`.
Earlier trees: v1.3.0/`69f13c90` (W1N-106), `a433e8c` (W1N-105), `de01914`
(W1N-103), `eb8b174` (W1N-102). Backups:
`/homeassistant/.csg-backups/` (w1n102/104/105/106/107).
Earlier trees: v1.3.1/`55a293fc` (W1N-107), v1.3.0/`69f13c90` (W1N-106),
`a433e8c` (W1N-105), `de01914` (W1N-103), `eb8b174` (W1N-102). Backups:
`/homeassistant/.csg-backups/` (w1n102/104/105/106/107/118).
v1.3.0 crashed the coordinator on first refresh
(`TypeError: cannot pickle 'mappingproxy' object` in
@@ -248,45 +248,41 @@ The `_unrecorded_attributes` mechanism exists in Core 2026.8.1
by recorder `shared_attrs_bytes_from_event`).
### `matrix_e2e` live tree (E2E Matrix bot, verified 2026-08-16, W1N-175)
### `matrix_e2ee` live tree (E2E Matrix bot, verified 2026-08-18, W1N-180)
**v0.2.7** (W1N-176: SAS cancel code/reason logging for diagnosis):
source copy from `/home/windy/project/ha-matrix-e2e` (development clone) deployed
2026-08-16 via SSH rsync from workstation (upgraded from v0.2.6). Custom **`matrix_e2e`** integration — **Config Flow**
(UI). See [docs/home-assistant-matrix.md](../docs/home-assistant-matrix.md).
**Update runbook:** [runbooks/matrix-e2e-update.md](../runbooks/matrix-e2e-update.md).
**v0.3.0** (W1N-180/#32: bot-initiated device verification wizard; also
includes W1N-179/#31 fix `receive_mac_event` cancel-state override):
source copy from `/home/windy/project/ha-matrix-e2ee` main `216cc99`
deployed 2026-08-18 via SSH rsync from workstation (upgraded from v0.2.10,
backup `matrix_e2ee.bak-20260818-v0.2.10`).
Custom **`matrix_e2ee`** integration — **Config Flow** (UI). See
[docs/home-assistant-matrix.md](../docs/home-assistant-matrix.md).
**Update runbook:** [runbooks/matrix-e2ee-update.md](../runbooks/matrix-e2ee-update.md).
- Bot `@hass:chans.xyz` reused (E2EE device `rO1R915ncu`). v0.2.0 YAML import
migrated existing config into a **Config Entry** (`source: import`), then the
YAML block was removed from `configuration.yaml`. All settings now managed via
**Settings → Devices & Services → Matrix E2EE → Configure**.
- Bot `@hass:chans.xyz` reused (E2EE device `rO1R915ncu`). Config Entry
`01M04D7C1M4T2GX5VPG7NVQ7GV` (`source: import`, `state: loaded`). All
settings via **Settings → Devices & Services → Matrix E2EE → Configure**.
- Config Entry options: `allowed_rooms` `["!gidvAzpDzwtzfEDrqu:chans.xyz", "!boxfylDSzOvrWkcsyY:chans.xyz"]`,
`allowed_users` `["@zhiqiang:chans.xyz"]`, `command_prefix` `"!"`.
- Storage (persistent volume, in HA backups as of upgrade): `/config/.storage/matrix_e2e_session.json`
+ `/config/.storage/matrix_e2e_store/`. Config backups:
`/homeassistant/.matrix-e2ee-backups/` (`matrix_e2e.bak-20260816`,
`matrix_e2e.bak-20260816-v0.2.3`, `matrix_e2e.bak-20260816-v0.2.4`);
- Storage: `/config/.storage/matrix_e2ee_session.json` +
`/config/.storage/matrix_e2ee_store/`. Backups:
`/homeassistant/.matrix-e2ee-backups/` (incl. `matrix_e2ee.bak-20260818-v0.2.10`,
`matrix_e2ee.bak-20260816-v0.2.9`, `matrix_e2ee.bak-20260816-v0.2.8`);
full HA backup slugs `3d9d36db` (pre-v0.1.4) + `9f223f35` (pre-v0.2.0).
- v0.2.6 changes: `_log_verification_state()` tracks SAS state transitions
with `async_write_ha_state` for diagnosis (W1N-174); `_bridge_verification_request()`
handles inbound `m.key.verification.request``m.key.verification.ready` since
nio lacks a `request` framework (W1N-173).
- v0.2.5 changes: bridge `m.key.verification.request``ready` (nio lacks
request framework, W1N-173).
- v0.2.4 changes: `_patch_nio_sas_timeout()` workaround for nio 0.26.0
`_last_event_time` stale-timestamp bug (SAS timed out at 60s regardless of
activity); `_repair_dropped_start()` recovers SAS `start` events nio dropped
when the peer device was unknown; `_query_device_keys()` generalized beyond
own device keys; `VERIFICATION_TIMEOUT_SECONDS` 600→240 (fires before nio's
5 min `_max_age`). Earlier undocumented deploys: v0.2.3 (W1N-168 sync loop
background task, W1N-169 SAS double-send fix), v0.2.1 (W1N-167 storage I/O
`asyncio.to_thread`, W1N-166 own-keys query).
- Automation `1761188403590`「Matrix 聊天关卫生间灯」unchanged: trigger
`matrix_e2e_command` (command `关卫生间灯`), actions `light.turn_off` +
`matrix_e2e.send_message` (room `!gidvAzpDzwtzfEDrqu`).
- v0.3.0: bot-initiated device verification wizard (W1N-180/#32).
v0.2.11: `receive_mac_event` no longer overrides canceled state (W1N-179/#31).
- v0.2.9: restore SAS emoji rendering after vodozemac migration (W1N-175/#29).
v0.2.8: SAS commitment unpadded base64 for Element interop (W1N-174/#28).
v0.2.7: SAS cancel code/reason logging. v0.2.6: verification state logging +
request→ready bridge. v0.2.4: `_patch_nio_sas_timeout()` +
`_repair_dropped_start()`; `VERIFICATION_TIMEOUT_SECONDS` 600→240.
- Automation `1761188403590`「Matrix 聊天关卫生间灯」: trigger
`matrix_e2ee_command` (command `关卫生间灯`), actions `light.turn_off` +
`matrix_e2ee.send_message` (room `!gidvAzpDzwtzfEDrqu`).
- **SAS not yet completed:** every device requires explicit `confirm_verification`.
Encrypted-room commands stay fail-closed until `@zhiqiang`'s device is verified.
Two paths available: SAS manual confirm or fingerprint, see
Three paths available: SAS manual confirm, fingerprint, or the v0.3.0
bot-initiated device verification wizard (W1N-180), see
[docs/home-assistant-matrix.md § Device verification](../docs/home-assistant-matrix.md).
## Known issues