Skip to content

Releases: jasonacox/pypowerwall

v0.12.0 - Add Powerwall Temps

27 Nov 05:32
Compare
Choose a tag to compare

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

07 Sep 23:24
458ba68
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.11.0...v0.11.1

v0.11.0 - Add PW3 Vitals

02 Sep 01:59
Compare
Choose a tag to compare

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:

Full Changelog: v0.10.10...v0.11.0

v0.10.10 - Add Grid Control

25 Aug 21:17
ccf84f8
Compare
Choose a tag to compare

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

21 Jul 23:17
87ae55a
Compare
Choose a tag to compare

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

07 Jul 04:32
fcb24f0
Compare
Choose a tag to compare

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() and get_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

07 Jul 03:37
f2d54f2
Compare
Choose a tag to compare

What's Changed

  • Add power history retrieval to FleetAPI by @jasonacox in #105
  • FleetAPI - Add get_history() and get_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

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