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).
This commit is contained in:
windyboy
2026-08-14 15:47:08 +08:00
parent 6ae835037b
commit fcb76d3d5a
+19
View File
@@ -109,6 +109,25 @@ getent hosts hass.windy.lan
## Local patches (custom components) ## Local patches (custom components)
**`china_southern_power_grid_stat` IPv4 aiohttp (verified 2026-08-14, W1N-102):**
`/config/custom_components/china_southern_power_grid_stat` was replaced from
GitHub `windyboy/china_southern_power_grid_stat` `master` (`eb8b174`, W1N-101).
The live client uses HA `async_get_clientsession(hass, family=socket.AF_INET)`
and bounded aiohttp timeouts; it no longer uses blocking `requests`. Backup of
the 2026-02-02 HACS/`requests` tree:
`china_southern_power_grid_stat.bak-20260814-w1n102`. HACS still tracks
`CubicPill/china_southern_power_grid_stat` — a HACS update would overwrite this
fork. This directory is a file copy, not a git clone; do not `git pull` in
place.
After deploy, Core loaded the new code (15:21:45). `verify_login` failed in ~5s
with `CSGTransportError` (no executor hang). Home PPPoE IPv4 to CSG is currently
blackholed: `curl -4 https://95598.csg.cn` from `gw` times out to
`218.19.148.218`; `curl -6` from `gw` returns 200 via `240e:f9:8060::1:16`.
HA `end1`/`wlan0` have `ipv6.method: disabled` (W1N-85) and only `fe80`
addresses, so HA cannot use that IPv6 path. Remote IPv4 to the same A record
still works. Re-apply after any HACS/`CubicPill` update.
**`tianqi` weather recorder patch (verified 2026-08-13, W1N-75):** **`tianqi` weather recorder patch (verified 2026-08-13, W1N-75):**
`/config/custom_components/tianqi/weather.py` has a local patch adding `/config/custom_components/tianqi/weather.py` has a local patch adding
`_unrecorded_attributes = frozenset({"hourly_temperature", "hourly_skycon", `_unrecorded_attributes = frozenset({"hourly_temperature", "hourly_skycon",