Skip to main content

A python library to retrieve energy statistics from your Alpha ESS inverter by polling the Official Alpha ESS Open API.

Project description

alphaess

This Python library uses the Alpha ESS Open API to retrieve data on your Alpha ESS inverter, photovoltaic panels, and battery if you have one. This library is principally intended for use by my Home Assistant integration [https://github.com/CharlesGillanders/homeassistant-alphaESS]

How to use

1. Sign up for an open API account

Register at https://open.alphaess.com/ for a (free) account to get your Developer ID (AppID) and Developer Secret (AppSecret).

Once registered, add your battery/inverter to the developer account via the web UI.

Note

To be good internet citizens, it is advised that your polling frequency for any AlphaCloud endpoints are 10 seconds at a minimum.

Methods

There are public methods in this module that duplicate the AlphaESS OpenAPI and provide wrappers for

All of the above are documented at https://open.alphaess.com/developmentManagement/apiList (Registration required)

  • getdata() - Attempts to get statistical energy data for use in Home Assistant for all registered Alpha ESS systems - will return None if there are issues retrieving data from the Alpha ESS API.
  • authenticate - Attempts to use https://openapi.alphaess.com/api/getEssList to validate authentication to the ALpha ESS API - will return True or False.
  • setbatterycharge (serial, enabled, dp1start, dp1end, dp2start, dp2end, chargecutoffsoc) Parameters:
  • chargecutoffsoc (float) % to stop charging from the grid at
  • enabled (bool) True to charge from the grid, False do not
  • dp1start (datetime.time) The start time of charging period 1 (the minutes must be one of :00, :15, :30, :45)
  • dp1end (datetime.time) The end time of charging period 1 (the minutes must be one of :00, :15, :30, :45)
  • dp2start (datetime.time) The start time of charging period 2 (the minutes must be one of :00, :15, :30, :45)
  • dp2end (datetime.time) The end time of charging period 2 (the minutes must be one of :00, :15, :30, :45)
  • serial (str) The serial number of the battery/inverter.
  • setbatterydischarge (serial, enabled, dp1start, dp1end, dp2start, dp2end, dischargecutoffsoc) Parameters:
  • dischargecutoffsoc (float) % to stop discharging from the battery at
  • enabled (bool) True to discharge from the battery, False do not
  • dp1start (datetime.time) The start time of charging period 1 (the minutes must be one of :00, :15, :30, :45)
  • dp1end (datetime.time) The end time of charging period 1 (the minutes must be one of :00, :15, :30, :45)
  • dp2start (datetime.time) The start time of charging period 2 (the minutes must be one of :00, :15, :30, :45)
  • dp2end (datetime.time) The end time of charging period 2 (the minutes must be one of :00, :15, :30, :45)
  • serial (str) The serial number of the battery/inverter.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alphaessopenapi-0.0.8.tar.gz (5.1 kB view hashes)

Uploaded Source

Built Distribution

alphaessopenapi-0.0.8-py3-none-any.whl (5.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page