github jasonacox/pypowerwall v0.16.2
v0.16.2 - TEDAPI Fallback, v1r Diagnostics, and Firmware Version Improvements

2 days ago

TEDAPI Fallback, v1r Diagnostics, and Firmware Version Improvements

  • feat(proxy): TEDAPI SolarOnly fallback mode — when TEDAPI connectivity is lost, the proxy automatically continues serving solar data without interruption. Enabled via PW_TEDAPI_RECOVERY=yes. (#361)
    • Background probe/recovery thread polls every PW_TEDAPI_PROBE_INTERVAL seconds (default 30, minimum 5); after 3 consecutive failures the proxy enters SolarOnly fallback
    • Automatic recovery with exponential backoff (60s → 300s max); hardware-verified: fallback triggered at ~T+165s, recovered in 60s on first attempt against live PW3+follower
    • /health and /stats now include a fallback_mode block (is_fallback_mode, reason, entered_at, recovery_attempts, last_recovery_attempt)
    • POST /health/reset resets fallback state and triggers an immediate recovery attempt
  • fix(v1r): PENDING_VERIFICATION and UNKNOWN_KEY_ID auth warnings now surface at normal log level — previously required PW_DEBUG=yes, leaving users with no indication of key enrollment problems. (#355)
  • feat(tedapi): get_firmware_version() refactored onto a unified _get_system_info()/SystemInfo model — consistent output across V2024_06 and V2026_06 query sets and across basic/v1r transports. (#356)
  • fix(tedapi): v1r WiFi-fallback responses normalized at the transport boundary — fixes silently empty/incorrect data (e.g. blank firmware version) when LAN→WiFi fallback fires. (#356)
  • BREAKING (approved exception): get_firmware_version(details=True) renames system.fivesystem.systemUpdate and system.sixsystem.deviceType. No known downstream consumers affected. (#356)
  • fix(proxy): Docker HEALTHCHECK now uses curl — prior wget-based check always failed silently on Alpine. (#357)
  • fix(cli): Ctrl-C exits cleanly instead of printing a traceback
  • Proxy BUILD t97 · Library 0.16.2

Contributors

Thanks to the community members who made this release possible:

  • @Nexarian — authored the firmware version refactor (#356), bringing get_firmware_version() to the V2026_06 API and unifying the SystemInfo model across query sets
  • @cstout1 — reported the Docker wget: not found healthcheck failure (#346) that led to the curl fix in PR #357
  • @jasonacox — coded the v1r WiFi-fallback normalization fix in PR #356, drove the code review on PR #361, and requested the hardware validation run against the live PW3+follower

Don't miss a new pypowerwall release

NewReleases is sending notifications on new releases.