This Home Assistant custom integration utilizes the anker-solix Python library, allowing seamless integration with Anker Solix devices via the Anker power cloud. It was specifically developed to monitor the Anker Solarbank E1600. Support for further Anker devices like solar micro-inverters (MI80), Solarbank 2 E1600 and the Anker smart meter has been added to the Api library and is available through the integration. The Anker power cloud also supports portable power stations (PPS), home power panels or home energy systems (HES) which are not supported by the api library. They may be added in the future once Api data structures for those devices are known and regular consumption data will be sent to the Anker Power cloud.
Notes:
Anker power devices which are not configured into a power system in your Anker mobile app typically do NOT provide any consumption data to the Anker power cloud. Therefore the api library cannot get consumption data of standalone devices.
Please refer to supported sensors and devices for a list of supported Anker Solix devices.
π¨ This custom component is an independent project and is not affiliated with Anker. It has been developed to provide Home Assistant users with tools to integrate the Solarbank E1600 into their smart home. Initially, the Api library as well as the integration has been developed for monitoring of the Anker Solarbank only. Meanwhile additional devices can be monitored and additional enhancements allow modifications of their device settings. Any trademarks or product names mentioned are the property of their respective owners. π¨
This integration utilizes an unofficial Python library to communicate with the Anker Power cloud server Api that is also used by the official Anker mobile app. The Api access or communication may change or break any time without notice and therefore also change or break the integration functionality. Furthermore, the usage for the unofficial Api library may impose risks, such as device damage by improper settings or loss of manufacturer's warranty, whether is caused by improper usage, library failures, Api changes or other reasons.
π¨ The user bears the sole risk for a possible loss of the manufacturer's warranty or any damage that may have been caused by use of this integration or the underlying Api python library. Users must accept these conditions prior integration usage. A consent automatically includes future integration or Api library updates, which can extend the integration functionality for additional device settings or monitoring capabilities. π¨
Because of the way the Anker cloud Api works, one account with e-mail/password cannot be used for the Anker mobile app and the cloud Api in parallel. The Anker cloud allows only one user request token per account at any time for security reasons. Each new authentication request by a client will create a new token and drop a previous token on the server. Therefore, usage of this integration with your mobile app account will kick out your login in the mobile App. However, starting with Anker mobile app release 2.0, you can share your defined power system(s) with 'family members'. It is recommended to create a second Anker account with a different e-mail address and share your defined power system(s) with the second account.
Attention:
System members cannot manage any devices of the shared system or view any of their details. You can only see the system overview in the app. Likewise it is the same behavior when using the Api: You cannot query device details with the shared account because you don't have the required permissions for this data. However, a shared account is sufficient to monitor the overview values through the integration without being restricted for using the main account in the Anker app to manage your device settings if needed.
Since the initial version of this integration did not support many setting capabilities, it was advised to use a shared account for the integration to monitor your power device values and integrate them into your home energy dashboards. The system owner account could be used in the Anker mobile app to maintain full control capabilities of your devices. Starting with version 1.1.0, the integration supports most of the relevant parameter changes for your system and your solarbank, including modifications of the solarbank schedule. To utilize those capabilities, you must use an owner account in the integration. Likewise you could use the shared account in the Anker mobile app.
For detailed usage instructions, please refer to the INFO
Note:
To export randomized example data of your Anker power system configuration, please refer to the anker-solix Python library and the tool export_system.py. A new HA service/action to export anonymized Api response data was added to the integration to simplify data collection in a downloadable zip file. You can open a new issue in the api library repo and upload the zip file with the exported json files, together with a short description of your setup. Make sure to add your device to a Power System via the Anker mobile app before exporting the configuration. Standalone devices will barely provide data through the cloud Api.
This integration will set up the following platforms and provides support for following devices:
Platform | Description |
---|---|
sensor |
Show info from Anker Solix Api. |
binary_sensor |
Show info from Anker Solix Api. |
switch |
Modify device settings via Anker Solix Api, temporary disable Api communication to allow parallel account usage in App |
select |
Select settings from available options |
button |
Trigger device details refresh on demand |
number |
Change values for certain entities |
service |
Various Solarbank schedule or Api related services/actions |
Device type | Description |
---|---|
system |
Anker Solix 'Power System' as defined in the Anker app |
solarbank |
Anker Solix Solarbank configured in the system: - A17C0: Solarbank E1600 (Gen 1) - A17C1: Solarbank 2 E1600 Pro - A17C3: Solarbank 2 E1600 Plus - A17C2: Solarbank 2 E1600 (may be supported once released) |
inverter |
Anker Solix inverter configured in the system: - A5140: MI60 Inverter (out of service) - A5143: MI80 Inverter |
smartmeter |
Smart meter configured in the system: - A17X7: Anker 3 Phase Wifi Smart Meter - SHEM3: Shelly 3EM Smart Meter - SHEMP3: Shelly 3EM Pro Smart Meter |
smartplug |
Anker Solix smart plugs configured in the system: - A17X8: Smart Plug 2500 W (No individual device setting supported yet) |
Special note for Solarbank 2 devices and Smart Meters:
Anker changed the data transfer mechanism to the Api cloud with Solarbank 2 power systems. While Solarbank 1 power systems transfer their power values every 60 seconds to the cloud, Solarbank 2 seems to use different intervals for their data updates in the cloud, which may result in invalid data responses and unavailable entities. Please see the configuration option considerations for Solarbank 2 devices and Smart Meters in the INFO for more details and how you can avoid unavailable entities.
Other devices are neither supported nor tested with the Api library or the HA integration.
To get additional Anker power devices added, please review the anker-solix Python library and contribute to open issues or Api exploration. Most devices can neither be tested by the developer, nor can they be added to the HA integration before their Api usage, parameters, structures and fields are fully understood, interpreted and implemented into the Api library.
Attention:
While the integration may show standalone devices that you can manage with your Anker account, the cloud Api used by the integration does NOT contain or receive power values or much other details from standalone devices which are not defined to a Power System. The realtime data that you see in the mobile app under device details are either provided through the local Bluetooth interface or through an MQTT cloud server, where all your devices report their actual values but only for the time they are prompted in the App. Therefore the integration cannot be enhanced for more detailed entities of stand alone devices.
Use this button:
Or following procedure for HACS 2.0 or later:
https://github.com/thomluther/ha-anker-solix
Anker Solix
repository was added to the list.Anker Solix
integration is now listed in the Home Assistant Community Store.Unfortunately, HACS does not automatically install the optional entity images that must be located within the web accessible www
folder, which is located in your HA installation configuration folder. Please see Optional entity pictures for instructions to copy the image files manually.
Installation Notes:
configuration.yaml
).custom_components
directory (folder) there, you need to create it.custom_components
directory (folder) create a new folder called anker_solix
.custom_components/anker_solix/
directory (folder) in this repository.If you want to use the optional entity pictures that are shown in the example screenshots in the INFO, you need to copy the images
folder from the integration installation path to the www
folder of your Home Assistant installation configuration folder. If you operate a Home Assistant OS device, you can preferably use file management Add Ons such as Studio Code Server or File Explorer to copy this folder after the installation:
CONFIG
folder of your HA installation (where your configuration.yaml is located)custom_components/anker_solix/
folder and copy the images
subfolder containing the entity picturesCONFIG
folder and navigate to or create the www/community/anker_solix
folder structure if not existingPaste the images
folder into the created anker_solix
community subfolder
Once the images are available in www/community/anker_solix/images/
, they will be picked up when the integration is (re-)creating the entities, like on first creation or re-load of the configuration entry.
Make sure to reload your HA UI browser window without cache to get the entity pictures displayed correctly.
For detailed instructions on how to configure and use the integration, please refer to INFO.
Note: When you make changes to the integration folder content, you need to restart Home Assistant to pick up those changes for the container or virtual environment where Home Assistant is being started. This is applicable as well when the integration is updated manually or via HACS.
If you have a problem, review existing issues or open a new issue with detailed instructions describing the problem. You may need to enable Debug Output for your Integration configuration. Review your debug output before you post it. While sensitive login information is masked, your unique device information as returned from the Api is not masked (serial numbers, IDs etc). You may want to change that globally before providing a debug output.
If you have questions, observations, advises or want to share your experience, feel free to open a new discussion topic.
If you want to contribute to this project, please read the Contribution guidelines. As a starter, you may want to add more translations for your native language.
If you like this project, please give it a star on GitHub
If you need more assistance on the topic, please have a look at the following external resources:
Spoiler: Zero grid export with E1600 not possible? It works better as originally expected with certain requirements while considering given limitations.
Spoiler: This shows integration capabilities before Solarbank 2 was supported with version 2.0.1