Releases: jasonacox/pypowerwall
v0.7.7 - Battery Data and Network Scanner
What's Changed
- Proxy t40: Use /api/system_status battery blocks data to augment /pod and /freq macro data APIs by @jasonacox in #67 thanks to @ceeeekay in jasonacox/Powerwall-Dashboard#402 (comment)
- Network Scanner: Improve network scan speed by scanning multiple hosts simultaneously by @mcbirse in #67. The number of hosts to scan simultaneously can be adjusted using the optional
-hosts=
argument (default = 30, maximum = 100), e.g.python -m pypowerwall scan -hosts=50
Full Changelog: v0.7.6...v0.7.7
v0.7.6 - Critical Bug Fix
What's Changed
- Fix Critical Bug Fix that addresses HTTP 404 response handling for API calls #65 #57 by @jasonacox in #66 #65
🔥 CRITICAL Upgrade - Please take a moment and upgrade your installation of pypowerwall if you using it for your own scripts. The latest release fixes 404 HTTP status code handling for API calls. Older versions of pypowerwall will cause a repeating loop of login attempts eventually resulting in rate limiting and failure to get any metrics.
NOTE: IF YOU HAVE FIRMWARE 23.44.0 YOU ARE IMPACTED AND SHOULD UPGRADE AS SOON AS POSSIBLE.
pip install --upgrade pypowerwall
# Verify version 0.7.6 or greater:
python -m pypowerwall version
pyPowerwall [0.7.6]
Note: Users of pypowerwall proxy docker container should upgrade to the latest as well: jasonacox/pypowerwall:0.7.6t39
Full Changelog: v0.7.5...v0.7.6
v0.7.5 - Cloud Mode Setup
What's Changed
- Added optional email address argument to Cloud Mode setup (
python -m pypowerwall setup -email=<email>
) by @mcbirse in #64 to streamline Powerwall-Dashboard setup script. - Updated network scanner output to advise Powerwall 3 is supported in Cloud Mode by @mcbirse in #64
Full Changelog: v0.7.4...v0.7.5
v0.7.4 - Bearer Token Auth
What's Changed
- Add Bearer Token Auth by @jasonacox in #63
- Powerwall Network Scanner - Added optional IP address argument to network scanner by @mcbirse in #63. The Scan Function can now accept an additional argument
-ip=
to override the host IP address detection (python -m pypowerwall scan -ip=192.168.1.100
). This may be useful where the host IP address/network cannot be detected correctly, for instance if pypowerwall is running inside a container.
pyPowerwall
- This release adds the ability to use a Bearer Token for Authentication for the local Powerwall gateway API calls. This is selectable by defining
authmode='token'
in the initialization. The default mode uses the existingAuthCookie
andUserRecord
method.
import pypowerwall
pw = pypowerwall.Powerwall(HOST, PASSWORD, EMAIL, TIMEZONE, authmode="token")
Proxy
- The above option is extended to the pyPowerwall Proxy via the envrionmental variable
PW_AUTH_MODE
set to cookie (default) or token.
Full Changelog: v0.7.3...v0.7.4
v0.7.3 - Cloud Mode Setup
What's Changed
- v0.7.3 - Setup will now check for
PW_AUTH_PATH
environmental variable to set the path for.pypowerwall.auth
and.pypowerwall.site
by @mcbirse in #62 - Proxy t37 - Move signal handler to capture SIGTERM when proxy halts due to config error by @mcbirse in #62. This ensures a containerized proxy will exit without delay when stopping or restarting the container.
Full Changelog: v0.7.2...v0.7.3
v0.7.2 - Cloud Mode Settings
What's Changed
- v0.7.2 - Add cloud mode configuration setting by @jasonacox in #61
Details
This adds the option to set file path for cloud auth (.pypowerwall.auth
) and site (.pypowerwall.site
) cache files:
- API - The initializer now has
authpath
which defaults to current directory (authpath=""
) - Proxy - An environmental variable
PW_AUTH_PATH
is added which defaults to current directory.
This also adds the option to specify the energy site ID (siteid
):
- API - The initializer now has
siteid
which defaults to None. - Proxy - The existing environmental variable
PW_SITEID
is available to set thesiteid
.
import pypowerwall
pw = pypowerwall.Powerwall(email="email@example.com",cloudmode=True,siteid=1234567,authpath=".auth")
This will provide more flexibility to run the pypowerwall proxy in a container for cloud mode support.
Full Changelog: v0.7.1...v0.7.2
v0.7.1 - Tesla Cloud Mode
What's Changed
- Localize PowerFlow Animation by @jasonacox in #58
- Added new API function to compute estimated backup time remaining on the battery:
get_time_remaining()
- Simulate Powerwall Energy Gateway via Tesla Cloud API calls. In
cloudmode
API calls to pypowerwall APIs will result in calls made to the Tesla API to fetch the data. Tesla Cloud Option by @jasonacox and @mcbirse in #59
Cloud Mode Setup - Use pypowerwall to fetch your Tesla Owners API Token
python3 -m pypowerwall setup
# Token and site information stored in .pypowerwall.auth and .pypowerwall.site
Cloud Mode Code Example
import pypowerwall
pw = pypowerwall.Powerwall(email="email@example.com",cloudmode=True)
pw.power()
# Output: {'site': 2977, 'solar': 1820, 'battery': -3860, 'load': 937}
pw.poll('/api/system_status/soe')
# Output: '{"percentage": 26.403205103271222}'
Full Changelog: v0.6.3...v0.7.1
v0.6.3 - Powerwall 3 Detection
What's Changed
- Add alert PVS_a036_PvArcLockout by @JordanBelford in #33
- Create tessolarcharge.py by @venturanc in #36
- Fix typos and spelling errors by @mcbirse in #40
- Add alert definitions per #42 by @jasonacox in #43
- Added two PVAC Alerts by @niabassey in #46
- Added firmware 23.28.1 to README.md by @niabassey in #48
- Exit proxy gracefully with SIGTERM by @rcasta74 in #49
- v0.6.2b - Proxy Grafana Support for Dark Mode by @jasonacox in #52
- Update README.md by @niabassey in #53
- v0.6.3 Powerwall 3 Detection by @jasonacox in #55 - Added scan detection for new Powerwall 3 systems. API discovery is still underway so pypowerwall currently does not support Powerwall 3s. See jasonacox/Powerwall-Dashboard#387
$ python3 -m pypowerwall scan
pyPowerwall Network Scanner [0.6.3]
Scan local network for Tesla Powerwall Gateways
Your network appears to be: 10.0.1.0/24
Enter Network or press enter to use 10.0.1.0/24:
Running Scan...
Host: 10.0.1.2 ... OPEN - Not a Powerwall
Host: 10.0.1.5 ... OPEN - Found Powerwall 3 [Currently Unsupported]
Host: 10.0.1.8 ... OPEN - Not a Powerwall
Host: 10.0.1.9 ... OPEN - Found Powerwall 3 [Currently Unsupported]
Done
Discovered 2 Powerwall Gateway
10.0.1.5 [Powerwall-3] Firmware Currently Unsupported - See https://tinyurl.com/pw3support
10.0.1.9 [Powerwall-3] Firmware Currently Unsupported - See https://tinyurl.com/pw3support
New Contributors
- @JordanBelford made their first contribution in #33
- @venturanc made their first contribution in #36
- @jasonacox made their first contribution in #43
- @niabassey made their first contribution in #46
- @rcasta74 made their first contribution in #49
Full Changelog: v0.6.2...v0.6.3
v0.6.2b - Proxy Grafana Support
What's Changed
- v0.6.2b - Proxy Grafana Support for Dark Mode
- Proxy t28: Add a
grafana-dark
style forPW_STYLE
settings to accommodate placing as iframe in newer Grafana versions (e.g. v9.4.14) by @jasonacox in #52. See jasonacox/Powerwall-Dashboard#371.
Full Changelog: v0.6.2a...v0.6.2b
v0.6.2a
What's Changed
- Add alert PVS_a036_PvArcLockout by @JordanBelford in #33
- Create
tessolarcharge.py
by @venturanc in #36 & #37 & #38 - Fix typos and spelling errors by @mcbirse in #40
- Add alert definitions per #42 by @jasonacox in #43
- Added two PVAC Alerts by @niabassey in #46
- Added Firmware 23.28.1 to README.md by @niabassey in #48
- Add proxy gracefully exit with SIGTERM by @rcasta74 in #49
New Contributors
- @JordanBelford made their first contribution in #33
- @venturanc made their first contribution in #36
- @niabassey made their first contribution in #46
- @rcasta74 made their first contribution in #49
Full Changelog: v0.6.2...v0.6.2a