Repository navigation
Battery SAJ
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 > SAJ H2 connection.
| Connection method | What this route provides |
|---|---|
| SAJ H2 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 support for SAJ H2 and HS2 hybrid inverter-battery systems. PowerSync connects via the SAJ H2 Modbus integration as a companion — that integration handles the Modbus connection, and PowerSync bridges through it for real-time telemetry and battery control.
- The SAJ H2 Modbus integration installed in Home Assistant via HACS (search "SAJ H2"). This integration creates the HA entities PowerSync reads and writes.
- Your SAJ H2/HS2 inverter paired and online in the SAJ H2 Modbus integration before adding PowerSync.
No extra credentials needed in PowerSync. All Modbus authentication is handled by the SAJ H2 Modbus integration. PowerSync reads and controls its entities.
SAJ H2 and HS2 series hybrid inverters are supported. Both single-phase and three-phase variants work, subject to the entities the upstream SAJ H2 Modbus integration provides.
- 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 from grid or discharges to grid on demand. Power level is set proportionally using the inverter's own rated maximum.
- 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, grid, battery, and load power; battery state of charge; battery temperature; daily energy totals.
- Install the SAJ H2 Modbus integration from HACS and complete device pairing.
- Add the PowerSync integration and select SAJ H2/HS2 as your battery system.
- PowerSync will auto-select the SAJ entry if only one exists, or show a picker if you have multiple.
- Enter your battery capacity (kWh) — used by the LP optimizer for scheduling accuracy. Default is 10 kWh.
- PowerSync validates that all required entities exist and setup completes.
Setting the correct battery capacity helps the LP optimizer make accurate scheduling decisions. Find the rated capacity in your inverter's datasheet or the SAJ app. If you're unsure, leave the default (10 kWh) — the optimizer will still work, just with a less precise model.
PowerSync controls the SAJ H2 in passive mode using the number and switch entities exposed by the SAJ H2 Modbus integration:
| Action | Entities used |
|---|---|
| Force charge |
passive_bat_charge_power (number) + passive_charge_control (switch on) |
| Force discharge |
passive_bat_discharge_power (number) + passive_discharge_control (switch on) |
| Restore normal | Both passive_charge_control and passive_discharge_control switched off |
Power is specified as a percentage of the inverter's rated maximum (0–1000 scale internally). PowerSync converts the requested watts proportionally using BatChargePower / BatDischargePower entities.
- No W-level power setpoints in absolute terms — power is set as a fraction of inverter-rated maximum.
- No backup reserve control (
set_backup_reserveis a no-op). - No DC solar curtailment support.
- Requires the SAJ H2 Modbus integration to be installed, running, and connected to the inverter. If the Modbus connection drops, entities become unavailable and PowerSync falls back to last-known data.
SAJ H2 support is available in the current release. 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 10.0; 1–100 kWh; step 0.1 |
| Inverter rated AC power | Inverter AC rated power in kW. Read off the model number — e.g. HS2-10K-T2-5 → 10. Used to convert the LP's requested watts into the SAJ register encoding (% × 10 of rated). | Fallback 10.0; 1–50 kW; step 0.5 |
| SAJ H2 integration | The saj_h2_modbus integration entry to read sensors and send passive charge/discharge commands through. | Saved/detected value or the form’s shown fallback |
| Field | Meaning / input | Fallback / limits |
|---|---|---|
| SAJ H2 integration | The saj_h2_modbus integration entry to read sensors and send passive 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 |
| Inverter rated AC power | Inverter AC rated power in kW. Read off the model number — e.g. HS2-10K-T2-5 → 10. Used to convert the LP's requested watts into the SAJ register encoding (% × 10 of rated). | 1–50 kW; step 0.5 |