What's New
Powerwall 3 fan speeds (#398)
- Each PW3 inverter's two fans are reported on its
TEPINV--<din>block in/vitalsasPCH_FanSpeed_A/_B(RPM) andPCH_FanDuty_A/_B(duty %),Nonewhen unavailable. get_fan_speeds()and the proxy's/fansand/fans/pwnow report PW3 fans (they previously returned{}on PW3 — the PW2PVAC_Fan_Speed_*signals are alwaysNonethere), including a newFANn_duty. PW3 has no target-RPM signal, so the PW2 target field isn't reused.- Powerwall 2/+ output is unchanged.
- Like the PW3 temperatures (#390), PW3 fan data needs the default
V2024_06query set — theV2026_06signed query can't carry extra signals, so fan output stays{}there. - Hardware-validated on two PW3s (firmware 26.18.1).
get_battery_block() fix (#396)
get_battery_block(din)now returns the Powerwall 3 battery block (components+pw3Can) in basic/WiFi TEDAPI mode and for v1r followers routed over WiFi. Since v0.10.8 it read the answer from the config-file slot of the response, so every call returned{}with anError Decoding JSONlog line — the gateway was answering all along inpayload.recv.text. The v1r LAN andV2026_06paths are unchanged, and failure shapes ({}/None) are unchanged.
Proxy t104 — upgrades to pyPowerwall v0.18.2 (jasonacox/pypowerwall:0.18.2t104, also :latest).
- PyPI: https://pypi.org/project/pypowerwall/0.18.2/
- Docker: https://hub.docker.com/r/jasonacox/pypowerwall
Contributors
Thanks to the community members who made this release possible:
- @jasonacox — PW3 fan-speed signal discovery and implementation (PR #398), the
get_battery_block()parse fix (PR #396), and the release (PR #397)