diff --git a/docs/lan-overview.md b/docs/lan-overview.md index 4ae4b0f..ec6cafe 100644 --- a/docs/lan-overview.md +++ b/docs/lan-overview.md @@ -47,19 +47,19 @@ from each section below. | Host | Role | SSH | IPv4 | Facts | |------|------|-----|------|-------| | **gw** | EdgeRouter X primary LAN gateway | `ssh -4 zhiqiang@192.168.66.254` | `192.168.66.254` | [hosts/gw.md](../hosts/gw.md) | -| **PVE** | Proxmox host (`.66.26`/vmbr0 · `.55.26`/vmbr1) — hosts gfw/dns/ubnt/haos VMs | `ssh -4 root@192.168.66.26` | `192.168.66.26` | — | +| **PVE** | Proxmox host (`.66.26`/vmbr0 · `.55.26`/vmbr1) — hosts gfw/dns/ubnt VMs | `ssh -4 root@192.168.66.26` | `192.168.66.26` | — | | **gfw.windy.lan** | OpenWrt LAN gateway / OpenClash — **PVE VM 140** | `ssh -4 root@192.168.66.1` | `192.168.66.1` | [hosts/gfw.windy.lan.md](../hosts/gfw.windy.lan.md) | | **dns.windy.lan** | AdGuard Home LAN DNS + Mihomo explicit proxy — **PVE VM 120** (`pihole`) | `ssh -4 windy@192.168.66.36` | `192.168.66.36` | [hosts/dns.windy.lan.md](../hosts/dns.windy.lan.md) | | **ubnt** | UniFi Network Controller — **PVE VM 160** | `ssh -4 windy@192.168.66.46` | `192.168.66.46` | [hosts/ubnt.md](../hosts/ubnt.md) | -| **hass.windy.lan** | Home Assistant (HAOS) — **PVE VM 180** (LAN55) | `ssh hassio@hass.windy.lan` | `192.168.55.11` | [hosts/hass.windy.lan.md](../hosts/hass.windy.lan.md) | +| **hass.windy.lan** | Home Assistant (HAOS) — **x88 Pro physical box** (LAN55) | `ssh hassio@hass.windy.lan` | `192.168.55.11` | [hosts/hass.windy.lan.md](../hosts/hass.windy.lan.md) | | **NAS/FreeNAS** | NAS; `transmission` jail runs here (`.51`) | — | — | — | | **U6 Lite** | UniFi AP (LAN66) | `ssh -4 zhiqiangf@192.168.66.6` | `192.168.66.6` | [docs/unifi-network.md](../docs/unifi-network.md) | | **UAP-AC-Lite** | UniFi AP (LAN55) | `ssh -4 zhiqiangf@192.168.55.5` | `192.168.55.5` | [docs/unifi-network.md](../docs/unifi-network.md) | -> **Positioning facts (verified 2026-08-09):** `dns`/`ubnt`/`gfw`/`haos` are all VMs on PVE -> (no separate physical hosts); `transmission` is a FreeNAS/NAS jail. Only gw, PVE, -> NAS, U6, UAP-AC-Lite, and wired PCs/NAS are physical SE5420 ports. See -> [lan-se5420-deployment-guide.md](lan-se5420-deployment-guide.md) §1. +> **Positioning facts:** `dns`/`ubnt`/`gfw` are VMs on PVE; `haos` is a **physical x88 Pro +> box** (HAOS bare-metal, `machine: green`), not a PVE VM (corrected 2026-08-15). +> `transmission` is a FreeNAS/NAS jail. Physical SE5420 ports: gw, PVE, haos, NAS, +> U6, UAP-AC-Lite, and wired PCs. See [lan-se5420-deployment-guide.md](lan-se5420-deployment-guide.md) §1. --- @@ -154,7 +154,7 @@ See [docs/unifi-openclash-localhost.md](../docs/unifi-openclash-localhost.md). | SSH | `ssh hassio@hass.windy.lan` (key-only, verified 2026-08-13) | | Web UI | `http://hass.windy.lan:8123` | | WAN | gw port-forward `hass` → `192.168.55.11:8123` | -| Platform | HAOS; kernel `6.1.115-haos` (aarch64) | +| Platform | HAOS on physical x88 Pro box; kernel `6.1.115-haos` (aarch64), `machine: green` | --- diff --git a/docs/lan-se5420-deployment-guide.md b/docs/lan-se5420-deployment-guide.md index cf44d3d..568405a 100644 --- a/docs/lan-se5420-deployment-guide.md +++ b/docs/lan-se5420-deployment-guide.md @@ -106,7 +106,7 @@ - 第一步不建 VLAN10、不向 ER-X 送任何 tag、口 4/6(PVE、U6)不做 trunk。 - NAS 只接口 8,口 12 断开(LACP 是独立维护窗)。 -- 不占口的 VM:dns(.36=VM120)、ubnt(.46=VM160)、gfw(.1=VM140)、haos(.55.11=VM180);transmission(.51) 是 NAS jail。 +- 不占口的 VM:dns(.36=VM120)、ubnt(.46=VM160)、gfw(.1=VM140);haos(.55.11) 是物理 x88 Pro 盒子(非 VM);transmission(.51) 是 NAS jail。 ## 3. 开箱与固件升级 @@ -207,7 +207,7 @@ 4. **验证:** - `ip -br addr`:`vmbr1` = `192.168.55.26/24`; - `ping -c3 192.168.55.254` → 通。 -5. 逐台验证 VM(顺序:gfw → dns → ubnt → haos): +5. 逐台验证(顺序:gfw → dns → ubnt → haos;前三个是 VM,haos 是物理盒子): ```bash ssh -4 root@192.168.66.26 'qm list' ``` @@ -215,7 +215,7 @@ - dns:`ping -c3 192.168.66.36` → 通; - ubnt:`ping -c3 192.168.66.46` → 通; - haos:`ping -c3 192.168.55.11` → 通(注意是 55 网段)。 -6. 每个 VM 再验业务:gfw 的 OpenClash 面板/DNS 正常、dns 的 AdGuard UI 能开、ubnt 控制器 Connected、haos 界面能开。不以"宿主开机"代替。 +6. 每台再验业务:gfw 的 OpenClash 面板/DNS 正常、dns 的 AdGuard UI 能开、ubnt 控制器 Connected、haos 界面能开。不以"宿主开机"代替。 ## 7. 迁移 AP 与接入设备 diff --git a/inventory/hosts.md b/inventory/hosts.md index 3fbc1ca..699c38e 100644 --- a/inventory/hosts.md +++ b/inventory/hosts.md @@ -31,7 +31,7 @@ the software deployed there, see [the LAN overview](../docs/lan-overview.md). | **dns.windy.lan** | AdGuard Home LAN DNS + Mihomo explicit proxy (PVE VM 120) | `ssh -4 windy@192.168.66.36` | `192.168.66.36` | ✓ (dns_windy_lan) | **active** | [hosts/dns.windy.lan.md](../hosts/dns.windy.lan.md) | | **gw** | EdgeRouter X primary LAN gateway | `ssh -4 zhiqiang@192.168.66.254` | `192.168.66.254` | — (EdgeOS, no ansible) | **active** | [hosts/gw.md](../hosts/gw.md) | | **ubnt** | UniFi Network Controller (PVE VM 160) | `ssh -4 windy@192.168.66.46` | `192.168.66.46` | ✓ (ubnt) | **active** | [hosts/ubnt.md](../hosts/ubnt.md) | -| **hass.windy.lan** | Home Assistant (HAOS, PVE VM 180, LAN55) | `ssh hassio@hass.windy.lan` | `192.168.55.11` | — (HAOS, no ansible) | **active** | [hosts/hass.windy.lan.md](../hosts/hass.windy.lan.md) | +| **hass.windy.lan** | Home Assistant (HAOS, x88 Pro physical box, LAN55) | `ssh hassio@hass.windy.lan` | `192.168.55.11` | — (HAOS, no ansible) | **active** | [hosts/hass.windy.lan.md](../hosts/hass.windy.lan.md) | (docs: correct hass hardware to x88 Pro physical box; sync CSG v1.3.2) `status: stub` = known to exist; fill `hosts/.md` when next touched. diff --git a/runbooks/home-assistant-maintenance.md b/runbooks/home-assistant-maintenance.md index bb2fe02..94e4f4f 100644 --- a/runbooks/home-assistant-maintenance.md +++ b/runbooks/home-assistant-maintenance.md @@ -1,6 +1,6 @@ # Runbook: Home Assistant maintenance (hass.windy.lan) -Target: [hass.windy.lan](../hosts/hass.windy.lan.md) (HAOS, `machine: green`) +Target: [hass.windy.lan](../hosts/hass.windy.lan.md) (physical x88 Pro box, HAOS `machine: green`) Upstream: HAOS 18.1 / Core 2026.8.1 / Supervisor 2026.07.5 (verified 2026-08-14) This runbook covers routine Home Assistant maintenance through the **`ha` @@ -283,20 +283,20 @@ print(urllib.request.urlopen(req, timeout=60).status) ``` 7. **Do not edit the dashboard or `templates/csg_sensors.yaml` for an - install.** Entity IDs did not change across v1.3.0/v1.3.1. Template - `| float(0)` turns native `unavailable` into fake zeros; that is a - follow-up, not part of the zip install. + install.** Entity IDs did not change across v1.3.0/v1.3.1/v1.3.2. + Template `| float(0)` turns native `unavailable` into fake zeros; that + is a follow-up, not part of the zip install. -#### Verify (CSG, after v1.3.1 / W1N-107) +#### Verify (CSG, after v1.3.2 / W1N-118) | Check | Expect | |---|---| -| `manifest.json` `version` | `1.3.1` | +| `manifest.json` `version` | `1.3.2` | | `ha core logs` after this restart | `Setting up china_southern_power_grid_stat`; **no** `cannot pickle 'mappingproxy'` | | Config entry | `state: loaded` | | `sensor.0800041935246530_balance` | numeric (may be `0.0`) | | `sensor.0800041935246530_this_month_total_usage` | numeric after reload if first poll timed out | -| Native `*_total_cost` / `current_ladder` | may stay `unknown` (CSG marketing calendar SQL error); dashboard uses template `_2` / `*_ladder_cost` | +| Native `*_total_cost` / `current_ladder` | may stay `unknown` (CSG marketing calendar SQL error); dashboard uses W1N-114 `csg_*` ladder/cost templates | `monetary` + `total_increasing` warnings on this-month/year cost sensors are a remaining plugin issue, not an install failure. diff --git a/runbooks/matrix-e2ee-update.md b/runbooks/matrix-e2ee-update.md index 391fa81..30d4c6b 100644 --- a/runbooks/matrix-e2ee-update.md +++ b/runbooks/matrix-e2ee-update.md @@ -2,10 +2,19 @@ Update the custom **`matrix_e2ee`** integration on `hass.windy.lan`. +- Last reviewed: 2026-08-18 +- Related systems: hass.windy.lan (HAOS, `machine: green`) + Facts: [hosts/hass.windy.lan.md](../hosts/hass.windy.lan.md) (see § `matrix_e2ee` live tree) Source: `/home/windy/project/ha-matrix-e2ee` (development clone on workstation) Access: `ssh -o BatchMode=yes hassio@hass.windy.lan 'sudo -n -i '` +> **STOP conditions:** live state conflicts with the prerequisites below (e.g. +> the source repo is not on the target state, the host manifest does not match +> the source after rsync, or Core fails to start after restart) — stop and +> record evidence; never bypass a failed check. Roll back per the Rollback +> section when Core does not come back up. + > **SSH config gotcha (verified 2026-08-18):** on the WSL client the systemwide > `/etc/ssh/ssh_config.d/20-systemd-ssh-proxy.conf` can be owned by `nobody` > (e.g. under the agent sandbox), making plain `ssh` fail with