Releases: jasonacox/pypowerwall
Releases · jasonacox/pypowerwall
v0.8.4 - Set Reserve
What's Changed
- v0.8.4 by @jasonacox in #86
- Updated
set_reserve(level)
logic to handle levels from 0 to 100. Identified by @spoonwzd in #85
Proxy t55 (4 May 2024)
- Fix
/pod
API to addtime_remaining_hours
andbackup_reserve_percent
for cloud mode. - Replaced t54 - Move control to POST per @KevM in #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
Full Changelog: v0.8.3...v0.8.4
v0.8.3 - Control APIs
What's Changed
- v0.8.3 - Control APIs by @jasonacox in #83
- Added additional error handling logic to clean up exceptions #81
Proxy (t54):
- Fix
/pod
API to addtime_remaining_hours
andbackup_reserve_percent
for cloud mode. - Added control APIs to set backup reserve and operating mode settings. Requires setting
PW_CONTROL_SECRET
. Use with caution! #79
# Set Mode
curl "http://localhost:8675/control/mode?token=$PW_CONTROL_SECRET&value=self_consumption"
# Set Reserve
curl "http://localhost:8675/control/reserve?token=$PW_CONTROL_SECRET&value=20"
# Omit Value to Read Settings
curl "http://localhost:8675/control/mode?token=$PW_CONTROL_SECRET"
curl "http://localhost:8675/control/reserve?token=$PW_CONTROL_SECRET"
Full Changelog: v0.8.2...v0.8.3
v0.8.2
What's Changed
- Handle 503 Errors and Disabled Powerwall APIs by @jasonacox in #80
- Added 5 minute cooldown for HTTP 503 Service Unavailable errors from API calls.
- Proxy: Added DISABLED API handling logic.
Full Changelog: v0.8.1...v0.8.2
v0.8.1 - Set battery reserve, operation mode
What's Changed
- v0.8.1 - Set battery reserve, operation mode by @emptywee in #78
- Added
get_mode()
,set_mode()
,set_reserve()
,andset_operation()
function to set battery operation mode and/or reserve level by @emptywee in #78. Likely won't work in the local mode. - Added basic validation for main class
__init__()
parameters (a.k.a. user input). - Better handling of 401/403 errors from Powerwall in local mode.
- Handle 50x errors from Powerwall in local mode.
- Added Alerts for Grid Status
alerts()
. - New command line functions (
set
andget
):
usage: PyPowerwall [-h] {setup,scan,set,get,version} ...
PyPowerwall Module v0.8.1
options:
-h, --help show this help message and exit
commands (run <command> -h to see usage information):
{setup,scan,set,get,version}
setup Setup Tesla Login for Cloud Mode access
scan Scan local network for Powerwall gateway
set Set Powerwall Mode and Reserve Level
get Get Powerwall Settings and Power Levels
version Print version information
Full Changelog: v0.8.0...v0.8.1
v0.8.0 - Refactoring
What's Changed
- Refactored pyPowerwall by @emptywee in #77 including:
- Moved Local and Cloud based operation code into respective modules, providing better abstraction and making it easier to maintain and extend going forward.
- Made meaning of the
jsonformat
parameter consistent across all method calls (breaking API change). - Removed Python 2.7 support.
- Cleaned up code and adopted a more pythoinc style.
- Fixed battery_blocks() for non-vitals systems.
Full Changelog: v0.7.12...v0.8.0
v0.7.12 - Cachefile, Alerts & Strings
What's Changed
- Added logic to pull string data from
/api/solar_powerwall
API if vitals data is not available by @jasonacox in #76. - Added alerts from
/api/solar_powerwall
when vitals not present by @DerickJohnson in #75. The vitals API is not present in firmware versions > 23.44, this provides a workaround to get alerts. - Allow customization of the cachefile location and name by @emptywee in #74 via
cachefile
parameter.
# Example
import pypowerwall
pw = pypowerwall.Powerwall(
host="10.1.2.30",
password="secret",
email="[email protected]",
timezone="America/Los_Angeles",
pwcacheexpire=5,
timeout=5,
poolmaxsize=10,
cloudmode=False,
siteid=None,
authpath="",
authmode="cookie",
cachefile=".powerwall",
)
New Contributors
Full Changelog: v0.7.11...v0.7.12
v0.7.11 - Cooldown Mode
- Updated logic to disable vitals API calls for Firmware 23.44.0+
- Added rate limit detection and cooldown mode to allow Powerwall gateway time to recover.
Full Changelog: v0.7.10...v0.7.11
v0.7.10 - Cache 404 Responses
- Add cache and extended TTL for 404 responses from Powerwall as identified in issue jasonacox/Powerwall-Dashboard#449. This will help reduce load on Powerwall gateway that may be causing rate limiting for some users (Firmware 23.44.0+).
Full Changelog: v0.7.9...v0.7.10
v0.7.9 - Cloud Grid Status
- Bug fix for correct grid status for Solar-Only systems on
cloud mode
(see jasonacox/Powerwall-Dashboard#437)
Full Changelog: v0.7.8...v0.7.9
v0.7.8 - Cloud Fixes
What's Changed
- Fix enumeration of energy sites during
cloud mode
setup to handle incomplete sites with Unknown names or types by @dcgibbons in #72 - Proxy t41 Updates - Bug fixes for Solar-Only systems using
cloud mode
(see jasonacox/Powerwall-Dashboard#437).
New Contributors
- @dcgibbons made their first contribution in #72
Full Changelog: v0.7.7...v0.7.8