Anker SOLIX smart home integration, free and open source

Anker SOLIX Solarbank, smart meter and smart plugs in Gladys, through the Anker cloud.
Follow your Anker SOLIX Solarbank solar batteries (E1600, Solarbank 2, Solarbank 3), the Anker Smart Meter and Smart Plugs, and the MI80 micro-inverters attached to a system in Gladys: battery level, charge and discharge, solar production, power sent to the home, grid import and export. With the "Allow settings" option, Gladys can also change the usage mode and the output power of a Solarbank 2 or 3.
The integration goes through the Anker cloud, like the Anker app: it does not talk to the devices directly.
Developed without the hardware: it relies on real cloud answers published by the anker-solix-api library. Feedback welcome. Independent integration, not affiliated with Anker Innovations.
Overview
- One Gladys device per Solarbank, micro-inverter, meter and plug of each Anker system, plus one "Anker SOLIX <system>" device for what belongs to the whole system (usage mode, home consumption, solar production).
- The values are read again every minute (configurable), and only the values that change are sent to Gladys.
- The total solar production is an index (kWh): the energy monitoring of Gladys 5.2 derives the half-hourly production from it.
- A dashboard widget shows the energy flow: sun → battery → home / grid, and the battery level.
Requirements
- Gladys 5.2.0 or later.
- A system set up in the Anker app ("Power System"): the cloud publishes no value for a device that belongs to no system.
- The Anker account (e-mail, password, country chosen when the account was created).
Recommended account: a second one. For a long time, the Anker cloud accepted one session per account: Gladys logging in logged the phone app out. Since app 3.10 (July 2025) an account can be used in parallel, but the safest is still to create a second Anker account (another e-mail address) and share your system with it from the app (system sharing with family members). A shared ("member") account sees every value but cannot change the settings: to control the mode and the power from Gladys, use the owner account.
Configuration
- Install the integration from Integrations → Install from GitHub (or from the store once published).
- In the Configuration tab, enter:
- the E-mail and Password of the Anker account;
- the Country of the account: the two-letter code chosen when the
account was created (
FR,BE,CH,DE,ES,US…). It selects the Anker server (Europe or rest of the world); a wrong country gives a successful login but no system; - the Language of the names: language of the feature names and of the messages (French by default);
- the Refresh interval: 1, 2 or 5 minutes. The Anker cloud does not refresh faster (every 5 minutes for many Solarbank 2);
- Allow settings: off by default, Gladys then only reads.
- Save, then Test the connection: the message gives the number of systems and devices found.
- Add the devices from the Discovery tab.
The session token is kept in /data (never the password) so the
integration does not log in again at every restart.
Devices
Anker SOLIX <system> (one per Anker system):
| Feature | Details |
|---|---|
| Usage mode | Solarbank 2 and 3: smart meter, smart plugs, manual plan, AI mode (Solarbank 3), and read-only emergency charge, time of use, dynamic tariff |
| Home consumption | W, with a meter in the system |
| Total solar production | kWh, index since commissioning |
| Solar production today | kWh, read every 5 minutes |
Solarbank (E1600, Solarbank 2 Pro / Plus / AC, Solarbank 3):
| Feature | Details |
|---|---|
| Battery level | % |
| Stored energy | kWh, from the capacity of the model and of the expansion batteries |
| Charge power / discharge power | W, always positive |
| Solar power | W, all inputs |
| Solar input 1 to 4 | W, per input when the cloud gives it (Solarbank 2 and 3) |
| Output to home | W, output of the Solarbank |
Micro-inverter (MI80 in a system): solar power (W).
Meter (Anker Smart Meter, Shelly 3EM / Pro 3EM): grid import and grid export (W).
Plug (Anker Smart Plug): power (W).
The usage mode shows as buttons on the dashboard. A tap only acts when "Allow settings" is on (otherwise Gladys says why and shows the real mode again).
Widget
The Anker SOLIX widget (setting: the system, optional) shows:
- the battery level as a gauge;
- Solar, Charging / Discharging, To home and Grid import / export (with a meter): the energy flow reads from left to right;
- the usage mode, the output preset, the stored energy, today's production and the offline devices;
- with "Allow settings" and the owner account, two buttons that open a form: Output power (manual plan) and Usage mode.
Scene triggers and actions
Triggers:
- Usage mode changed: the mode changed outside Gladys (Anker app, emergency charge, AI mode). Filters: system, new mode. Variables: new mode (key and label), previous mode. A change made by Gladys does not fire it.
- Device offline or back: a Solarbank, meter or plug stopped reporting to the Anker cloud (two reads in a row), or reports again. Filters: device, state. Variables: name, state.
"Battery full" and "battery below a threshold" are not triggers of the integration: the Gladys "Device state change" trigger on the Battery level, with "Execute only when threshold is passed", already does it.
Actions ("Allow settings" on, owner account, Solarbank 2 or 3):
- Set the Solarbank output power: changes the power of the current slot of the manual plan (rounded to the 10 W step, bounded by the system). Output: power applied. The mode must be "Manual plan".
- Set the Solarbank usage mode: smart meter, smart plugs, manual plan or AI mode. Output: mode applied.
Nothing else is ever written (no firmware, no battery reserve, no limits).
Scene examples
- Run the washing machine on the surplus: "Device state change" trigger on Grid export above 500 W for 10 minutes → turn on the washing machine plug.
- Battery full: "Device state change" trigger on Battery level ≥ 100, only when the threshold is passed → notification "Battery full, enjoy the sun".
- Evening: at 6 pm → "Set the Solarbank output power" action to 300 W; at 11 pm → 100 W (manual plan).
- Alert: "Device offline or back", state offline → notification with
{{triggerEvent.data.device_name}}.
Troubleshooting
- "The Anker cloud refused the e-mail or the password": check them in the Anker app. Gladys does not retry until the configuration is saved again, so the account does not get locked.
- Verification code required: log in to the account once in the Anker app, then save the configuration.
- Connected, but no system: wrong country of the account, or the system is not shared with this account.
- Values do not move: the cloud sometimes updates a Solarbank 2 only every 5 minutes; check that the Anker app shows recent values.
- Setting refused: "Allow settings" off, member account, Solarbank 1, or a mode other than "Manual plan" for the power.
- Detailed logs:
LOG_LEVEL=debugvariable of the container. The logs never contain the e-mail, the password or the token.
Limitations
- Developed without the hardware: tested against real cloud answers published by anker-solix-api, not on an installation. Feedback welcome.
- Cloud only: without Internet, or if Anker changes its API, no more values. The values lag 1 to 5 minutes behind.
- Quotas: one read per system and per interval, today's production every 5 minutes, at most one request every 0.5 s; the cloud limits each endpoint to about ten requests per minute.
- Settings for the Solarbank 2 and 3 only (mode, power of the current slot); the Solarbank 1 is read-only.
- Portable power stations (Solix C/F), Power Panel and X1: the cloud does not give their values through this API (they go through MQTT), they are not supported. Solarbank 4 and Solarbank Max: read when the cloud lists them in the system, without settings nor tests.
- The plugs are read, not controlled.
Configuration settings
These are the settings Anker SOLIX asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Anker account | section | No | Use the account of the Anker app. Best: create a second Anker account and share your system with it from the app, so Gladys never disturbs your phone; a shared account can only read, settings need the owner account. Not affiliated with Anker Innovations. |
string | Yes | E-mail of the Anker account. | |
| Password | secret | Yes | |
| Country of the account | string | Yes | Two-letter code chosen when the account was created (FR, DE, ES, BE, CH, US...). It selects the Anker server. |
| Language of the names | select | No | Language of the feature names and of the messages of the integration. |
| Refresh interval | select | No | The Anker cloud refreshes the values every minute at best, every 5 minutes for many Solarbank 2. |
| Allow settings | boolean | No | Lets Gladys change the usage mode and the output power of a Solarbank 2 or 3 (owner account only). Off: Gladys only reads. |
How to install Anker SOLIX in Gladys
- In Gladys, open Integrations: Anker SOLIX appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/guim31/gladys-anker-solix:1.0.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/guim31/gladys-anker-solix.
Anker SOLIX requires Gladys >=5.2.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
Anker SOLIX is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by guim31, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation