Releases: jasonacox/pypowerwall
Releases · jasonacox/pypowerwall
v0.12.0 - Add Powerwall Temps
What's Changed
- Remove Negative Solar Values [Option] by @jasonacox in #113
- Add Powerwall Temps by @jasonacox in #114
- Solar-Only Cloud Access - Fix errors with site references by @Nexarian in #115
- TEDAPI: Add
get_device_controller()
to get device data which includes Powerwall THC_AmbientTemp data. Credit to @ygelfand for discovery and reported in jasonacox/Powerwall-Dashboard#392 (comment) - Updated
vitals()
to include Powerwall temperature data. - Proxy Updated to t66 to include API response for /tedapi/controller.
Example: pw.temps()
{
"TETHC--2012170-25-E--TG123456789012": 20.5,
"TETHC--3012170-05-B--TG123456789013": 20.60000000000001
}
New Contributors
Full Changelog: v0.11.1...v0.12.0
v0.11.1 - PW3 and FleetAPI Bugfix
What's Changed
- Check if activeAlerts exists before listing alerts by @rmotapar in #112
- TEDAPI: Fix bug with activeAlerts logic causing errors on systems with multiple Powerwall 3's. Identified by @rmotapar in jasonacox/Powerwall-Dashboard#387 (comment)
- FleetAPI: Fix connect() to handle non-energy products in the getsites response. Identified by @gregrahn in #111
New Contributors
Full Changelog: v0.11.0...v0.11.1
v0.11.0 - Add PW3 Vitals
What's Changed
- Add PW3 Vitals by @jasonacox in #110
- Add polling of Powerwall 3 Devices to pull in PW3 specific string data, PW capacity, voltages, frequencies, and alerts.
- This creates TEPOD, PVAC and PVS compatible payloads available in vitals().
Proxy URLs updated for PW3:
- http://localhost:8675/vitals
- http://localhost:8675/help (verify pw3 shows True)
- http://localhost:8675/tedapi/components
- http://localhost:8675/tedapi/battery
Full Changelog: v0.10.10...v0.11.0
v0.10.10 - Add Grid Control
What's Changed
- Add Grid Control Functions by @jasonacox in #109
- Add functions and command line options to allow user to get and set grid charging and exporting modes (re: #108).
- Supports FleetAPI and Cloud modes only (not Local mode)
Command Line Examples
# Connect to Cloud
python3 -m pypowerwall setup # or fleetapi
# Get Current Settings
python3 -m pypowerwall get
# Turn on Grid charging
python3 -m pypowerwall set -gridcharging on
# Turn off Grid charging
python3 -m pypowerwall set -gridcharging off
# Set Grid Export to Solar (PV) energy only
python3 -m pypowerwall set -gridexport pv_only
# Set Grid Export to Battery and Solar energy
python3 -m pypowerwall set -gridexport battery_ok
# Disable export of all energy to grid
python3 -m pypowerwall set -gridexport never
Programming Examples
import pypowerwall
# FleetAPI Mode
PW_HOST=""
PW_EMAIL="[email protected]"
pw = pypowerwall.Powerwall(host=PW_HOST, email=PW_EMAIL, fleetapi=True)
# Get modes
pw.get_grid_charging()
pw.get_grid_export()
# Set modes
pw.set_grid_charging("on") # set grid charging mode (on or off)
pw.set_grid_export("pv_only") # set grid export mode (battery_ok, pv_only, or never)
Full Changelog: v0.10.9...v0.10.10
v0.10.9 - TEDAPI Voltage & Current
What's Changed
- Add computed voltage and current to
/api/meters/aggregates
from TEDAPI status data by @jasonacox in #107 - Fix error in
num_meters_aggregated
calculation in aggregates.
Full Changelog: v0.10.8...v0.10.9
v0.10.8 - Firmware Version for TEDAPI
What's Changed
- TEDAPI functions for firmware version and PW3 by @jasonacox in #106
- Add TEDAPI
get_firmware_version()
to poll Powerwall for firmware version. Discovered by @geptto in #97. This function has been integrated into pypowerwall existing APIs (e.g.pw.version()
) - Add TEDAPI
get_components()
andget_battery_block()
functions which provide additional Powerwall 3 related device vital information for Powerwall 3 owners. Discovered by @lignumaqua in jasonacox/Powerwall-Dashboard#392 (comment). The plan it to integrate this data into the other device vitals payloads for PW3 systems (TODO).
Full Changelog: v0.10.7...v0.10.8
v0.10.7 - FleetAPI Energy History
What's Changed
- Add power history retrieval to FleetAPI by @jasonacox in #105
- FleetAPI - Add
get_history()
andget_calendar_history()
to return energy, power, soe, and other history data.
import pypowerwall
pw = pypowerwall.Powerwall(host=PW_HOST, email=PW_EMAIL, fleetapi=True)
pw.client.fleet.get_calendar_history(kind="soe")
pw.client.fleet.get_history(kind="power")
Full Changelog: v0.10.6...v0.10.7
v0.10.6 - pyLint Cleanup
What's Changed
- Address pyLint cleanup and minor bug fixes by @jasonacox in #103
- TEDAPI get_reserve() fix to address unscaled battery backup reserve level results.
- Address pyLint Cleanup of Code.
- Proxy: Command mode error handling.
- Cloud Mode: Fix logic for selecting FleetAPI mode
- Add request timeout settings to FleetAPI and TEDAPI calls.
Full Changelog: v0.10.5...v0.10.6
v0.10.5 - Minor Fixes
What's Changed
- v0.10.5 - Minor Fixes by @jasonacox in #102
- Fix for TEDAPI "full" (e.g. Powerwall 3) mode, including
grid_status
bug resulting in false reports of grid status,level()
bug where data gap resulted in 0% state of charge andalerts()
where data gap from tedapi resulted in anull
alert. - Add TEDAPI API call locking to limit load caused by concurrent polling.
- Proxy - Add battery full_pack and remaining energy data to
/pod
API call for all cases.
Full Changelog: v0.10.4...v0.10.5
0.10.4 - Powerwall 3 Local API Support
What's Changed
- Add Powerwall 3 Local API Support by @jasonacox in #101
- TEDAPI will activate in
hybrid
(using TEDAPI for vitals and existing local APIs for other metrics) orfull
(all data from TEDAPI) mode to provide better Powerwall 3 support. - The
full
mode will automatically activate when the customerpassword
is blank andgw_pwd
is set. - Note: The
full
mode will provide less metrics thanhybrid
mode since Powerwall 2/+ systems have additional APIs that are used inhybrid
mode to fetch additional data
import pypowerwall
# Activate HYBRID mode (for Powerwall / 2 / + systems)
pw = pypowerwall.Powerwall("192.168.91.1", password=PASSWORD, email=EMAIL, gw_pwd=PW_GW_PWD)
# Activate FULL mode (for all systems including Powerwall 3)
pw = pypowerwall.Powerwall("192.168.91.1", gw_pwd=PW_GW_PWD)
Related:
Full Changelog: v0.10.3...v0.10.4