Cloud vs Home Assistant
PowerSync Cloud
Use the cloud app for hosted Tesla Powerwall or FoxESS control without running Home Assistant. The battery plan is $4.99/month AUD and includes battery controls, statistics, and the IF/THEN automation builder. The battery + vehicle plan is $7/month AUD in total and also unlocks Tesla vehicle smart charging — including Stop, Auto, Charge Now, Ready By, price and renewables boosts — plus compatible OCPP 1.6-J Solar and Charge Now control. Both plans include a 7-day trial for new subscriptions.
Cloud retailer and pricing setup covers Amber Electric, Flow Power, Energy Locals, other wholesale-passthrough plans, GloBird fixed/structured tariffs including optional ZeroHero spike export, and CovaU SolarMax plans. Curtailment, tariff sync, spike export, and pricing options vary by plan; selecting a provider does not mean every automation is available.
PowerSync for Home Assistant
Use the Home Assistant integration if you need battery systems beyond Tesla/FoxESS, EV charging across a broader set of vehicle and charger integrations with Solar Only, Prefer Solar, Cheapest, and Meet Deadline modes, local inverter control, the 48-hour LP optimiser, AC-coupled curtailment, or Home Assistant-native automations.
Home Assistant Installation
- Open HACS in Home Assistant.
- Open the menu and choose Custom repositories.
- Add
https://github.com/as an Integration.bolagnaise/ PowerSync - Search HACS for PowerSync, download it, and restart Home Assistant.
- Go to Settings → Devices & Services → Add Integration, search for PowerSync, and follow the setup flow.
Smart Optimization
Smart Optimization is PowerSync's built-in linear-programming battery scheduler. It plans charge, discharge, export, and self-consumption actions across a 48-hour horizon using electricity prices, solar and household-load forecasts, battery limits, and configured reserve floors.
Core Controls
- Minimum discharge level is the software floor for intentional battery export. Normal household self-consumption may continue below it to the separate hardware backup reserve.
- Auto-apply optimizer reserve adds forecast household demand before the next charging opportunity so intentional export stops with enough energy left for that load.
- Allow grid charging permits planned grid top-ups. Maximum grid-charge price and grid-charge state-of-charge cap are separate hard limits on those top-ups; solar can still charge above the cap.
- Profit Max makes profitable export more attractive. Charge By Time is the separate fill-by deadline control; it does not create export opportunities by itself.
- Spread controls distribute eligible import or export across matching price windows. No Idle prefers self-consumption while preserving holds needed for a Charge By Time target.
Retailer And Network Constraints
- For GloBird, choose the ZeroHero/ZeroCharge preset that matches the written plan terms. Existing saved plans are not silently migrated when retailer terms change.
- CovaU SolarMax optimisation uses the selected network plan and measured point-of-connection energy to settle daily allowances. Missing tariff-day baselines or telemetry gaps disable quota-bonus optimisation until confidence is restored.
- Flexible Exports currently provides monitoring only. Active enforcement remains release-gated; PowerSync does not replace a certified CSIP-AUS controller and does not expose a network-limit bypass.
AlphaESS
PowerSync supports AlphaESS SMILE and Storion hybrid inverter-battery systems via Modbus TCP. An optional Cloud API can supplement telemetry when Modbus is temporarily unreachable.
Supported Models
| Model | Description |
|---|---|
| SMILE5 | Single Phase Hybrid |
| SMILE-Hi5 | Single Phase Hybrid |
| SMILE-Hi10 | Three Phase Hybrid |
| SMILE-B3 | Three Phase Hybrid |
| SMILE-T10 | Three Phase Hybrid |
| SMILE-G3 | Three Phase Hybrid |
| Storion-T30 | Three Phase Hybrid |
Prerequisites
- Enable Modbus TCP in the AlphaESS app or local web interface.
- Assign the inverter a stable local IP address.
- Use slave ID
85unless your inverter has been changed from the factory default. - Enable firmware-level Modbus curtailment before expecting export-limit commands to physically throttle PV output.
PowerSync Setup
- Enter the inverter's stable local IP, Modbus TCP port
502, and slave ID85. - Set an optional hard export cap if PowerSync must never request more than a specific grid export power.
- Enable DC curtailment in PowerSync after enabling external/Modbus curtailment in the inverter. PowerSync applies zero export when feed-in pricing falls below 1 c/kWh and restores the prior limit when prices recover.
Cloud API
The AlphaESS Cloud API is optional and used as a fallback telemetry source. Control commands still go through Modbus.
Troubleshooting
- If Modbus fails, confirm TCP is enabled, the IP is reachable, and no other client is holding port 502.
- If curtailment writes appear to succeed but export continues, check the inverter's export-limit mode first.
- If force charge or discharge does not respond, confirm the battery is not already at the target SoC and check PowerSync logs for dispatch writes.
GoodWe
PowerSync supports GoodWe ET/EH/BT/BH and ES/EM/BP hybrid inverter-battery systems through direct GoodWe control or entity mode.
Connection Modes
| Mode | Use When | Typical Port |
|---|---|---|
| Direct UDP control | The inverter or dongle supports GoodWe local UDP operation-mode control. | 8899 |
| TCP / LAN Kit-20 entity mode | The system exposes Modbus TCP but force control should go through the GoodWe Experimental Home Assistant EMS entities. | 502 |
Entity Mode Requirements
Entity mode requires the GoodWe Experimental Home Assistant integration to expose both EMS controls. PowerSync auto-detects a matching pair where possible; otherwise enter only the common prefix. For select.goodwe_ems_mode and number.goodwe_ems_power_limit, the prefix is goodwe.
- Force charge prefers EMS mode
charge_pv, keeping PV contribution first, and falls back tocharge_battery. - Force discharge prefers EMS mode
sell_powerand falls back todischarge_battery. - Restore normal sets EMS mode to
auto. - Requested power is sent to the EMS power limit entity.
Troubleshooting
- If force control fails on LAN / Kit-20, confirm TCP port 502 and configure the EMS entity prefix.
- If PowerSync says UDP port 8899 is required, it is still using direct mode rather than entity mode.
- If validation fails, search Home Assistant entities for
_ems_modeand_ems_power_limit.
Fronius GEN24 Storage
PowerSync supports Fronius GEN24 storage systems with BYD Battery-Box or Fronius Reserva batteries through the callifo/fronius_modbus Home Assistant integration.
Prerequisites And Setup
- Install and configure
callifo/fronius_modbusfrom HACS before adding PowerSync. - Provide the Fronius local customer password in that integration when available. It exposes the Web API battery controls needed for reliable grid charging.
- In PowerSync, select Fronius GEN24 storage (BYD/Reserva) and choose the Fronius Modbus config entry.
- Enter usable battery capacity and maximum charge/discharge power for optimizer fallback values.
PowerSync uses the Home Assistant entities already exposed by the companion integration; it does not open a second Modbus or Web API connection to the inverter.
Supported Controls
- Force charge from grid and force discharge/export to grid.
- Hold state of charge and restore normal automatic storage control.
- Set backup reserve/minimum state of charge.
- Apply Smart Optimization dispatch.
sensor, select, and number entities and that the storage system is online.Sigenergy
PowerSync supports Sigenergy through cloud tariff upload and Modbus TCP / Remote EMS control. Sigenergy EVAC / EVDC charger support can be configured separately for EV charging.
Sigen Cloud Region
Choose the Cloud region that matches the mySigen account: Australia/New Zealand (api-aus.sigencloud.com), Europe (api-eu.sigencloud.com), United States (api-us.sigencloud.com), Asia-Pacific (api-apac.sigencloud.com), or China (api-cn.sigencloud.com).
Leave Device ID blank unless the account exposes a 13-digit userDeviceId. A user_id, stationId, or stationCode is not a Device ID; use stationId only in the Station ID step when the station list is unavailable.
Smart Optimisation Requirements
- Disable Sigenergy AI Mode or any native cloud tariff optimisation that automatically charges or discharges from tariff data.
- Enable Remote EMS control for the Sigenergy system.
- Keep Sigenergy Cloud credentials configured if you want the app tariff graph to match PowerSync's tariff.
- Keep Modbus TCP configured so PowerSync can read live power data and issue Remote EMS commands.
Native Optimisation Mode
If Sigenergy owns battery scheduling decisions, PowerSync can still upload the tariff from supported price providers so Sigenergy's native optimiser has current pricing.
Troubleshooting
- If the Sigenergy app tariff graph is stale, confirm Cloud credentials, station ID, and auto sync are configured.
- If the battery behaves differently from the LP plan, confirm Sigenergy AI/native optimisation is disabled and Remote EMS is enabled.
EV Charging
The Home Assistant integration supports multiple EV charging paths, including Tesla Fleet, Tesla BLE, Teslemetry, OCPP, Zaptec, generic switch/number chargers, and Sigenergy EVAC / EVDC chargers.
Smart Schedule Priorities
These four choices are priorities for each Smart Schedule departure, not the complete set of EV automations. Solar Surplus, Price Level, and Scheduled Charging are coordinated separately, with ownership guards preventing one mode from stopping or changing a session owned by another.
- Solar Only charges only from excess solar.
- Prefer Solar prioritises solar, then allows cheap grid energy when needed.
- Cheapest chooses the lowest-cost available charging periods.
- Meet Deadline targets the required state of charge by the departure time using the cheapest suitable windows.
- Manual/app commands take direct ownership and are not stopped merely because an unrelated automation mode is disabled.
Configure target state of charge, departure time, maximum grid price, and the minimum home-battery level to preserve.
Forecast-Only EV Load
For an EVSE that PowerSync cannot or should not control, configure a planned EV load forecast sensor with a planned_load attribute. PowerSync adds the expected kW windows to the battery optimiser's household load forecast, but it does not start, stop, or throttle the charger. Forecast-only load and controllable Smart EV Charging can be used together.
Loadpoint Model
PowerSync uses a normalized loadpoint model for charger, optional vehicle, connected and charging state, power, target amps, owner, active mode, blocking reason, and last command. Home Assistant exposes it at /api/power_sync/ev/loadpoints/status, and the mobile app reads the same model. Saving a cleaned EV configuration also removes matching stale dynamic state.
Troubleshooting
- If HA and the mobile app disagree, compare the normalized loadpoint status rather than individual provider entities.
- If OCPP appears stuck in finishing or idle, check the charger status entity and current-limit number entity.
- If a deleted EV or charger still appears, reload the integration after saving the cleaned configuration.
Support
For cloud account or subscription issues, email dev@powersync.cc and include the site name, provider, region, and the action you expected. For Home Assistant integration issues, include Home Assistant logs and the inverter/provider section that matches your setup.
Cloud Guide
Use this for Tesla/FoxESS Cloud setup, supported retailer and tariff configuration, battery automations, Tesla vehicle charging, compatible OCPP 1.6-J charger control, and app controls.
Home Assistant Support
Use Discord for Home Assistant bug reports, feature requests, setup questions, and support.