Releases: jasonacox/pypowerwall
Releases · jasonacox/pypowerwall
v0.12.3 - Custom GW IP
What's Changed
- Fix TEDAPI URL from constant GW_IP to constructor selectable host gw_ip by @Nexarian in #129 - The hard-coded 192.168.91.1 for the TEDAPI internal endpoint doesn't work if you're using NAT. This change enables support for this use-case.
- See https://gist.github.com/jasonacox/91479957d0605248d7eadb919585616c?permalink_comment_id=5373785#gistcomment-5373785 for NAP implementation example.
Full Changelog: v0.12.2...v0.12.3
v0.12.2 - Cache Expiration Fix
What's Changed
- v0.12.2 - TEDAPI Cache Expiration Fix by @jasonacox in #123
- Fix bug in cache expiration timeout code that was not honoring pwcacheexpire setting. Raised by @erikgieseler in #122 - PW_CACHE_EXPIRE=0 not possible? (Proxy)
- Add WARNING log in proxy for settings below 5s.
- Change TEDAPI config default timeout from 300s to 5s and link to pwcacheexpire setting.
Full Changelog: v0.12.1...v0.12.2
v0.12.1 - Scanner Update
What's Changed
- Large-scale refactor of scan function by @Nexarian in #117
- Function
scan()
returns a list of the discovered devices for use as a utility function. - Ability to silence output for use as a utility.
- Improve performance of multi-threaded scan by using a Queue.
- General code flow improvements and encapsulation.
- Add ability to work with standalone inverters.
- Function
from pypowerwall.scan import scan
found_devices = scan(interactive = False)
Full Changelog: v0.12.0...v0.12.1
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