github jasonacox/pypowerwall v0.18.2
v0.18.2 - Powerwall 3 Fan Speeds and Battery Block Fix

2 hours ago

What's New

Powerwall 3 fan speeds (#398)

  • Each PW3 inverter's two fans are reported on its TEPINV--<din> block in /vitals as PCH_FanSpeed_A/_B (RPM) and PCH_FanDuty_A/_B (duty %), None when unavailable.
  • get_fan_speeds() and the proxy's /fans and /fans/pw now report PW3 fans (they previously returned {} on PW3 — the PW2 PVAC_Fan_Speed_* signals are always None there), including a new FANn_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_06 query set — the V2026_06 signed 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 an Error Decoding JSON log line — the gateway was answering all along in payload.recv.text. The v1r LAN and V2026_06 paths are unchanged, and failure shapes ({} / None) are unchanged.

Proxy t104 — upgrades to pyPowerwall v0.18.2 (jasonacox/pypowerwall:0.18.2t104, also :latest).


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)

Don't miss a new pypowerwall release

NewReleases is sending notifications on new releases.