Skip to content

Releases: jasonacox/pypowerwall

v0.10.6 - pyLint Cleanup

16 Jun 04:44
6f0dbd1
Compare
Choose a tag to compare

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

15 Jun 05:54
Compare
Choose a tag to compare

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 and alerts() where data gap from tedapi resulted in a null 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

11 Jun 05:47
f23a83d
Compare
Choose a tag to compare

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) or full (all data from TEDAPI) mode to provide better Powerwall 3 support.
  • The full mode will automatically activate when the customer password is blank and gw_pwd is set.
  • Note: The full mode will provide less metrics than hybrid mode since Powerwall 2/+ systems have additional APIs that are used in hybrid 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

09 Jun 23:42
Compare
Choose a tag to compare

What's Changed

  • v0.10.3 - TEDAPI Connect by @jasonacox in #100
  • Update setup.py to include dependencies on protobuf>=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

09 Jun 04:06
2a6e971
Compare
Choose a tag to compare

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

08 Jun 18:01
706afaf
Compare
Choose a tag to compare

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

03 Jun 05:03
267d6c0
Compare
Choose a tag to compare

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

24 May 05:03
Compare
Choose a tag to compare

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

21 May 00:47
4dcc36f
Compare
Choose a tag to compare

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 and cloud mode. Provides pw.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

15 May 14:46
3964039
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.8.4...v0.8.5