homeassistant-alphaESS
Monitor your energy generation, storage, and usage data using the official API from Alpha ESS.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.1%) to scientific vocabulary
Keywords
Repository
Monitor your energy generation, storage, and usage data using the official API from Alpha ESS.
Basic Info
Statistics
- Stars: 113
- Watchers: 28
- Forks: 26
- Open Issues: 24
- Releases: 44
Topics
Metadata Files
README.md
homeassistant-alphaESS
Monitor your energy generation, storage, usage data and electric vehicle using the official Open API from Alpha ESS
AlphaESS OpenAPI
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 in your inverters manual to find your inverter SN and CheckCode, See example here
- Add your inverter to the developer portal using your SN and CheckCode
Modifying existing installs to use the new OpenAPI
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.
Installation using HACS
- 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 Repositoriessearch 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.
Manual Installation
- 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.
Alpha ESS: GUI based Set Battery Charge/Discharge Times information
These settings will only use slot 1 for charging and discharging, while you are not able to modify slot 2 from this integration, you are able to view its current settings
Alpha has recently, and unannounced removed most of the restrictions around the POST API calls that can be made. The current restrictions are: - Charging can only be set once every 30s - Discharging can only be set once every 30s - 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
An 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)
If you want to adjust the restrictions yourself, you are able to by modifying the ALPHA_POST_REQUEST_RESTRICTION varible in const.py to the amount of seconds allowed per call
Local Inverter Support
To use the local inverter support, you will need to have a local inverter that is able to reach your HA instance (preferably on the same subnet).
To add a local inverter to an existing AlphaESS integration, you will need to select the "Configure" option from the AlphaESS integration in Home Assistant, and then input your inverter's IP address, you can also do this if you need to reconfigure your inverter's IP address (due to DHCP changes, etc).
To remove/reset the local inverter integration, you will need to go back to the configuration settings, and set it to 0. (this will "remove" all the sensors linked, and will need to be manually deleted)
For now, if you have more than one inverter linked to your OpenAPI Account, the local inverter settings will only work on the first inverter that is linked to your account. support for setting it to be a custom one is coming.

