Pypowerwall

Latest version: v0.12.9

Safety actively analyzes 723158 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 12

0.10.3

* Update `setup.py` to include dependencies on `protobuf>=3.20.0`.
* Add TEDAPI `connect()` logic to better validate Gateway endpoint access.
* Add documentation for TEDAPI setup.
* Update CLI to support TEDAPI calls.
* Proxy t60 - Fix edge case where `/csv` API will error due to NoneType inputs.
* Add TEDAPI argument to set custom GW IP address.

bash
Connect to TEDAPI and pull data
python3 -m pypowerwall tedapi

Direct call to TEDAPI class test function (optional password)
python3 -m pypowerwall.tedapi GWPASSWORD
python3 -m pypowerwall.tedapi --debug
python3 -m pypowerwall.tedapi --gw_ip 192.168.91.1 --debug

0.10.2

* Fix FleetAPI setup script as raised in https://github.com/jasonacox/pypowerwall/issues/98.
* Update FleetAPI documentation and CLI usage.

0.10.1

* Fix PVAC lookup error logic in TEDAPI class vitals() function.
* Add alerts and other elements to PVAC TETHC TESYNC vitals.
* Update vitals Neurio block to include correct location and adjust RealPower based on power scale factor.

0.10.0

* Add support for `/tedapi` API access on Gateway (requires connectivity to 192.168.91.1 GW and Gateway Password) with access to "config" and "status" data.
* Adds drop-in replacement for depreciated `/vitals` API and payload using the new TEDAPI class. This allows easy access to Powerwall device vitals.
* Proxy update to t58 to support TEDAPI with environmental variable `PW_GW_PWD` for Gateway Password. Also added FleetAPI, Cloud and TEDAPI specific GET calls, `/fleetapi`, `/cloud`, and `/tedapi` respectively.

python
How to Activate the TEDAPI Mode
import pypowerwall

gw_pwd = "GW_PASSWORD" Gateway Passowrd usually on QR code on Gateway

host = "192.168.91.1" Direct Connect to GW
pw = pypowerwall.Powerwall(host,password,email,timezone,gw_pwd=gw_pwd)
print(pw.vitals())


python
New TEDAPI Class
import pypowerwall.tedapi

tedapi = pypowerwall.tedapi.TEDAPI("GW_PASSWORD")

config = tedapi.get_config()
status = tedapi.get_status()

meterAggregates = status.get('control', {}).get('meterAggregates', [])
for meter in meterAggregates:
location = meter.get('location', 'Unknown').title()
realPowerW = int(meter.get('realPowerW', 0))
print(f" - {location}: {realPowerW}W")

0.9.1

* Fix bug in time_remaining_hours() and convert print statements in FleetAPI to log messages.
* Fix CLI bug related to `site_id` as raised by darroni in https://github.com/jasonacox/pypowerwall/issues/93
* Add CLI option for local mode to get status:

bash
python -m pypowerwall get -host 10.1.2.3 -password 'myPassword'

0.9.0

* v0.9.0 - Tesla (official) FleetAPI cloud mode support by jasonacox in https://github.com/jasonacox/pypowerwall/pull/91 - This adds the FleetAPI class and mapping for pypowerwall.
* FleetAPI setup provided by module CLI: `python -m pypowerwall fleetapi`
* Adds `auto_select` mode for instatiating a Powerwall connection: `local` mode, `fleetapi` mode and `cloud` mode. Provides `pw.mode` class variable as the mode selected.

python
import pypowerwall

Option 1 - LOCAL MODE - Credentials for your Powerwall - Customer Login
password="password"
email="emailexample.com"
host = "10.0.1.123" Address of your Powerwall Gateway
timezone = "America/Los_Angeles" Your local timezone

Option 2 - FLEETAPI MODE - Requires Setup
host = password = email = ""
timezone = "America/Los_Angeles"

Option 3 - CLOUD MODE - Requires Setup
host = password = ""
email='emailexample.com'
timezone = "America/Los_Angeles"

Connect to Powerwall - auto_select mode (local, fleetapi, cloud)
pw = pypowerwall.Powerwall(host,password,email,timezone,auto_select=True)

print(f"Connected to Powerwall with mode: {pw.mode}")

Page 5 of 12

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.