Releases: jasonacox/pypowerwall
Releases · jasonacox/pypowerwall
v0.5.1 - Fix grid_status() Off-Grid Map
v0.5.0 - Exception Handling for Powerwall Connection
What's Changed
- PyPI 0.5.0
- Added additional exception handling to help identify connection and login errors.
- Added
is_connected()
function to test for a successful connection to the Powerwall. - Added firmware version to command line network scan (
python -m pypowerwall scan
)
Proxy Server Updates (Build t16) - See here for more Proxy Release notes.
- Add support for backup switch by @nhasan in #12
- Add passthrough to Powerwall web interface and customize for iFrame displays by @danisla in #14
- Remove scrollbars from web view by @danisla in #15
- Add support for specifying a bind address by @zi0r in #16
- Add shebang for direct execution by @zi0r in #17
New Contributors
- @nhasan made their first contribution in #12
- @danisla made their first contribution in #14
- @zi0r made their first contribution in #16
Full Changelog: v0.4.0...v0.5.0
v0.4.0 - Cache Bypass Option and New Functions
What's Changed
- PyPI 0.4.0
- Updates to poll() to force call (ignore cache) by @wcwong in #8
- Added
grid_status()
function to return state of grid by @wcwong in #9 - Added
system_status()
andbattery_blocks()
by @wcwong in #10 - Added
alerts()
function to return an array of device alerts. - Added
get_reserve()
function to return battery reserve setting. - Expanded class to include settings for cache expiration (
pwcacheexpire
) and connectiontimeout
.
# Force Poll
pw.poll('/api/system_status/soe',force=True)
'{"percentage":100}'
# Powerwall Alerts
pw.alerts()
['PodCommissionTime', 'GridCodesWrite', 'GridCodesWrite', 'FWUpdateSucceeded', 'THC_w155_Backup_Genealogy_Updated', 'PINV_a067_overvoltageNeutralChassis', 'THC_w155_Backup_Genealogy_Updated', 'PINV_a067_overvoltageNeutralChassis', 'PVS_a018_MciStringB', 'SYNC_a001_SW_App_Boot']
# Battery Reserve Setting
pw.get_reserve()
20.0
# State of Grid
pw.grid_status()
'UP'
New Contributors
Full Changelog: v0.3.0...v0.4.0
v0.3.0 - Device Vitals Alerts and Attributes
- PyPI 0.3.0
- Added alerts and additional attributes from
vitals()
output. - Note: API change to
vitals()
output for dependant systems.
Full Changelog: v0.2.0...v0.3.0
v0.2.0 - Tesla Protocol Buffer Schema Update
- PyPI 0.2.0
- PB Updates by @brianhealey in #2
- Updates to Protobuf schema tesla.proto, tesla_pb2.py and examples/vitals.py.
- Breaking Change: Potential change in output from function
vitals()
New Contributors
- @brianhealey made their first contribution in #2
Full Changelog: v0.1.4...v0.2.0
v0.1.4 - Battery Level Percentage Scaling
- PyPI 0.1.4
- Changed "Network Scan" default timeout to 400ms for better detection.
- Added Tesla App style "Battery Level Percentage" Conversion option to
level()
to convert the level reading to the 95% scale used by the App. This converts the battery level percentage to be consistent with the Tesla App:
>>> pw.level(scale=True)
39.971429212508326
>>> pw.level()
42.972857751882906
v0.1.3 - Powerwall Temps
- PyPI 0.1.3
- Added
temp()
function to pull Powerwall temperatures.
pw.temps(jsonformat=True)
{
"TETHC--2012170-25-E--TGxxxxxxxxxxxx": 17.5,
"TETHC--3012170-05-B--TGxxxxxxxxxxxx": 17.700000000000003
}
v0.1.2 - Error Handling and Proxy Stats
- PyPI 0.1.2
- Added better Error handling for calls to Powerwall with debug info for timeout and connection errors.
- Added timestamp stats to pypowerwall proxy server.py (via URI /stats and /stats/clear)
pyPowerwall Debug
DEBUG:pypowerwall [0.1.2]
DEBUG:loaded auth from cache file .powerwall
DEBUG:Starting new HTTPS connection (1): 10.0.1.2:443
DEBUG:ERROR Timeout waiting for Powerwall API https://10.0.1.2/api/devices/vitals
Proxy Stats via http://{proxy}/stats
{"pypowerwall": "0.1.2", "gets": 2, "errors": 3, "uri": {"/stats": 1, "/soe": 1}, "ts": 1641148636, "start": 1641148618, "clear": 1641148618}
v0.1.0 - Added Vitals Data
- PyPI 0.1.0
- Added protobuf handling to support decoding the Powerwall Vitals data (requires protobuf package)
- Added function
vitals()
to pull Powerwall Vitals - Added function
strings()
to pull data on solar panel strings (Voltage, Current, Power and State)
vitals = pw.vitals(jsonformat=False)
strings = pw.strings(jsonformat=False, verbose=False)
v0.0.3 - Binary Poll Function, Proxy Server and Simulator
- PyPI 0.0.3
- Added Proxy Server - Useful for metrics gathering tools like telegraf (see proxy]).
- Added Powerwall Simulator - Mimics Powerwall Gateway responses for testing (see pwsimulator])
- Added raw binary poll capability to be able to pull protobuf formatted payloads like '/api/devices/vitals'.
payload = pw.poll('/api/devices/vitals')