Repository navigation
Battery Solax
Battery connections · Connection methods and sensors · Configuration index
Choose the battery during initial setup. Later, use Settings > Devices & Services > PowerSync > Configure > Battery connection method & sensors to choose its telemetry/control route. Edit connection details under Configure > Solax connection.
| Connection method | What this route provides |
|---|---|
| SolaX Modbus integration | Uses the selected companion integration. Required control entities must be present and writable; telemetry alone is insufficient. |
Select one route for PowerSync. A second integration using the same device connection can cause conflicts; the companion-integration route is appropriate when that integration should own communications. See source discovery and switching.
Full battery system support for Solax Hybrid inverters. PowerSync connects via the wills106/homeassistant-solax-modbus integration as a companion — that integration handles all direct Modbus communication, and PowerSync bridges through its HA entities for real-time telemetry and battery control. No direct Modbus connection is opened by PowerSync, so your existing solax_modbus setup keeps running untouched.
All models supported by the wills106 solax_modbus integration are supported:
| Family | Type |
|---|---|
| X1-Hybrid Gen4 | Single phase hybrid |
| X1-Hybrid Gen5 | Single phase hybrid |
| X1-Hybrid Gen6 | Single phase hybrid |
| X3-Hybrid Gen4/5/6 | Three phase hybrid |
| X1/X3 AC Retro-Fit | AC-coupled battery |
Gen2/Gen3: These generations use a different control model (Force Time Use schedule windows) and do not expose the Manual Mode select entity. They will show a "missing entity" error at setup. Use the AC-coupled curtailment path instead if you have a Gen2/Gen3 inverter without battery control needs.
- The Solax Modbus integration installed in Home Assistant via HACS. This integration manages the Modbus connection and creates the HA entities PowerSync reads.
- Your Solax inverter paired and online in the solax_modbus integration before adding PowerSync.
No extra credentials needed in PowerSync. All authentication and Modbus communication is handled by the solax_modbus integration. PowerSync reads and writes its entities.
- Smart Optimization — PowerSync's built-in LP optimizer runs full charge/discharge scheduling based on price forecasts, solar generation, and home load.
- Force Charge/Discharge — Charges or discharges the battery on demand via Manual Mode. An HA-side timer automatically restores Self Use mode when the window expires.
- Backup Reserve — Configurable minimum state of charge using the upstream SolaX number entity's advertised range; legacy entities without range metadata retain the 15–100% fallback.
-
Grid Export Limit — Configurable export power cap via the
export_control_user_limitentity. - Operation Mode Control — Supports Self Use, Feed-in Priority, Back Up, and Smart Schedule modes.
- AEMO Spike Export — Uses the shared spike-response settings when enabled and permitted on this writable route. PowerSync requests discharge and attempts owned-state recovery; configuration or a notification is not physical export proof.
- Live Telemetry — Solar (PV1 + PV2), grid, battery, and load power; battery state of charge and temperature; daily energy totals.
- Install the Solax Modbus integration from HACS and confirm your inverter entities are appearing (e.g.
sensor.solax_battery_capacity). - Add (or reconfigure) the PowerSync integration and select Solax Hybrid as your battery system.
- Enter the entity prefix used by your solax_modbus installation — this is the prefix in front of all entity names. The default is
solax. - Enter your battery's nominal voltage (default 51.2 V for LFP T-BAT packs; use 102.4 V for HV packs).
- Enter your battery capacity (kWh) and maximum charge/discharge current limits (A).
- PowerSync validates that all required entities exist and then saves the configuration.
Finding your entity prefix: In Home Assistant, go to Settings > Devices & Services > Solax Modbus. Click on your device and look at the entity IDs — the part before
_battery_capacityis your prefix (e.g. if the entity issensor.solax_x1_battery_capacity, the prefix issolax_x1).
PowerSync reads and writes the following solax_modbus entities (shown with default prefix solax):
| Entity | Role |
|---|---|
sensor.solax_battery_capacity |
State of charge (%) |
sensor.solax_battery_power_charge |
Battery power (W) — positive = charging |
sensor.solax_measured_power |
Grid power (W) — positive = importing |
sensor.solax_pv_power_1 + sensor.solax_pv_power_2
|
Solar generation (W) |
sensor.solax_inverter_power |
Home load (W) |
sensor.solax_battery_temperature |
Battery temperature (°C) |
select.solax_charger_use_mode |
Operating mode |
select.solax_manual_mode |
Manual mode command (Stop / Force Charge / Force Discharge) |
number.solax_battery_charge_max_current |
Maximum charge current (A) |
number.solax_battery_discharge_max_current |
Maximum discharge current (A) |
number.solax_battery_minimum_capacity |
Backup reserve (%) |
number.solax_export_control_user_limit |
Grid export limit (W) |
Go to Settings > Devices & Services > PowerSync > Configure > Solax connection to update the entity prefix, battery voltage, capacity, or current limits.
Solax Hybrid battery system support was introduced in PowerSync 2.12.113. Report issues on Discord.
After saving connection changes, allow the integration reload to complete. Check fresh battery SOC, grid/solar/battery power and home-load readings for the selected site. Compare signs and totals with the vendor/upstream readings. Planning sensors can update on a monitoring route; that does not establish dispatch capability. Verify any permitted control separately using readback and measured power.
The tables use the current form labels and help text. They list the conditional field union: a field can be hidden for a different battery, provider, route or available integration. The instructions above explain those conditions. Existing saved/discovered values take precedence over fresh fallbacks. Rate units follow the provider; check the displayed currency/energy unit.
| Field | Meaning / input | Fallback / limits |
|---|---|---|
| Battery capacity | Usable battery capacity in kWh. Used by the LP optimizer. | Fallback 11.6; 1–100 kWh; step 0.1 |
| Battery nominal voltage | Nominal battery voltage in V (51.2 for LFP T-BAT, 102.4 for high-voltage packs). | Fallback 51.2; 24–500 V; step 0.1 |
| Max charge current | Maximum charge current your battery supports (A). | Fallback 25; 1–200 A; step 1 |
| Max discharge current | Maximum discharge current your battery supports (A). | Fallback 25; 1–200 A; step 1 |
| Entity prefix override | Optional. Use when Solax Modbus creates more than one naming group. For entities like select.solax_modbus_charger_use_mode, enter solax_modbus. | Fallback blank (see retention/clear rules) |
| Solax integration | The solax_modbus integration entry to read sensors and send charge/discharge commands through. | Saved/detected value or the form’s shown fallback |
| Field | Meaning / input | Fallback / limits |
|---|---|---|
| Solax integration | The solax_modbus integration entry to read sensors and send charge/discharge commands through. | Saved/detected value or the form’s shown fallback |
| Battery capacity | Usable battery capacity in kWh. Used by the LP optimizer. | 1–100 kWh; step 0.1 |
| Battery nominal voltage | Nominal battery voltage in V (51.2 for LFP T-BAT, 102.4 for high-voltage packs). | 24–500 V; step 0.1 |
| Max charge current | Maximum charge current your battery supports (A). | 1–200 A; step 1 |
| Max discharge current | Maximum discharge current your battery supports (A). | 1–200 A; step 1 |
| Entity prefix override | Optional. Use when Solax Modbus creates more than one naming group. For entities like select.solax_modbus_charger_use_mode, enter solax_modbus. | Saved/detected value or the form’s shown fallback |