Welcome to the pyPowerwall documentation hub. This page provides organized access to all documentation resources for users, developers, and contributors.
New to pyPowerwall? Start with the main README for installation instructions and basic setup.
The Powerwall 2 gateway has a web based portal that you can access to the power flow animation. This requires that you find the local IP address of you Powerwall. You can do that using pypowerwall:
# Install pyPowerwall if you haven't already
python -m pip install pypowerwall
# Scan Network for Powerwall
python -m pypowerwall scanAfter confirming your local network address space, it will scan your network looking for a Tesla Powerwall and respond with something like this:
Discovered 1 Powerwall Gateway
10.0.1.23 [1234567-00-E--TG123456789ABC]
For Powerwall 2 and + systems, point your browser to that address http://10.0.1.23 and you will be able to log in and see the power details and flow animation:
Note: This is not available for Powerwall 3 systems. See the pypowerwall-server project for an alternative local portal.
You can use pyPowerwall to grab individual string data. It uses the protobuf payload from the 'vitals' API.
import pypowerwall
# Credentials for your Powerwall
password='password'
email='email@example.com'
host = "10.0.1.123" # Address of your Powerwall Gateway
timezone = "America/Los_Angeles" # Your local timezone
# Connect to Powerwall
pw = pypowerwall.Powerwall(host,password,email,timezone)
# Print String Data in JSON
print(pw.strings(True)) # True = JSON format outputOutput example:
{
"A": {
"Connected": true,
"Current": 1.81,
"Power": 422.0,
"State": "PV_Active",
"Voltage": 230.0
},
"B": {
"Connected": false,
"Current": 0.0,
"Power": 0.0,
"State": "PV_Active",
"Voltage": -2.5
},
"C": {
"Connected": true,
"Current": 4.47,
"Power": 892.0,
"State": "PV_Active",
"Voltage": 202.4
},
"D": {
"Connected": true,
"Current": 4.44,
"Power": 889.0,
"State": "PV_Active_Parallel",
"Voltage": 202.10000000000002
}
}Access detailed device vitals data from your Powerwall system:
import pypowerwall
# Connect to Powerwall
pw = pypowerwall.Powerwall(host,password,email,timezone)
# Display Device Vitals
print("Device Vitals:\n %s\n" % pw.vitals(True))Example Output: vitals-example.json
Complete list of Powerwall firmware versions, release dates, and known features/issues.
Comprehensive information about Powerwall devices (STSTSM, TETHC, TEPOD, TEPINV, TESYNC, TEMSA, PVAC, PVS, NEURIO, TESLA) including ECU types, part numbers, and component relationships.
Detailed alert codes and descriptions that may appear in device vitals.
Full API reference for pyPowerwall methods and endpoints.
Interested in contributing? See our contribution guidelines.
