windyboy
037c4ccaa5
docs(hass): 马桶换气电源 Matter 插座接入 + 功率积分补电量 (VPS-92)
...
Matter Smart Plug (SIXWGH model 3596) 的 cluster 0x0091 声明 IMPE+CUME+PERE 但
CumulativeEnergyImported 恒为 null -> HA 能量实体永久 unknown。功率计量正常
(实测 24.7 W),故用 Integration (Riemann sum) 辅助元素补电量实体
sensor.wei_sheng_jian_ma_tong_huan_qi_dian_yuan_energy:
能源仪表盘 grid 源 [8] 与 Quick「用电量(按插座)」图换到该实体,Quick 另加
span-2「开关」区块。记录 config-flow 经 supervisor 代理走 REST 的 Agent 方法、
备份路径与回滚方式;energy/validate 已全绿。
2026-09-13 18:39:22 +08:00
windyboy
cecf7e6331
docs(hass): CSG 电力监控面板重构 — avg price 传感器 + 去重/改名 + 季节切换提醒 (VPS-90)
2026-09-04 21:44:43 +08:00
windyboy
de52cb8b57
docs(hass): 地图卡 CARTO 水印修复 — custom:map-card v1.16.0 + keyed tiles (W1N-261)
2026-08-30 13:39:42 +08:00
windyboy
b15e19bce9
docs(pgdb): compose 开机竞态故障修复 + 自愈 unit (W1N-260)
...
- 根因:开机时 docker 恢复容器绑定 192.168.55.15:5432/8081 失败(EADDRNOTAVAIL,IP 尚未可绑)→ timescaledb/pgweb 启动失败且不重试,停摆 3h15m;pg-backup 开机备份失败 → unhealthy
- 处置:docker compose up -d --force-recreate(三容器回 database_default、端口发布、备份恢复、pgweb 恢复);用户重启 HA Core 后写入管道恢复
- 防复发:新增开机自愈 systemd oneshot pgdb-compose.service(enabled),源码 compose/pgdb/pgdb-compose.service
2026-08-30 13:19:05 +08:00
windyboy
bee54a6858
docs(hass): CSG 长期归档 csg_history + recorder 365d 补录 (W1N-243)
2026-08-30 13:19:05 +08:00
windyboy
d6747028b4
docs(soft-serve): 镜像固定 v0.12.2 + 备份 sidecar + 非 root 运行 (W1N-244..248)
...
- 镜像 pinned charmcli/soft-serve:v0.12.2(GHCR 为 dev/nightly 源,无 v0.12.x tag)
- soft-serve-backup sidecar:每日 02:00 sqlite .backup + repos-config 打包,03:00 prune 保留 14 份
- 非 root 运行(user 1000:1000),data chown;ssh.public_url 修复
- compose 源码参考:compose/soft-serve/(服务器文件为准)
2026-08-30 13:19:05 +08:00
windyboy
f174aa1219
docs(hass): CSG 复核遗留修复 — 模板 days[-1] 补排序 + 本月日均/预测进度上屏 (W1N-242)
2026-08-29 21:08:13 +08:00
windyboy
5b5f6042e6
docs(hass): CSG 模板/面板修复记录 — availability 硬化 (W1N-239)、off-by-one + 新传感器 (W1N-241)、gauge 阶梯对齐 + 年度统计 (W1N-240)
...
- hosts/hass.windy.lan.md: csg_sensors 三次变更记录 + 季节性 gauge 切换已知事项 (11-01/5-01)
- runbooks/home-assistant-maintenance.md: float(0) fake-zero follow-up 标记已解决
2026-08-29 21:02:33 +08:00
windyboy
50136b2ffd
docs(hass): W1N-238 — scribe config split to scribe.yaml + templates/ merge include
...
- Scribe 3.8.0 block moved verbatim from configuration.yaml to
/homeassistant/scribe.yaml (scribe: !include scribe.yaml); YAML stays
authoritative, import semantics unchanged.
- template: switched to !include_dir_merge_list templates; new
quick_sensors.yaml scaffold (top-level list, quick_ prefix, unique_id
required; pure sums stay min_max per W1N-233).
- Verified post-restart 2026-08-29 20:19 CST: core check ok, scribe
connection on, states_written 18581→19426, template entities = 12,
no scribe/template log errors. Backup configuration.yaml.bak-20260829-201724-w1n238.
2026-08-29 20:25:53 +08:00
windyboy
908ff5412a
docs(hass): Quick dashboard round-2 state — badges, total-power helper, span-2 power pair, fill/colors (W1N-231)
...
Sync Quick dashboard section with live config: 2x2 mushroom light grid,
kong_diao AC entity fix, heading badges (env temps / AC / PC / total power),
min_max sum helper sensor.dang_qian_zong_gong_lu (fail-closed), selective
tozeroy fill on base-load chart, power charts paired as span-2 sections with
card titles removed, motion per-entity colors.
2026-08-29 19:54:35 +08:00
windyboy
e58283210a
chore(vaultwarden,healthcheck): upgrade 1.37.2 (Bitwarden 2026.8+); fix vps-health checks
...
- vaultwarden/server:1.37.1 -> 1.37.2 (required for Bitwarden clients 2026.8.0+)
- compose probe: flag only active services (config --services) so debug-profile
pgweb 'Exited' no longer false-positives
- runner: build aggregate args line-by-line (robust vs Jinja trim_blocks)
- SMTP AUTH probe moved host-side (vaultwarden image has no python3); never
prints the SMTP password
- us2 facts: probe refresh 2026-08-29, image/version, vps-health install
2026-08-29 19:54:32 +08:00
windyboy
8c73d1f894
docs(hass,pgdb): timescale-plotly-card chart stack — reader+card install, sensor_minute pipeline, Quick dashboard
...
- reader timescale_database_reader v1.1.0 (bb8776a) + card timescale-plotly-card
2.2.0 (217961d), manual installs; config entry, Lovelace resource id recorded
- pgdb scribe: sensor_minute_aggregate cagg + sensor_minute hypertable + jobs
1005/1006/1007; states_raw 3-month retention/compression statements deliberately
skipped (permanent archive per host doc)
- sensor_minute_refresh local patch ELSE 0 → ELSE NULL (unavailable-minute zeros
poison diff-mode energy charts) + one-time cleanup (505 head rows, 26 impossible
zeros); re-apply after re-running upstream 02 SQL
- Quick dashboard: 5 chart cards via WS lovelace/config/save; documented section
column_span (absent → span 1) vs card grid_options sizing rules
2026-08-29 15:54:40 +08:00
windyboy
bc0a86245d
docs: Scribe retention v4.x status (user declined RCs, 2026-08-29); HA Core 2026.8.3 verified
2026-08-29 14:56:05 +08:00
windyboy
2d95f87897
docs(runbooks): pgdb ops runbooks — health / restore / update + facts refresh (W1N-228)
...
- runbooks/pgdb-health.md: read-only health check (8 diagnostics) — containers,
PG core + HA clients, write activity, TimescaleDB hypertables/compression,
pgweb auth/bookmarks, daily custom-format backups, disk/fstab, logs
- runbooks/pgdb-restore.md: procedure-type restore (pg_restore -Fc, temp-DB swap,
approval gates, rollback) — precondition command verified live
- runbooks/pgdb-update.md: gated command reference (pull -> config -q -> up -> verify;
rollback = /opt/database/run + old volumes)
- index + validate-repo.sh classification updated; hosts/pgdb.md refreshed
(SSH key auth works, scribe events hypertable, runbook cross-refs)
2026-08-29 14:51:20 +08:00
windyboy
b61513c93e
chore(pgdb): land W1N-227 compose-化 leftovers (compose source, host facts, inventory, scribe notes)
2026-08-29 14:51:20 +08:00
windyboy
a95b626636
docs: Matter bulbs failure mode C — both bulbs announce mDNS but refuse TCP 5540 (08-23 read-only verification); record 08-22 add/loop saga, working bulb MAC change, 3-fabric map, PD rotation to 238:4812; refresh stale DHCP-reservation note on gw (W1N-207)
2026-08-23 11:06:35 +08:00
windyboy
aaa4ee312e
docs: verify gw switch0 as limited capture point — SE5420 single-uplink (eth1 up, eth2/3 down), LAN55 wired hosts behind SE5420; record EdgeOS 3 CLI/access quirks (W1N-207)
2026-08-22 10:44:20 +08:00
windyboy
6b298491a8
docs: Matter packet-capture runbook v2 — hass end0 commissioner capture point, corrected AP-point scope (no wired↔wired unicast), UAP-AC-Lite model fix, SE5420 live status; fix hass interface end1→end0 (W1N-207)
2026-08-22 10:14:29 +08:00
windyboy
32631e2996
docs: add Matter pairing troubleshooting handbook; record bulb state + DHCP reservation mismatch (W1N-207)
2026-08-22 08:18:23 +08:00
windyboy
1426b4ecfe
docs: matrix_e2ee v0.3.12/v0.3.9 notes; gw/ubnt IPv6 re-verification; agent sandbox SSH quirk (2026-08-20)
2026-08-21 08:57:53 +08:00
windyboy
1f5e58bf17
docs: record Matter/IPv6 findings — stale matter-server mDNS address, SSID cleanup, ER-X ULA infeasibility (W1N-207)
2026-08-21 08:56:26 +08:00
windyboy
079332e082
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
2026-08-18 13:31:15 +08:00
windyboy
7cedba7f51
docs: rename integration name from matrix_e2ee to matrix_e2e
...
- Rename runbook: matrix-e2ee-update.md -> matrix-e2e-update.md
- Update all references in AGENTS.md, hass.windy.lan.md,
home-assistant-matrix.md to use the short name matrix_e2e
- The code domain stays matrix_e2ee (E2EE) in source; all
doc prose and command references now use matrix_e2e
2026-08-18 13:31:15 +08:00
windyboy
eda6536ddb
docs: record CSG v1.3.1 zip install and correct ha-maintenance restart failure
...
ha-maintenance.sh --restart-core --yes exited 1 in <1s without restarting
Core. Empty output is ssh failure hidden by 2>/dev/null + pipefail, not a
MOTD-strip after a successful restart. Direct `ha core restart` is the
working path.
2026-08-14 22:31:31 +08:00
windyboy
1dc880362d
docs: add HA Matrix integration notes and record .local rewrite removals
2026-08-14 18:17:26 +08:00
windyboy
8303d78caf
Record W1N-105 CSG network step, P1, and fork master→main rename on hass.windy.lan.
2026-08-14 18:15:28 +08:00
windyboy
ebfe7b8488
docs(gw): document EdgeOS PPPoE redial procedure
2026-08-14 16:26:23 +08:00
windyboy
88eaefda33
Record W1N-104 CSG auto dual-stack deploy on hass.windy.lan.
...
end1 IPv6 is on, wlan0 stays off, and the live custom component is de01914
with ip_family=auto after the IPv4 blackhole.
2026-08-14 16:11:03 +08:00
windyboy
fcb76d3d5a
Record W1N-102 CSG deploy and IPv4 blackhole on hass.windy.lan.
...
The host note now states the aiohttp IPv4 client is live, Core loaded it,
and home PPPoE IPv4 to 95598.csg.cn is currently blackholed while IPv6
works on gw. HA still has IPv6 disabled (W1N-85).
2026-08-14 15:47:08 +08:00
windyboy
6ae835037b
hass.windy.lan: resolve health snapshot issues (W1N-70..76) and document findings
...
- Add tianqi weather recorder patch notes (W1N-75: _unrecorded_attributes)
- Document Bluetooth hci0 RTL8821CS instability (W1N-74) and eMMC lifetime
10% (W1N-76) as known issues
- Rewrite runbook known-issues section: all snapshot items resolved; link
hosts doc for the two remaining known issues
2026-08-13 19:48:18 +08:00
windyboy
b5617fd3a9
docs(ha): add Home Assistant maintenance runbook + ha CLI script (W1N-69)
...
- runbooks/home-assistant-maintenance.md: access pattern (sudo -n -i ha),
command reference verified on host, recovery ops, families not scripted,
docs-vs-CLI discrepancies
- runbooks/scripts/ha-maintenance.sh: read-only health/logs + --yes-gated
update/restart/rebuild/rollback/reboot/backup/restore/app modes
- AGENTS.md: register runbook in table; hosts/hass: access pattern + link
2026-08-13 17:54:33 +08:00
windyboy
f5842568b9
docs: add Home Assistant API access notes
2026-08-13 17:20:49 +08:00
windyboy
5b0f7950e6
docs: add hass.windy.lan Home Assistant host documentation
...
Document HAOS on PVE VM 180 (LAN55) with verified SSH access,
network details, and cross-links from lan-overview, inventory,
and AGENTS quick map.
2026-08-13 14:10:39 +08:00
windyboy
95ec2350af
docs(dns): record mosdns foreign DoH multi-upstream redundancy (W1N-62)
2026-08-13 10:56:40 +08:00
windyboy
d54ec71aea
docs(dns): record gfw foreign branch DoH change (W1N-62)
...
Document encrypted DoH upstream for mosdns foreign queries and note that
DoH traffic goes direct to hk2, not via OpenClash proxy.
2026-08-13 10:50:16 +08:00
windyboy
2fd354c2a9
docs(dns): record mosdns fallback hardening for AGH outage (W1N-56)
2026-08-12 22:24:54 +08:00
windyboy
82203038f0
docs(dns): record mosdns sequence misconfig found+fixed (W1N-56)
2026-08-12 22:19:20 +08:00
windyboy
e501b93d65
docs(dns): correct gfw/.1 facts (W1N-56)
...
- hosts/gfw.windy.lan.md: 3 NICs (eth2/VLAN10 ubunt_upg live), mosdns is
now OpenClash's nameserver (not idle), rewrite VLAN10 Wi-Fi section to
live-verified state
- docs/lan-dns-architecture.md: mosdns on gfw no longer 闲置; note the
recommended AGH+.36 companion architecture is still pending review
2026-08-12 22:11:53 +08:00
windyboy
efa6cf0899
docs(dns): record agh_ui_access LAN55 allow for Home Assistant (2026-08-12)
2026-08-12 22:11:53 +08:00
windyboy
1f6d028ab5
feat(us4): firewall audit + safe reconciliation playbook, host doc
...
Add playbooks/us4-firewalld.yml, a narrow reconciliation of the audited us4
public zone: fails closed on drift or unknown allowances, never reloads or
restarts firewalld, and does not manage Docker rules. Requires explicit
apply + provider-console confirmations, backs up the firewalld config and
ruleset, schedules an automatic 15-minute rollback via at, and verifies SSH,
HTTPS routes, containers, Fail2ban jails, and the WireGuard health check before
cancelling rollback. Pins ansible.posix 2.2.2 in requirements.yml.
Also expand hosts/us4.wsvc.info.md with deployment config and a live audit
snapshot (2026-08-12).
2026-08-12 21:16:31 +08:00
windyboy
baca89be83
docs(hk2): document Traefik dashboard auth and password rotation
2026-08-12 21:16:30 +08:00
windyboy
35577d0c5c
docs: add SE5420 core-switch deployment plans; note PVE VM topology
2026-08-09 21:22:02 +08:00
windyboy
e90eef9647
docs: record UniFi SSO login change and Ansible management (W1N-51)
2026-08-08 09:17:55 +08:00
windyboy
c386fe8136
docs: record gfw OpenClash core v1.19.29 upgrade (W1N-50)
2026-08-06 16:45:11 +08:00
windyboy
e2884069a8
docs: add live-verified LAN overview; refresh gfw facts
2026-08-06 16:22:20 +08:00
windyboy
b03d7019c4
docs: onboard AdGuard Home to Ansible; retire check-mx2; migrate plan to Linear
...
- Add dns.windy.lan to Ansible inventory (adguardhome group/profile) with a
read-only healthcheck template, systemd timer, and on-demand report parity
with the other active hosts; verified green on the host.
- Add synapse.chans.xyz to the AGENTS.md active-host quick map.
- Remove plans/; migrate decisions/verification to a Linear vps project doc and
file the remaining gaps as W1N-46..49 with blocking edges.
- Retire scripts/check-mx2.sh; point mailcow health/update runbooks and the
mx2 host file at the Ansible health report.
- Trim us2 stub software to verified running services; note dormant dirs.
- Normalize repo docs to English; drop the non-existent CONTEXT.md/ADR claim
and remove docs/agents/domain.md.
2026-08-06 15:48:48 +08:00
windyboy
29bdf06383
Document network operations and WireGuard maintenance
2026-08-06 10:20:43 +08:00
windyboy
64484cd484
Document UniFi OpenClash proxy bypass
2026-08-03 21:10:57 +08:00
windyboy
7a9acb4f7c
Manage routine operations through Ansible
2026-08-03 16:01:35 +08:00
windyboy
b73125e5bc
Initial VPS operations handbook
2026-08-03 12:26:42 +08:00