Issues with registering systems to the AlphaESS OpenAPI
There has been a few issues regarding registering systems to the AlphaESS OpenAPI. The following are some of the issues that have been reported and how to resolve them.
Issue: Unable to register system to AlphaESS OpenAPI (not receiving verification code)
If you are unable to register your system to the AlphaESS OpenAPI because you are not receiving the verification code, you can try the following steps to resolve the issue: 1. Access the current postman collection library for the AlphaESS OpenAPI here (you will need to fork the collection) 2. Clicking on the root of the list of API calls (should be called AlphaESS Open API) and then click on the variables tab and fill in your AppID, AppSecret, systemSN and CheckCode into the initial and current value fields. 3. Click on the getVerificationCode GET API call followed by the send button to send the request. You should receive a verification code either in the response body or by email.
Issue: Entities becoming unavailable/not working and/or defaulting to 0
Newer AlphaESS Inverters have a firmware that can introduce incompatibilities with the current iteration of the integration. This new inverters has caused issues with the API calls that are currently supported and the data currently sent.
If you would like to help improve it for your specie inverter, please open an issue with the following information:
Use the postman collection found here you will need an account here: https://www.postman.com/
In the variables tab you need to edit the Initial Value and Current Value fields for AppID, AppSecret, and SysSN. (found within the openAPI developer portal) and the AppID and AppSecret from https://open.alphaess.com/
The SysSN is the serial number of your invertor and the AppID and AppSecret are your AppID and AppSecret from https://open.alphaess.com/, once you have set all three variables in both current and initial value hit the save button.
Then you should run each of the API calls in turn - one after the other and paste the results here, removing your SysSN for confidentiality.
Services
This project allows you to use the following services in Home Assistant:
Alpha ESS: Set Battery Charge
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:
yaml
service: alphaess.setbatterycharge
data:
serial: AA123456789
enabled: True
cp1start: "01:00"
cp1end: "04:00"
cp2start: "13:00"
cp2end: "16:00"
chargestopsoc: 100
Alpha ESS: Set Battery Discharge
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:
yaml
service: alphaess.setbatterydischarge
data:
serial: AA123456789
enabled: True
dp1start: "01:00"
dp1end: "04:00"
dp2start: "13:00"
dp2end: "16:00"
dischargecutoffsoc: 10
Owner
- Login: CharlesGillanders
- Kind: user
- Repositories: 2
- Profile: https://github.com/CharlesGillanders
GitHub Events
Total
- Create event: 22
- Release event: 7
- Issues event: 72
- Watch event: 16
- Delete event: 15
- Member event: 1
- Issue comment event: 363
- Push event: 59
- Pull request event: 32
- Pull request review event: 17
- Fork event: 2
Last Year
- Create event: 22
- Release event: 7
- Issues event: 72
- Watch event: 16
- Delete event: 15
- Member event: 1
- Issue comment event: 363
- Push event: 59
- Pull request event: 32
- Pull request review event: 17
- Fork event: 2
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Joshua Leaper | p****r@o****m | 126 |
| CharlesGillanders | 5****s | 83 |
| Spookster | s****r@g****m | 6 |
| matt-oneill | 6****l | 5 |
| 2000game | f****r@g****m | 4 |
| Daniel Mohni | d****l@m****t | 3 |
| Christian Karrié | c****n@k****o | 3 |
| Tupsi | g****b@t****g | 2 |
| Cade Oldland | 6****t | 2 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 152
- Total pull requests: 55
- Average time to close issues: 3 months
- Average time to close pull requests: 18 days
- Total issue authors: 101
- Total pull request authors: 12
- Average comments per issue: 6.97
- Average comments per pull request: 2.33
- Merged pull requests: 35
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 50
- Pull requests: 31
- Average time to close issues: 13 days
- Average time to close pull requests: 8 days
- Issue authors: 42
- Pull request authors: 1
- Average comments per issue: 6.06
- Average comments per pull request: 1.81
- Merged pull requests: 20
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- KortgatGH (5)
- dan-s-github (5)
- Spookster (4)
- Tupsi (4)
- braindeadmalc (3)
- TimHillman17 (3)
- DaveBinM (3)
- Rasenkardinal (3)
- DavidqStokes (3)
- ahmedhoumeci (3)
- ckarrie (3)
- Poshy163 (3)
- JoeArny (2)
- tbgoose (2)
- Yvomanz (2)
Pull Request Authors
- Poshy163 (48)
- 2000game (4)
- matt-oneill (3)
- ckarrie (2)
- CadeusTheGreat (2)
- Tupsi (1)
- CharlesGillanders (1)
- charlj22 (1)
- dan-s-github (1)
- ffrog8 (1)
- fsievers22 (1)
- Spookster (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
- Total downloads: unknown
-
Total dependent packages: 0
(may contain duplicates) -
Total dependent repositories: 0
(may contain duplicates) - Total versions: 82
proxy.golang.org: github.com/charlesgillanders/homeassistant-alphaess
- Documentation: https://pkg.go.dev/github.com/charlesgillanders/homeassistant-alphaess#section-documentation
- License: mit
-
Latest release: v0.7.1
published 11 months ago
Rankings
proxy.golang.org: github.com/CharlesGillanders/homeassistant-alphaESS
- Documentation: https://pkg.go.dev/github.com/CharlesGillanders/homeassistant-alphaESS#section-documentation
- License: mit
-
Latest release: v0.7.1
published 11 months ago
Rankings
Dependencies
- actions/checkout v3 composite
- github/codeql-action/analyze v2 composite
- github/codeql-action/autobuild v2 composite
- github/codeql-action/init v2 composite
- actions/checkout v2 composite
- hacs/action main composite
- home-assistant/actions/hassfest master composite
- actions/checkout v2 composite
- hacs/action main composite
- home-assistant/actions/hassfest master composite