Skip to content

Releases: jasonacox/pypowerwall

v0.5.0 - Exception Handling for Powerwall Connection

03 Jul 22:35
Compare
Choose a tag to compare

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

Full Changelog: v0.4.0...v0.5.0

v0.4.0 - Cache Bypass Option and New Functions

14 Mar 02:44
Compare
Choose a tag to compare

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() and battery_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 connection timeout.
# 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

19 Jan 07:36
Compare
Choose a tag to compare
  • 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

18 Jan 02:18
Compare
Choose a tag to compare

New Contributors

Full Changelog: v0.1.4...v0.2.0

v0.1.4 - Battery Level Percentage Scaling

09 Jan 23:27
Compare
Choose a tag to compare
  • 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

08 Jan 07:43
Compare
Choose a tag to compare
  • 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

02 Jan 18:39
Compare
Choose a tag to compare
  • 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

29 Nov 05:41
Compare
Choose a tag to compare
  • 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

24 Nov 02:22
Compare
Choose a tag to compare
  • 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')

v0.0.2 - Scan Function

17 Oct 07:43
Compare
Choose a tag to compare
  • PyPI 0.0.2
  • pyPowerwall now has a network scan function to find the IP address of Powerwalls
# Scan Network for Powerwalls
python -m pypowerwall scan

Output Example:

pyPowerwall Network Scanner [0.0.2]
Scan local network for Tesla Powerwall Gateways

    Your network appears to be: 10.0.3.0/24

    Enter Network or press enter to use 10.0.3.0/24: 

    Running Scan...
      Host: 10.0.3.22 ... OPEN - Not a Powerwall
      Host: 10.0.3.45 ... OPEN - Found Powerwall 1234567-00-E--TG123456789ABC
      Done                           

Discovered 1 Powerwall Gateway
     10.0.1.45 [1234567-00-E--TG123456789ABC]