PowerSync Wiki

Selected Home Assistant setup notes, hosted alongside the cloud app.

This page brings selected PowerSync Home Assistant guidance into powersync.cc so both product paths are easy to find. The Cloud guide is separate because the hosted service focuses on Tesla Powerwall and FoxESS battery sites, with Tesla vehicle and compatible OCPP 1.6-J charging. Home Assistant remains the broader path for battery brands, charger integrations, retailer coverage, and optimiser controls.

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.

Read the Cloud User Guide

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.

Install via HACS

Home Assistant Installation

  1. Open HACS in Home Assistant.
  2. Open the menu and choose Custom repositories.
  3. Add https://github.com/bolagnaise/PowerSync as an Integration.
  4. Search HACS for PowerSync, download it, and restart Home Assistant.
  5. Go to SettingsDevices & ServicesAdd Integration, search for PowerSync, and follow the setup flow.
Installation is the first step for the Home Assistant integration. The hosted cloud app is opened separately at powersync.cc/app.

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.

Before enabling it: configure Solcast or Open-Meteo Solar Forecast and review the 24-hour Action Plan. The optimiser is under active development, so unusual tariffs, battery configurations, and edge cases can still produce unexpected schedules.

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.

Open the complete Smart Optimization guide on GitHub.

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

ModelDescription
SMILE5Single Phase Hybrid
SMILE-Hi5Single Phase Hybrid
SMILE-Hi10Three Phase Hybrid
SMILE-B3Three Phase Hybrid
SMILE-T10Three Phase Hybrid
SMILE-G3Three Phase Hybrid
Storion-T30Three 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 85 unless your inverter has been changed from the factory default.
  • Enable firmware-level Modbus curtailment before expecting export-limit commands to physically throttle PV output.
Common issue: AlphaESS may accept writes to the export-limit register while ignoring the physical limit unless Modbus curtailment or external control is enabled in inverter firmware.

PowerSync Setup

  • Enter the inverter's stable local IP, Modbus TCP port 502, and slave ID 85.
  • 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

ModeUse WhenTypical Port
Direct UDP controlThe inverter or dongle supports GoodWe local UDP operation-mode control.8899
TCP / LAN Kit-20 entity modeThe 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 to charge_battery.
  • Force discharge prefers EMS mode sell_power and falls back to discharge_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_mode and _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

  1. Install and configure callifo/fronius_modbus from HACS before adding PowerSync.
  2. Provide the Fronius local customer password in that integration when available. It exposes the Web API battery controls needed for reliable grid charging.
  3. In PowerSync, select Fronius GEN24 storage (BYD/Reserva) and choose the Fronius Modbus config entry.
  4. 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.
Setup cannot find the battery? Confirm the Fronius Modbus integration has created storage 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

  1. Disable Sigenergy AI Mode or any native cloud tariff optimisation that automatically charges or discharges from tariff data.
  2. Enable Remote EMS control for the Sigenergy system.
  3. Keep Sigenergy Cloud credentials configured if you want the app tariff graph to match PowerSync's tariff.
  4. 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.

Experimental: charger support depends on the charger integration exposing the required entities and services. Configure a generic charger or ask in Discord when an integration uses different entity patterns.

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.

Open the complete EV Smart Charging guide on GitHub.

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.

Open Cloud User Guide

Home Assistant Support

Use Discord for Home Assistant bug reports, feature requests, setup questions, and support.

Join PowerSync on Discord