Commit Graph
42 Commits
Author SHA1 Message Date
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