docs(hass): 把主机文档收成现行状态
Quick 布局、季节 gauge、网卡 end1 和 Core 2026.9.3 与旧操作说明不一致。抓包命令改为 end1。
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Runbook: Home Assistant maintenance (hass.windy.lan)
|
||||
|
||||
Target: [hass.windy.lan](../hosts/hass.windy.lan.md) (physical x88 Pro box, HAOS `machine: green`)
|
||||
Upstream: HAOS 18.2 / Supervisor 2026.09.0 / Core 2026.9.1 (verified 2026-09-13)
|
||||
Upstream: HAOS 18.2 / Supervisor 2026.09.2 / Core 2026.9.3 (verified 2026-09-23)
|
||||
|
||||
This runbook covers routine Home Assistant maintenance through the **`ha`
|
||||
supervisor CLI**. All commands are wrapped by a single script
|
||||
@@ -395,7 +395,7 @@ full backup `pre-maintenance-20260813` (slug `411a4ba5`). Remaining:
|
||||
- `host info` reports `disk_life_time: 10` (boot eMMC ~10% life left) —
|
||||
monitor on each snapshot; plan disk replacement / data-disk migration.
|
||||
- **Home PPPoE IPv4 to CSG is blackholed** (`curl -4` to
|
||||
`218.19.148.218:443` times out). `end0` IPv6 works (`curl -6
|
||||
`218.19.148.218:443` times out). `end1` IPv6 works (`curl -6
|
||||
https://95598.csg.cn` → HTTP 200). Entry `ip_family: ipv4` still
|
||||
matches the stored option; first post-restart poll can still time out
|
||||
— reload the config entry rather than reinstalling.
|
||||
|
||||
@@ -11,6 +11,7 @@ is read-only and changes no device or network state.
|
||||
|
||||
- Environment: LAN55 (`hass.windy.lan`, Aqara M3, ESP32-C2 Matter bulbs,
|
||||
phone / HA matter-server all on the 55 subnet).
|
||||
- NIC on hass is `end1` (verified 2026-09-23). Notes from 2026-08 called it `end0`; that name is gone.
|
||||
- Subject: Matter over Wi-Fi and Thread relay nodes. The Thread 802.15.4 air
|
||||
side itself is not capturable — only IPv6 forwarding by a Thread relay such
|
||||
as the M3 is visible.
|
||||
@@ -28,11 +29,11 @@ equals capturing the whole flow.
|
||||
|
||||
| Capture point | Sees | Blind spot | Notes |
|
||||
|---|---|---|---|
|
||||
| **hass `end0` — commissioner side (recommended)** | The full HA-driven commissioning conversation: all mDNS queries/announcements (segment multicast) + the complete TCP 5540 PASE/CASE session | Phone-as-commissioner flows (the phone's session to the device does not pass through hass) | `core_matter_server` uses **host networking**, so tcpdump on `end0` sees the add-on's traffic directly; `/` is overlay with ~42 GB free — no 60 MB tmpfs rotation needed |
|
||||
| **hass `end1` — commissioner side (recommended)** | The full HA-driven commissioning conversation: all mDNS queries/announcements (segment multicast) + the complete TCP 5540 PASE/CASE session | Phone-as-commissioner flows (the phone's session to the device does not pass through hass) | `core_matter_server` uses **host networking**, so tcpdump on `end1` sees the add-on's traffic directly; `/` is overlay with ~42 GB free — no 60 MB tmpfs rotation needed |
|
||||
| **UAP-AC-Lite `br0` (192.168.55.5)** | All mDNS multicast (flooded; igmp snooping off) + all wireless-client unicast + unicast to/from the AP | Wired↔wired unicast — e.g. HA↔M3 TCP 5540 while a Thread device commissions via the M3 (wired, observed) — is switched locally and never traverses the AP | AP `/tmp` is a ~60 MB tmpfs → rotating capture is **mandatory** |
|
||||
|
||||
For the common "add device" case with HA matter-server as the commissioner,
|
||||
capture on hass `end0`. Use the AP `br0` point for wireless-device or
|
||||
capture on hass `end1`. Use the AP `br0` point for wireless-device or
|
||||
phone-driven flows (a wireless client's unicast to/from its AP is only visible
|
||||
there).
|
||||
|
||||
@@ -45,7 +46,7 @@ A third point, `gw` `switch0`, is **verified as a limited capture point**
|
||||
- Owner: personal ops (Windy)
|
||||
- Last reviewed: 2026-08-22
|
||||
- Related systems: UAP-AC-Lite AP `192.168.55.5` (br0), `core_matter_server` on
|
||||
`hass.windy.lan` (`end0`), Aqara M3, ESP32-C2 Matter bulbs
|
||||
`hass.windy.lan` (`end1`), Aqara M3, ESP32-C2 Matter bulbs
|
||||
|
||||
## Preconditions
|
||||
|
||||
@@ -89,7 +90,7 @@ A third point, `gw` `switch0`, is **verified as a limited capture point**
|
||||
|
||||
**Action**
|
||||
|
||||
- HA matter-server is the commissioner (the "add device" case) → hass `end0`.
|
||||
- HA matter-server is the commissioner (the "add device" case) → hass `end1`.
|
||||
- Wireless device or phone-driven flow → AP `br0`.
|
||||
|
||||
**Expected**
|
||||
@@ -114,7 +115,7 @@ ssh zhiqiangf@192.168.55.5 "tcpdump -ni br0 -s 0 -tt 'udp port 5353 or tcp port
|
||||
hass (commissioner side):
|
||||
|
||||
```bash
|
||||
ssh hassio@hass.windy.lan "sudo -n -i tcpdump -ni end0 -s 0 -tt 'udp port 5353 or tcp port 5540 or tcp port 5552'"
|
||||
ssh hassio@hass.windy.lan "sudo -n -i tcpdump -ni end1 -s 0 -tt 'udp port 5353 or tcp port 5540 or tcp port 5552'"
|
||||
```
|
||||
|
||||
Keep the window open, trigger the device behavior (enter commissioning mode /
|
||||
@@ -153,7 +154,7 @@ ssh zhiqiangf@192.168.55.5 "tcpdump -ni br0 -s 0 -C 5 -W 12 -w /tmp/matter.pcap
|
||||
hass (rotation optional — overlay disk):
|
||||
|
||||
```bash
|
||||
ssh hassio@hass.windy.lan "sudo -n -i tcpdump -ni end0 -s 0 -C 5 -W 12 -w /tmp/matter.pcap 'udp port 5353 or tcp port 5540 or tcp port 5552'"
|
||||
ssh hassio@hass.windy.lan "sudo -n -i tcpdump -ni end1 -s 0 -C 5 -W 12 -w /tmp/matter.pcap 'udp port 5353 or tcp port 5540 or tcp port 5552'"
|
||||
```
|
||||
|
||||
Trigger the traffic, then `Ctrl+C`. Files are `/tmp/matter.pcap`,
|
||||
@@ -246,7 +247,7 @@ ssh zhiqiangf@192.168.55.5 "tcpdump -ni br0 -s 0 -C 5 -W 12 -w /tmp/matter-\$(da
|
||||
> command so the remote shell expands it.
|
||||
|
||||
For the hass point, prefix the same commands with
|
||||
`ssh hassio@hass.windy.lan "sudo -n -i tcpdump -ni end0 …"`.
|
||||
`ssh hassio@hass.windy.lan "sudo -n -i tcpdump -ni end1 …"`.
|
||||
|
||||
## Capture point: gw switch0
|
||||
|
||||
@@ -266,7 +267,7 @@ LAN55.**
|
||||
- **What `switch0` still sees:** cross-subnet (66↔55) unicast, traffic to/from
|
||||
the gateway itself (DHCP, DNS forwarding, port-forwards), and LAN55 mDNS
|
||||
multicast (flooded up the uplink). Use it only for those flows; for a full
|
||||
commissioning conversation use the hass `end0` or AP `br0` point instead.
|
||||
commissioning conversation use the hass `end1` or AP `br0` point instead.
|
||||
- **Full mirror:** only via SE5420 port mirroring (the switch cannot run
|
||||
tcpdump). Not configured; out of scope here.
|
||||
- **Verification commands (EdgeOS v3.0.1 build 5862409):**
|
||||
@@ -295,7 +296,7 @@ LAN55.**
|
||||
- Realtime capture consistently shows the target device's mDNS announcements
|
||||
(`_matterc` / `_matter._tcp`) on the chosen point.
|
||||
- Commissioning shows the TCP 5540 handshake (SYN/SYN-ACK/ACK); on the hass
|
||||
`end0` point this includes wired Thread-relay commissioning (HA↔M3), which
|
||||
`end1` point this includes wired Thread-relay commissioning (HA↔M3), which
|
||||
the AP point cannot see.
|
||||
- Saved pcap opens in Wireshark and filters by `mDNS` / `tcp.port==5540`.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user