v0.15.0
v0.15.0 - Powerwall 3 Wired LAN TEDAPI Support (v1r)
- Docs: Note FleetAPI/Cloud mode requirement for
get_grid_charging()andget_grid_export()- by @jasonacox-sam in #268 - Insert empty
battery_blocksarray if missing to prevent downstream KeyError - by @zi0r in #269 - Fix: Prevent shared-state race condition in stubs via factory functions - by @woofiwoof in #270
API_METERS_AGGREGATES_STUBandAPI_SYSTEM_STATUS_STUBin cloud/fleetapi/tedapi stubs were module-level mutable dicts; concurrent polling of multiple gateways caused threads to overwrite each other's data- Replaced module-level dicts with
_..._TEMPLATEconstants and factory functions that returncopy.deepcopy()copies, ensuring each gateway gets an independent data structure
- Add
/tedapi/v1rtransport for Powerwall 3 wired LAN access without requiring WiFi connection to192.168.91.1- by @nalditopr in #265- New
tedapi_v1r.pyRSA-signed transport class — handles TLV payload construction, PKCS1v15+SHA512 signing, RoutableMessage protobuf wrapping, and Bearer token authentication - New
tedapi_combined_pb2.py— compiled protobuf definitions for v1r message format (RoutableMessage,MessageEnvelope, etc.) - New
pypowerwall registerCLI command (andv1r_register.pyscript) for generating an RSA-4096 key pair and registering it with the Powerwall via Tesla Owner API (default) or Fleet API OAuth Powerwall()constructor accepts newrsa_key_pathparameter — when provided alongsidepassword/gw_pwd, the library automatically selects v1r modegw_pwd(full 10-character QR code password from the Powerwall sticker) auto-derives the last-5-character Basic API password, simplifying configuration- Proxy server supports new
PW_RSA_KEY_PATHenvironment variable to pass the RSA key path through toPowerwall() cryptographypackage added toinstall_requiresfor RSA key loading and signing- Full feature parity with WiFi TEDAPI (mode 4): config, status, vitals, firmware version, power, battery level, grid status, per-device vitals, and component queries
- LAN control support — set backup reserve, operation mode, grid charging, and grid export directly over the wired LAN via v1r filestore config writes (no cloud API needed)
- WiFi fallback transport — when both wired LAN and WiFi TEDAPI are available, v1r mode transparently uses WiFi for follower queries; mode string dynamically reflects active transports (e.g.,
Local (v1r+wifi+control)) - Requires the Powerwall 3 leader's ethernet port to be on a routable subnet (
10.42.1.x/24is the TEG's dedicated wired interface); see PR notes for bridge setup examples
- New
- Drop
linux/arm/v7(32-bit ARMv7) platform support from the pypowerwall proxy Docker container builds
New Contributors
- @jasonacox-sam made their first contribution in #268
- @nalditopr made their first contribution in #265
- @woofiwoof made their first contribution in #270
Full Changelog: v0.14.10...v0.15.0