Monitor your energy generation, storage, and usage data using the official Open API from Alpha ESS
In November 2023, AlphaESS introduced a new web API for their own web client and developers were officially encouraged to migrate to using the AlphaESS Open API published at https://open.alphaess.com/. This component has been updated to use that Open API. Anyone wanting to use this component in Home Assistant will first need to register their own inverter with the AlphaESS Open API developer portal.
- Navigate to https://open.alphaess.com/ and chose the option to register an account.
- Once registered and logged in follow the instructions from https://github.com/alphaess-developer/alphacloud_open_api to find your inverter SN and CheckCode
- Add your inverter to the developer portal using your SN and CheckCode
If you had previously been using this custom component in Home Assistant you will need to change to use the new authentication mechanism required by the AlphaESS OpenAPI.
- First upgrade the HomeAssistant component to at least version 0.4.0 and then restart your HomeAssistant
- In HomeAssistant navigate to Settings / Devices & Services / AlphaESS
- Look for the pane labeled Integration entries and click on the "3 dots" menu to the right of your existing AlphaESS service.
- Delete the existing AlphaESS service.
- Click Add Entry to add a new AlphaESS service
- Provide the AppID and AppSecret for your account on the Alpha ESS OpenAPI developer portal.
- The new service will be created keeping the same entity/device names as before.
- Use HACS, in `HACS > Integrations > Hamburger Menu > Custom Repositories add https://github.com/CharlesGillanders/homeassistant-alphaESS with category set to integration.
- in
HACS > Integrations > Explore & Add Repositories
search for "alphaess". - Restart Home Assistant.
- Enable Advanced Mode using Profile (click on your username at the bottom of the navigation column) -> Advanced Mode -> On
- Log out of HomeAssistant and back in again
- In the HA UI go to "Configuration" -> "Integrations" click "+" and search for "Alpha ESS".
- You will be prompted for the AppID and AppSecret for your account on the Alpha ESS OpenAPI developer portal.
- Make a custom_components/alphaess folder in your Home Assistant file system.
- Copy all the files and folders from this repository into the custom_components/alphaess folder
- Restart Home Assistant
- Enable Advanced Mode using Profile (click on your username at the bottom of the navigation column) -> Advanced Mode -> On
- Log out of HomeAssistant and back in again
- Setup this integration for your Alpha ESS energy storage system in Home Assistant via
Configuration -> Integrations -> Add -> Alpha ESS
- You will be prompted for the AppID and AppSecret for your account on the Alpha ESS OpenAPI developer portal.
This is currently in early testing and comes with some caveats enforced by the OpenAPI and AlphaESS, This includes;
- Charging can only be set once every 10 minutes
- Discharging can only be set once every 10 minutes
- The reset button calls both set Charging and set Discharging
Some values are set by default, this includes
- updateChargeConfigInfo: gridcharge = 1
- updateDisChargeConfigInfo: ctrDis = 0
Setting the bathighcap and batusecap only save it to hass data (making it persistent across restarts) and will only be applied when the respective button (or the reset button) is pressed
A error will be placed in the logs
The current charge config, discharge config and charging range will only update once the API is re-called (can be up to 1 min)
This project allows you to use the following services in Home Assistant:
This service call allows you to set the grid charge settings for your system.
Times are not validated and must be compatible with the Alpha values.
Data needed:
- serial = The serial of your system.
- enabled = True or False
- cp1start = Charging Period 1 Start Time
- cp1end = Charging Period 1 End Time
- cp2start = Charging Period 2 Start Time
- cp2end = Charging Period 2 End Time
example:
service: alphaess.setbatterycharge
data:
serial: AA123456789
enabled: True
cp1start: "01:00"
cp1end: "04:00"
cp2start: "13:00"
cp2end: "16:00"
chargestopsoc: 100
This service call allows you to set the battery discharge settings for your system.
Times are not validated and must be compatible with the Alpha values.
Data needed:
- serial = The serial of your system.
- enabled = True or False
- dp1start = Discharging Period 1 Start Time
- dp1end = Discharging Period 1 End Time
- dp2start = Discharging Period 2 Start Time
- dp2end = Discharging Period 2 End Time
example:
service: alphaess.setbatterydischarge
data:
serial: AA123456789
enabled: True
dp1start: "01:00"
dp1end: "04:00"
dp2start: "13:00"
dp2end: "16:00"
dischargecutoffsoc: 10