Releases: jasonacox/pypowerwall
Releases · jasonacox/pypowerwall
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
v0.10.3 - TEDAPI Connect Update
What's Changed
- v0.10.3 - TEDAPI Connect by @jasonacox in #100
- Update
setup.py
to include dependencies onprotobuf>=3.20.0
. - Fix TEDAPI
connect()
logic error to better validate PW3 Gateway endpoint access as raised in #97 by @ttl74ls100 - Add documentation for TEDAPI setup.
- Update CLI to support TEDAPI calls.
- Proxy t60 - Fix edge case where
/csv
API will error due to NoneType inputs. - Add TEDAPI argument to set custom GW IP address.
# Connect to TEDAPI and pull data
python3 -m pypowerwall tedapi
# Direct call to TEDAPI class test function (optional password)
python3 -m pypowerwall.tedapi GWPASSWORD
python3 -m pypowerwall.tedapi --debug
python3 -m pypowerwall.tedapi --gw_ip 192.168.91.1 --debug
Full Changelog: v0.10.2...v0.10.3
v0.10.2 - FleetAPI Hotfix
What's Changed
- Fix FleetAPI Setup by @jasonacox in #99 as raised in #98.
- Update FleetAPI documentation and CLI usage.
Full Changelog: v0.10.1...v0.10.2
v0.10.1 - TEDAPI Vitals Hotfix
What's Changed
- v0.10.1 - TEDAPI Vitals Hotfix by @jasonacox in #96
- Fix PVAC lookup error logic in TEDAPI class vitals() function.
- Add alerts and other elements to PVAC TETHC TESYNC vitals.
- Update vitals Neurio block to include correct location and adjust RealPower based on power scale factor.
Full Changelog: v0.10.0...v0.10.1
v0.10.0 - New Device Vitals
What's Changed
- v0.10.0 - New Device Vitals by @jasonacox in #95
- Add support for
/tedapi
API access on Gateway (requires connectivity to 192.168.91.1 GW and Gateway Password) with access to "config" and "status" data. - Adds drop-in replacement for depreciated
/vitals
API and payload using the new TEDAPI class. This allows easy access to Powerwall device vitals. - Proxy update to t58 to support TEDAPI with environmental variable
PW_GW_PWD
for Gateway Password. Also added FleetAPI, Cloud and TEDAPI specific GET calls,/fleetapi
,/cloud
, and/tedapi
respectively.
# How to Activate the TEDAPI Mode
import pypowerwall
# You will need the Gateway/WiFi Password usually found on QR code on Gateway (not the customer password)
gw_pwd = "GW_PASSWORD"
# Direct Connect to GW
host = "192.168.91.1"
pw = pypowerwall.Powerwall(host,password,email,timezone,gw_pwd=gw_pwd)
print(pw.vitals())
# New TEDAPI Class
import pypowerwall.tedapi
tedapi = pypowerwall.tedapi.TEDAPI("GW_PASSWORD")
config = tedapi.get_config()
status = tedapi.get_status()
meterAggregates = status.get('control', {}).get('meterAggregates', [])
for meter in meterAggregates:
location = meter.get('location', 'Unknown').title()
realPowerW = int(meter.get('realPowerW', 0))
print(f" - {location}: {realPowerW}W")
Full Changelog: v0.9.1...v0.10.0
v0.9.1 - Bug Fixes and Updates
What's Changed
- v0.9.1 Bug Fixes and Updates by @jasonacox in #94
- Fix bug in time_remaining_hours() and convert print statements in FleetAPI to log messages.
- Fix CLI bug related to
site_id
as raised by @darroni in #93 - Add CLI option for local mode to get status:
python -m pypowerwall get -host 10.1.2.3 -password 'myPassword'
Full Changelog: v0.9.0...v0.9.1
v0.9.0 - FleetAPI Support
What's Changed
- v0.9.0 - Tesla (official) FleetAPI cloud mode support by @jasonacox in #91 - This adds the FleetAPI class and mapping for pypowerwall.
- FleetAPI setup provided by module CLI:
python -m pypowerwall fleetapi
- Adds
auto_select
mode for instatiating a Powerwall connection:local
mode,fleetapi
mode andcloud
mode. Providespw.mode
class variable as the mode selected.
import pypowerwall
# Option 1 - LOCAL MODE - Credentials for your Powerwall - Customer Login
password="password"
email="[email protected]"
host = "10.0.1.123" # Address of your Powerwall Gateway
timezone = "America/Los_Angeles" # Your local timezone
# Option 2 - FLEETAPI MODE - Requires Setup
host = password = email = ""
timezone = "America/Los_Angeles"
# Option 3 - CLOUD MODE - Requires Setup
host = password = ""
email='[email protected]'
timezone = "America/Los_Angeles"
# Connect to Powerwall - auto_select mode (local, fleetapi, cloud)
pw = pypowerwall.Powerwall(host,password,email,timezone,auto_select=True)
print(f"Connected to Powerwall with mode: {pw.mode}")
Full Changelog: v0.8.5...v0.9.0
v0.8.5 - Solar Only Fix
What's Changed
- v0.8.5 - Fix bug with setup for certain Solar Only systems by @jasonacox in #92
- Fix bug with setup for certain Solar Only systems where setup process fails. Identified by @hulkster in jasonacox/Powerwall-Dashboard#475
Full Changelog: v0.8.4...v0.8.5