- Address pyLint code cleanup and minor command mode fixes.
- Add battery full_pack and remaining energy data to
/pod
API call for all cases.
- Fix 404 bug that would throw error when user requested non-supported URI.
- Add TEDAPI mode to stats.
- Add error handling for
/csv
API to accommodateNone
data points.
- Minor fix to send less ambiguous debug information during client disconnects.
- Update Neurio block to include correct location and adjust RealPower based on power scale factor.
- Add support for pypowerwall v0.10.0 and TEDAPI with environmental variable
PW_GW_PWD
for Gateway Password. This unlocks new device vitals metrics (as seen with/vitals
). It requires the user to have access to the Powerwall Gateway at 192.168.91.1, either via WiFi for by adding a route to their host or network. - Add FleetAPI, Cloud and TEDAPI specific GET calls,
/fleetapi
,/cloud
, and/tedapi
respectively.
- Add pypowerwall v0.9.0 capabilities, specifically supporting Tesla FleetAPI for cloud connections (main data and control).
- Fix error with site_name on Solar Only systems.
- Fix
/pod
API to addtime_remaining_hours
andbackup_reserve_percent
for cloud mode. - Replaced t54 - Move control to POST see jasonacox#87
- Added GET APIs to retrieve backup reserve and operating mode settings
- Added POST command APIs to set backup reserve and operating mode settings. Requires setting
PW_CONTROL_SECRET
for the proxy. Use with caution.
# Set Mode
export MODE=self_consumption
export RESERVE=20
export PW_CONTROL_SECRET=mySecretKey
curl -X POST -d "value=$MODE&token=$PW_CONTROL_SECRET" http://localhost:8675/control/mode
# Set Reserve
curl -X POST -d "value=$RESERVE&token=$PW_CONTROL_SECRET" http://localhost:8675/control/reserve
# Read Settings
curl http://localhost:8675/control/mode
curl http://localhost:8675/control/reserve
- Add DISABLED API handling logic.
- Update to pyPowerwall proxy v0.8.1
- Update to pypowerwall 0.8.0
- Minor bug fixes.
- Update to pypowerwall 0.7.12 and add
/api/solar_powerwall
to ALLOWLIST. Using new API, proxy is able to produce/alerts/
list and some/strings
data for newer Firmware version (>23.44) that no longer support the vitals API.
- Add Power Flow Animation style (set
PW_STYLE="solar"
) for Solar-Only display. Removes the Powerwall image and related text to display a Grid + Solar + Home powerflow animation.
- Bug fixes for Solar-Only systems using
cloud mode
(see jasonacox/Powerwall-Dashboard#437).
- Use /api/system_status battery blocks data to augment /pod and /freq macro data APIs.
- Fix Critical Bug - 404 HTTP Status Code Handling (Issue jasonacox#65).
- Add
PW_AUTH_PATH
to set location for cloud auth and site files.
- Add
cloudmode
support for pypowerwall v0.7.1.
- Fix "flashing animation" problem by matching
hash
variable in index.html to firmware versiongit_hash
.
- Default page rendered by proxy (http://pypowerwall/) will render Powerflow Animation
- Animation assets (html, css, js, images, fonts, svg) will render from local filesystem instead of pulling from Powerwall TEG portal.
- Start prep for possible API removals from Powerwall TEG portal (see NOAPI settings)
- Add a
grafana-dark
style forPW_STYLE
settings to accommodate placing as iframe in newer Grafana versions (e.g. v9.4.14). See jasonacox/Powerwall-Dashboard#371.
- Add Add Graceful Exit with SIGTERM to fix condition where container does not stop gracefully as raised in jasonacox#49 by @rcasta74 .
- Update default
PW_POOL_MAXSIZE
from 10 to 15 to help address "Connection pool is full" errors reported by @jgleigh in jasonacox/Powerwall-Dashboard#261 - May the 4th be with you!
- Fix Cache-Control no-cache header and added option to set max-age, fixes #31 by @dkerr64 in jasonacox#32
- Added new alerts endpoint ('/alerts/pw') for retrieving the data in dictionary/object format (helps with telegraf usage).
- Updated to Python 3.10
- Added Powerwall Firmware version display to Power Flow Animation
- Added cache logic to better handle Powerwall firmware upgrades.
- Fix
clear.js
(and others) to hide the compliance link button in the animation caused by the latest Powerwall firmware upgrade (22.26.1-foxtrot)
- Fix Bug with
/version
for version numbers with alpha characters. #24 - Added error handling for socket error when sending response.
- Added uptime field for stats ('/stats') API.
- Enhanced help API ('/help') to provide HTML stats page and link to API documentation.
- Improved logging with timestamps.
- Released with pyPowerwall v0.6.0 Enhancement
- Added HTTP persistent connections for API requests to Powerwall Gateway by @mcbirse in #21
- Requests to Gateway will now re-use persistent http connections which reduces load and increases response time.
- Added env PW_POOL_MAXSIZE to proxy server to allow this to be controlled (persistent connections disabled if set to zero).
- Added env PW_TIMEOUT to proxy server to allow timeout on requests to be adjusted.
- Add support for specifying a bind address by @zi0r in jasonacox#16
- Add shebang for direct execution by @zi0r in jasonacox#17
- Breaking update to /api/system_status/soe endpoint that now provides the 95% scaled values. This was important to make sure the Power Flow animation matches the Tesla App. The /soe shortcut URL will continue to provide actual battery level (unscaled). See Issue jasonacox/Powerwall-Dashboard#37
- Bug fix to remove scrollbars from web view (see jasonacox#15 and jasonacox/Powerwall-Dashboard#29) thanks to @danisla.
-
Added ability to change the style of the power flow animation background color:
clear
(default),black
,white
,grafana
gray, anddakboard
black. Set usingPW_STYLE
environment variable:export PW_STYLE="clear"
-
Added ability to proxy Powerwall web interface for power flow animation (by @danisla). #14
-
Added optional HTTPS support for iframe compatibility via
PW_HTTPS
environment variable:# Turn on experimental HTTPS mode export PW_PORT="8676" export PW_PASSWORD="password" export PW_EMAIL="[email protected]" export PW_HOST="10.0.1.73" export PW_TIMEZONE="America/Los_Angeles" export PW_CACHE_EXPIRE="5" export PW_DEBUG="no" export PW_HTTPS="yes" python3 server.py
- Removed memory leak debug function.
- Bug Fix - ThreadingHTTPServer daemon_threads related memory leak fix. #13
- Proxy server memory metrics added to /stats response.
- Cleaned up /freq macro to better handle vitals response with missing ISLAND or METER metrics.
- Backup Switch: Added frequency, current and voltage for Backup Switch device.
- Bug Fix: Debug logging continued even when disable.
- Force exit added for faster termination instead of waiting on connections to drain.
- Added /pod to provide battery state information (e.g. ActiveHeating, ChargeComplete, PermanentlyFaulted) with boolean values as integers (1/0).
- Added /version to provide Powerwall TEG Firmware Version in string and integer value calculated from the semantic version (e.g. 21.1.1 = 210101).
- Added /alerts to provide list of alerts across devices.
- Added /freq to provide Frequency, Current and Voltage data for Home, Grid, Powerwall.
- Added /temps (raw) and /temps/pw (aliased) to provide temperature data for Powerwalls.
- Added /help to provide link to this page.
- Bug fix in NoneType for error counter.
- Added support for allow list of Powerwall API calls.
- Added multi-threading to HTTP handling using python ThreadingHTTPServer library.