Repository navigation
Optimization Settings
Open Configure > Smart Optimization. Existing-install settings are grouped below. Initial setup uses a flatter form and includes the optimization-mode choice before connection-method selection. Saved/detected values can replace fresh-install defaults; check UI units and the actual battery specification before editing.
v2.12.1411 limitation: the later HA form does not render Grid charge blackout windows, although its save ownership still includes that setting. An ordinary grouped-form save can clear existing blackout windows entered through another client. If you rely on those windows, avoid saving this HA form until the preservation issue is fixed. This does not make the initial setup field or a client/API setting the same UI surface. See Known limitations.
Optimization mode chooses the planning engine supported by the battery. Enable Smart Optimization turns planning on/off while retaining settings. Disabling or losing access can require owned-control recovery; access restoration alone does not automatically mean the optimizer is enabled or Monitoring mode is off.
Enable Profit Max makes the optimizer more willing to use stored energy for profitable exports. Enable Cost Neutral aims to offset the day's projected supply/import costs before preserving discretionary battery energy. Choose one goal. In this HA form, Cost Neutral takes precedence if both are enabled. To switch to Profit Max, explicitly turn Cost Neutral off and Profit Max on before saving. Natural solar export is separate from discretionary battery export.
Daily supply charge contributes to the Cost Neutral target and, from v2.12.1432, Amber metered totals even when Cost Neutral is off. See Amber usage sensors for daily-rate precedence and the legacy monthly fallback. Enable Charge By Time, Charge By Time target time and Charge By Time target SOC set an explicit charging deadline. The fresh fallback is 17:15 and 100%; use the target that suits your site. Charge By Time is separate from Profit Max and remains subject to charging/site restrictions and available energy.
Minimum discharge level is the optimizer's intentional-export floor, with a 20% fresh fallback. Natural household self-consumption can continue to the separate hardware backup reserve. Auto-apply optimizer reserve can add a forecast buffer for home load before the next charging opportunity; it does not lower the manual minimum or replace the hardware reserve.
Hardware backup reserve is the battery's own reserve where the route supports it, restored after supported temporary controls. A planned floor, applied forecast buffer and physical device reserve are different values. Read back device state when verifying a change.
Set usable Battery capacity, Maximum charge power and Maximum discharge power in the displayed kWh/kW units. Existing/detected specifications are preferred over generic fallbacks. These are battery/inverter limits, distinct from total-site import/export caps.
Historical load sensor supplies recorder-backed household history. PowerSync EV charger plans adds managed charging demand; Planned EV load forecast sensor adds forecast-only demand without controlling a charger. Do not add the same EV energy twice when the household history already includes it. Learn battery efficiency uses completed cycles; it does not bypass economic or safety constraints. Amber Forecast Confidence appears for Amber only and changes planning valuation, not real tariff prices.
Backup / V2X energy allowance, its maximum power and start/end window describe a planning-only external contribution. Zero energy disables it. It does not command a V2X device, guarantee that energy will be available or expose household loads to automatic backup control.
Allow grid charging permits discretionary grid battery charging; solar charging remains possible when off. Maximum grid charge price restricts real-price grid battery charging; zero disables the price cap. In v2.12.1411, the HA conversion helper handles the low-positive range above 0 through 1 c/kWh inconsistently with the displayed unit. Do not rely on that range until the conversion is verified/fixed; see Known limitations. Grid charge SOC cap limits grid charging, while solar surplus can still charge above it. The current later HA form's blackout-window limitation is described above.
Minimum battery export price applies to intentional optimizer battery export, using the effective price including an eligible active quota bonus. A positive price equal to the floor meets the price test, but other constraints still apply. Zero disables the additional floor, not other policies. This setting does not itself block household battery use, natural solar export or user-owned manual/external controls, and it does not guarantee an exported kWh amount.
Maximum grid import and Maximum grid export are whole-site power limits, distinct from inverter charge/discharge power. A zero import cap means no configured import cap. For the optional grid-export field, blank means no explicit user override; zero is an explicit zero-export limit and is not the same as blank. Household and EV load affect available grid headroom; a planned site limit is not certified protection against every instantaneous transient. EV phase protection has its own fresh current-sensor requirements.
Spread export across window and Spread import across window are shown for non-Tesla systems. Support for controlled target power still depends on the battery route; see the detailed feature sections below. Disable idle mode changes planned idle/hold actions into self-consumption. It does not mean force discharge.
Monitoring mode keeps ordinary optimizer dispatch from commanding hardware while telemetry and plans continue. A monitoring-only connection also restricts capabilities independently. Explicitly permitted curtailment and cleanup of previously owned control have separate rules; read Curtailment.
Independent stack surplus balancing appears for Neovolt and must match a supported multi-stack configuration. It is not a general balancing feature for all battery brands.
AI explanations describe the existing plan. They cannot change optimizer settings, replace the plan or issue hardware commands. Choose AI provider from Gemini, Grok, OpenRouter, OpenAI API, ChatGPT subscription or local OpenAI-compatible, then meet that provider's readiness requirements.
| Provider path | Configuration |
|---|---|
| Gemini / Grok | Matching provider API key |
| OpenRouter | Provider key and OpenRouter model identifier with supported structured output |
| OpenAI API | API key and OpenAI model identifier |
| ChatGPT subscription | Connect the server-owned subscription sign-in through the supported client flow; selecting the HA dropdown alone does not complete sign-in |
| Local OpenAI-compatible | Reachable local compatible URL and explicit model identifier; local-server capabilities and resources still apply |
Provider API key opens blank; leave it blank to retain a saved key where applicable. Clear saved provider key explicitly removes it. Changing provider can require a matching new key. A local endpoint must be reachable from Home Assistant, not just from the phone. Never paste keys into support messages.
Automatically refresh explanations is off by default. When enabled, committed material plan changes can queue background generation with debounce/cooldown; ordinary screen polling is not the trigger. Local generation can use CPU/GPU, memory and power; hosted providers can have their own costs and account limits. Manual Generate/Refresh remains a deliberate request. A cached or stale explanation is not a fresh hardware observation.
Saving rebuilds current values before merging the submitted fields, to avoid replaying unrelated stale settings. Clearing an optional rendered field is different from omitting a field on another client's update. Tunables can apply live; structural changes or failed live application can reload the integration. Check the newly committed plan, effective settings and fresh telemetry. A changed chart or accepted save is not proof the inverter acted.
Cost Neutral is an opt-in Smart Optimization goal for users who want the battery to earn enough export credit to cover today's electricity costs without continuing to empty the battery purely for additional profit.
The daily target includes:
- The configured Daily Supply Charge.
- Grid import costs already incurred since local midnight.
- Same-day grid import costs predicted by the final optimizer plan.
- Export credits already earned and those predicted by the plan.
Once those costs are offset, PowerSync stops scheduling additional discretionary battery export and preserves the remaining energy for household self-consumption. Natural solar export is not capped: surplus solar can still flow to the grid after the target is met. The accounting resets at local midnight.
While the target is still uncovered, eligible positive-price slots may use battery energy above the optimizer's protected floor even when PowerSync's conservative stored-energy acquisition estimate is higher than the feed-in rate. That exception is limited to the remaining Cost Neutral amount; it does not turn on Profit Maximisation or bypass reserve, charging-deadline, site, or network constraints.
Cost Neutral prioritizes electricity costs before filling the battery in a free electricity window. It avoids unnecessary paid battery top-ups when the forecast can reach the free window without them, and applies the optimizer reserve to every planned battery export. It can still plan paid charging to meet an earlier Charge By Time target or to avoid more expensive electricity before the free window. Cost Neutral does not mean that all household grid imports are forbidden.
Cost Neutral remains subject to the normal optimizer safety and control boundaries, including optimizer and hardware reserve floors, site/network limits, export eligibility, Monitoring Mode, manual force controls, Charge By Time, and Spread Export. The goals are mutually exclusive at runtime. In this HA form, Cost Neutral wins when both are submitted; explicitly clear it when switching to Profit Max.
In Home Assistant, open Settings > Devices & Services > PowerSync > Configure > Smart Optimization, then under Core Goals:
- Enable Cost Neutral.
- Enter Daily Supply Charge in major currency units per day, such as
1.20for AUD 1.20/day. - Save the settings. PowerSync immediately recalculates the plan.
In the PowerSync mobile app, open Settings > Smart Optimization. Cost Neutral appears under Core Goals when the connected PowerSync integration advertises support. Daily Supply Charge appears directly below it while Cost Neutral is enabled and uses the Home Assistant currency, for example AUD/day.
Daily Supply Charge is a fixed retailer charge, not a demand charge or a cents-per-kWh energy rate. New configurations should use the daily field. Existing installations that only have the legacy monthly supply-charge value continue to work: PowerSync converts it to a daily amount using the number of days in the current month when no positive daily value is configured.
In Settings > Devices & Services > PowerSync > Configure > Smart Optimization,
set Minimum battery export price to the lowest feed-in price at which the
optimizer may intentionally export stored battery energy. Enter c/kWh: 30
means 30c/kWh. A price equal to the floor is eligible; 0 disables the extra
floor. Reserves, economic checks and site limits still apply.
The battery can still supply household loads, and solar surplus can still export below this floor. For example, with a 30c battery floor, Profit Max can export solar at 9c now and resume charging from solar at 3c later when its supported charge-hold, export-limit and cheaper-replenishment checks pass. An insufficient forecast or a Charge By Time deadline can prevent that hold. Disable Chip Mode for this use case: its separate price suppression can still block lower-price Solar Export.
The floor controls optimizer battery export, not user-owned manual force
controls or external controllers, and is not a physical zero-export guarantee.
sensor.power_sync_optimization_status exposes battery_export_price_policy
with the configured floor, evaluated price, permission and reason. The separate
profit_max_solar_export attributes explain solar eligibility and hold state.
A passing price check alone does not mean a command was sent or accepted.
By default, the LP optimizer is conservative with stored battery energy. It still exports when the tariff makes export worthwhile, but it also values the battery charge left at the end of the planning horizon. That end-of-horizon value is the optimizer's "insurance" against bad solar forecasts, higher-than-expected overnight prices, or home load arriving after the visible export window.
Profit Maximisation Mode tells the LP to value near-term export revenue more than that future recharge insurance.
| Behaviour | Profit Max OFF | Profit Max ON |
|---|---|---|
| Main goal | Lowest bill with more SOC protection after the forecast horizon | Maximise high-value export opportunities, accepting more recharge risk |
| End-of-horizon battery value | Full terminal SOC weight (1.0) |
Reduced terminal SOC weight (0.3) |
| What that means | Stored energy is treated as valuable, so the LP is reluctant to drain the battery unless the export margin is clearly worth it | Stored energy is treated as easier to replace, so the LP is more willing to discharge into strong export windows |
| Dynamic price confidence | Above-average prices beyond 6 hours are discounted toward the average | Above-average prices are trusted for 12 hours before decay starts |
| Flow Power Happy Hour | Happy Hour export prices are still shown and used, but the LP does not add a special "be full before Happy Hour" target | Makes the contractual export opportunity available and lowers future-SOC weighting; use Charge By Time for an explicit pre-window target |
| High-value solar export | Solar surplus follows the battery's normal self-consumption mode | On supported control paths, can hold charging at zero, export high-value solar directly, and replenish from a cheaper reachable interval later |
| GloBird FOUR4FREE | Uses the account tariff's import prices to avoid grid purchases while preserving more future SOC | Uses the same import costs, with lower future-SOC weighting when profitable export opportunities also exist |
| GloBird ZEROHERO | Uses the real base tariff and capped Super Export bonus; use the minimum export price to restrict discretionary export | More willing to use stored energy for profitable export; the configured export floor and capped allowance still apply |
| Grid charging before exports | Charges only when the normal LP economics choose it | More likely to charge ahead of a known export window if grid charging is allowed |
| Risk profile | Lower risk of finishing the day too empty | Higher risk of later grid import if solar underperforms or the next cheap charge period is missed |
When the switch is off, PowerSync uses a terminal SOC weight of 1.0. The LP compares export revenue against the estimated replacement cost of stored energy, including round-trip efficiency losses. This makes the schedule more likely to hold charge for the evening, overnight load, or the next day.
When the switch is on, PowerSync lowers that terminal SOC weight to 0.3. The battery's future replacement value still exists, but it has much less influence. This makes exports more attractive and makes it easier for the LP to spend stored energy during high export periods.
For dynamic providers other than Flow Power, Profit Max also extends the confidence horizon from 6 hours to 12 hours. That means a high export price later today is discounted less aggressively, so the LP is more likely to plan around it instead of assuming it may disappear.
Flow Power is handled differently because Happy Hour is contractual rather than speculative. PowerSync does not apply confidence decay to the configured Flow Power export window. In Flow Power setup or options, choose the 17:30-19:30 or 17:30-21:30 window shown on the account's plan or energy price fact sheet. Profit Max makes that contractual export opportunity available, but it does not add a hidden pre-window target.
For an explicit pre-window fill, enable Charge By Time in Settings > Devices & Services > PowerSync > Configure > Smart Optimization and set its target time and SOC. This is a user-selected deadline rather than a hidden Profit Max top-up.
GloBird ZEROHERO uses the real base tariff plus its selected capped settlement model. Choose the exact account preset and keep tariff rates accurate. Set dispatch preferences with the optimizer controls. See GloBird.
GloBird FOUR4FREE is also account-specific. Select automatic tariff discovery when Tesla or another complete imported source supplies the schedule; otherwise select manual/custom and enter the exact Welcome Pack periods and rates. In either mode, the LP receives the import price for each slot and treats battery energy used behind the meter as avoided import cost. It can still preserve charge for forecast load or a higher-cost period, and it cannot cross the optimizer floor, hardware reserve, or inverter limits.
Profit Max does not remove the optimizer backup reserve or the hardware backup reserve. Those floors still apply. If Auto-apply optimizer reserve is enabled, the live forecast-tracked optimizer floor is the forced-export boundary, so Profit Max can only export down to the level the forecast bridge selected.
Profit Max does not allow battery export into negative or zero-value export slots. Solar surplus can still export normally, but intentional battery-to-grid export is only allowed where PowerSync has an allowed export slot, such as a positive sell price, Flow Power Happy Hour, Export Boost, or a joined Octopus Saving Session.
Profit Max does not override demand charge protection, grid charging disabled settings, inverter limits, SOC limits, or force-mode/manual actions.
On systems with a reversible, readable charge-only control, Profit Max can defer solar charging during a high feed-in-price interval and export that solar directly when a cheaper, reachable replenishment interval exists later in the 48-hour plan. This is built into Profit Max rather than exposed as another switch or target SOC.
The supported control paths are Sigenergy Modbus, Sungrow SH Modbus (including dual-inverter systems), FoxESS Modbus/entity/cloud variants with authoritative charge-limit readback, SolaX Modbus entities, Fronius Reserva/GEN24 Block Charging, and Neovolt No Battery Charge. Availability is checked for the actual configured variant before planning and again before hardware control. A supported family therefore remains on normal control when a required entity, device, current normal value, export limit, or verification readback is unavailable.
PowerSync persists the exact adapter version, every target, and each target's current normal value before changing hardware. It reports Solar Export only after every target verifies the charge block. Any preparation, write, verification, or restoration failure attempts normal restoration on every target and executes ordinary self-consumption. Incomplete cleanup remains persisted for retry and prevents another hold.
Tesla, GoodWe, AlphaESS, ESY Sunhome, SAJ H2, SolarEdge, Anker Solix, Custom controllers, and unsupported variants remain on normal control because their current PowerSync control surfaces do not provide a proven reversible, observable charge-only primitive. This charge-only feature does not dispatch in Monitoring mode after cleaning an older owned hold; manual calls and separately permitted curtailment have their own rules. Provider charge blocks stay separate, and Charge By Time remains authoritative: replacement energy must be reachable before its deadline.
Turn Profit Max on when you have a strong, predictable export window and you want the battery to prioritise that revenue. Good fits include Flow Power Happy Hour, GloBird ZEROHERO/Super Export when its real tariff and capped settlement model are configured correctly, and dynamic tariffs where export spikes are large and reasonably reliable.
Leave Profit Max off when you want a more conservative schedule, when solar forecasts are uncertain, when overnight recharge prices are volatile, when your battery capacity is small relative to evening load, or when you mainly care about avoiding imports rather than maximising export revenue.
Configure the written account terms in Flow Power pricing, separately from optimizer goals.
With Profit Max off, the LP may decide that keeping SOC for later self-consumption is more valuable than fully emptying into Happy Hour, especially if the next cheap charge period is not obvious inside the horizon.
With Profit Max on, PowerSync makes the contractual Happy Hour export window available and is more willing to spend stored energy there. It does not force a pre-window fill or a hidden target SOC. Enable Charge By Time if the battery must reach a selected SOC before the window.
Users of any provider can enable Disable idle mode in Settings > Devices & Services > PowerSync > Configure > Smart Optimization. This is a configuration-only option, not a Home Assistant switch. When enabled, Smart Optimization replaces planned idle hold actions with self_consumption, so the home load can keep using the battery instead of the optimizer holding SOC for later.
Keep the account's real base tariff and select its exact ZEROHERO preset. PowerSync models the capped top-up separately. Profit Max changes how stored energy is valued; it does not change the contract's rates, export cap or no-import credit. To restrict discretionary exports, use Minimum battery export price rather than replacing real rates with zero. See GloBird.
Spread Export Across Window is an optional Smart Optimization switch for supported batteries. When it is off, the optimizer keeps the existing behaviour: if the LP decides to export stored battery energy, PowerSync commands the export action at the configured maximum discharge/export power.
When the switch is on, PowerSync keeps the LP's total planned battery-export energy for each eligible export window, but spreads that energy evenly across the whole allowed window. For example, if the LP planned 5 kWh of battery export inside a 2-hour export window, PowerSync converts that window to a flat target of about 2.5 kW instead of exporting at maximum power for a shorter period.
This is useful when you want a smoother export profile across a known window such as Flow Power Happy Hour, GloBird ZEROHERO/Super Export, Export Boost, or another positive export-price period.
- Default is off.
- Available in both normal Smart Optimization and Profit Max mode.
- Does not create extra export beyond the LP result; it only redistributes the planned export energy.
- Still respects the optimizer backup reserve, Auto Reserve export floor, hardware reserve, demand-window protection, export permissions, negative/zero export blocking, off-grid overlays, calibration guards, and manual force-mode ownership.
- The target is clamped to the configured maximum discharge/export power.
The switch is shown only for batteries where PowerSync can send a target discharge/export power:
- GoodWe
- Sigenergy
- Sungrow
- FoxESS
- AlphaESS
- Solax
- SAJ H2/HS2
- Fronius Reserva
- Neovolt / Bytewatt
- Anker Solix direct Modbus or official HA bridge when writable controls are available
Tesla, ESY Sunhome, and telemetry-only Anker cloud bridge setups keep the existing max-rate or planner-only behaviour. Tesla export control is tariff/mode driven rather than a reliable target-watt dispatch path, ESY Sunhome is mode-only, and Anker cloud controls depend on unofficial cloud entities.
For existing installations, go to Settings > Devices & Services > PowerSync > Configure > Smart Optimization and enable Spread export across window.
PowerSync also creates a Home Assistant config switch on supported batteries:
switch.power_sync_optimization_spread_export
It appears under your PowerSync device in Settings -> Devices & Services -> PowerSync -> Configuration.
Spread Import Across Window is an optional Smart Optimization switch for supported batteries. When it is off, the optimizer keeps the existing behaviour: planned grid charging uses the configured maximum charge power where the LP asks for charge.
When the switch is on, PowerSync keeps the LP's total planned grid-charge energy for each same-price import window, but spreads that energy evenly across the whole window. For example, if the LP planned 4 kWh of grid charging inside a 2-hour off-peak period, PowerSync converts that window to a smoother target around 2 kW instead of charging at maximum power for a shorter burst.
This is useful for free or flat off-peak import windows where you want the battery to fill steadily rather than sprint at the start of the window.
- Default is off.
- It only redistributes charge energy already planned by the LP.
- It does not spread through blocked slots, export/discharge slots, or different-price periods.
- It still respects grid-charge disabled settings, optimizer reserve, hardware reserve, battery capacity, maximum charge power, maximum grid import, demand-charge protection, and manual force-mode ownership.
- Free import slots can still be treated aggressively by the optimizer; Spread Import smooths the resulting planned energy where the battery supports target charge power.
The switch is shown only for batteries where PowerSync can send a target charge power:
- GoodWe
- Sigenergy
- Sungrow
- FoxESS
- AlphaESS
- Solax
- Fronius Reserva
- Neovolt / Bytewatt
- SolarEdge
- Anker Solix direct Modbus or official HA bridge when writable controls are available
Tesla, ESY Sunhome, SAJ H2/HS2, and telemetry-only Anker cloud bridge setups do not use this spread-import path. Tesla control is tariff/mode driven, ESY Sunhome is mode-only, SAJ H2/HS2 uses percentage-based passive controls, and Anker cloud controls depend on unofficial cloud entities.
For existing installations, go to Settings > Devices & Services > PowerSync > Configure > Smart Optimization and enable Spread import across window.
PowerSync also creates a Home Assistant config switch on supported batteries:
switch.power_sync_optimization_spread_import
Disable idle mode is available for every electricity provider, including Amber. Enable it under Settings > Devices & Services > PowerSync > Configure > Smart Optimization > Dispatch behaviour, or in PowerSync Mobile's Smart Optimization settings > Dispatch behaviour. It is a configuration setting rather than a Home Assistant switch.
When it is off, the optimizer can plan idle to preserve SOC for a later opportunity while the home imports from the grid. With it on, PowerSync replaces every planned idle action with self_consumption before displaying or executing the schedule, so the battery can serve the house subject to its hardware reserve.
This takes precedence over Charge By Time holds. Spending stored energy on household load can make a later SOC target unreachable, and the plan must account for that consumption. It does not disable planned grid charging or guarantee no imports; use Allow grid charging, Maximum grid-charge price, or Amber Spike Protection for those charging restrictions.
The hardware backup reserve is a floor that supported battery hardware enforces independently of the optimizer. This is useful as a safety net — even if the optimizer schedules a full discharge, the hardware should not go below this level.
- Set via the mobile app: Settings > Optimization > Reserve Levels > Hardware Backup Reserve
- This value is written through
power_sync.set_backup_reserveusing thepercentfield - The optimizer's backup reserve is a separate, software-level floor used during schedule planning
- If Auto-apply optimizer reserve is enabled, that software floor can change from forecast recommendations; the hardware reserve remains user controlled
- On Tesla Powerwall, PowerSync may initially align a reserve above the current SOC down to the current whole-percent SOC so self-consumption does not trigger an unintended grid charge. That temporary safety target is held for the rest of the optimizer session instead of following a falling SOC downward; disabling and re-enabling the optimizer starts a fresh alignment.
- Typically set the hardware reserve a few percent below the optimizer reserve as a safety margin
- ESY Sunhome and SAJ H2/HS2 do not expose backup reserve writes, so this hardware floor is not available on those systems
- Fronius Reserva exposes this when the upstream Fronius Modbus integration provides the Reserva minimum SOC entity
- Neovolt / Bytewatt exposes this when the upstream Neovolt integration provides the default discharging cutoff SOC entity
- SolarEdge exposes this when the upstream SolarEdge storage-control entity set includes a writable backup reserve or minimum SOC number
- Anker Solix direct X1 Modbus does not expose a validated backup reserve register in the current Anker map. The unofficial cloud bridge can only write charge priority when that entity exists, so PowerSync treats reserve support as unavailable unless reported by the selected path.
Use Core goals > Enable Smart Optimization or the optimizer control entity. The configured mode, access state, Monitoring mode and supported hardware route determine whether a plan can be applied. Solar forecasts and usable household-load history are prerequisites for a meaningful plan. Configure forecast-only EV load separately from managed charger plans to avoid double counting.
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 |
|---|---|---|
| Disable idle mode | Replace every Smart Optimization idle hold action with self-consumption for any electricity provider. This takes precedence over Charge By Time. | Fallback Off |
| Learn battery efficiency | Learn effective AC round-trip efficiency from completed battery cycles and apply it to physical SOC planning. Economic export decisions remain capped at the conservative legacy efficiency. | Fallback On |
| Optimization mode | Smart Optimization uses an LP solver to minimise costs. Native mode uses your battery's built-in TOU scheduler. | Fallback powersync_ml |
| Enable Smart Optimization | Turn the LP optimizer on or off without changing the saved Smart Optimization settings. | Fallback On |
| Auto-apply optimizer reserve | Preserves the selected minimum as a forecast buffer by adding expected home load between an export window and the next charge. Natural self-consumption may continue toward that buffer; Auto-Apply never lowers below your selected minimum or changes the hardware backup reserve. | Fallback Off |
| PowerSync EV charger plans | Adds EV demand from PowerSync-managed charger schedules to Smart Optimization. Leave this off when the planned EV load forecast sensor already represents the same charging demand. | Fallback Off |
| Historical load sensor | Optional recorder-backed live household load sensor for Smart Optimization history. Use a no-EV load sensor here if your home load history includes EV charging and you also add planned EV load separately. | Saved/detected value or the form’s shown fallback |
| Planned EV load forecast sensor | Optional sensor with a planned_load attribute for forecast-only EV demand. PowerSync always adds this sensor to the load forecast when selected, but does not control the charger. | Saved/detected value or the form’s shown fallback |
| Monitoring mode | Blocks ordinary automatic battery dispatch while prices, sensors and plans continue. Manual/user-source calls on control-capable routes and explicitly permitted curtailment have separate rules; a monitoring-only profile is a separate restriction. | Fallback Off |
| Minimum discharge level | The optimizer will not intentionally export battery energy below this percentage. Natural self-consumption may continue to the separate hardware backup reserve. Default 20% is a good starting point. | 0–100 %; step 1 |
| Hardware backup reserve | The battery's own backup reserve for grid outages. PowerSync restores this level after temporary hold or force-control modes. | 0–100 %; step 1 |
| Battery capacity | Total usable battery capacity in kWh. This should match the battery specs shown in the mobile app. | 1–200 kWh; step 0.1 |
| Maximum charge power | Maximum grid charge power in kW that the LP optimizer may request. | 0.1–50 kW; step 0.1 |
| Maximum discharge power | Maximum battery/inverter discharge power in kW that the LP optimizer may request for loads and export. | 0.1–50 kW; step 0.1 |
| Maximum grid export | Site/DNSP export cap in kW. Auto-detected only when your inverter reports its own export limit; otherwise Profit Max solar export stays off until you set this. Set 0 for zero-export sites. This does not limit battery power used by house loads. | 0–100 kW; step 0.1 |
| Maximum grid import | Maximum total site grid import in kW. Set 0 for no site import cap; solar can still add charging power above this limit. | Fallback 0; 0–100 kW; step 0.1 |
| Allow grid charging | When disabled, Smart Optimization can still charge from solar surplus but will not plan forced battery charging from grid import. | Fallback On |
| Maximum grid charge price | Restricts grid battery charging by real import price; 0 disables this cap. The low-positive 0–1 c/kWh range has a v2.12.1411 conversion limitation described above. | Fallback 0; 0–200 c/kWh; step 0.1 |
| Minimum battery export price | Intentional optimizer export uses the effective price, including an eligible active quota bonus. Natural solar export and manual/external controls are separate. Set 0 to disable only the additional floor. | 0–500 c/kWh; step 0.1 |
| Backup / V2X energy allowance | Optional daily planning-only energy allowance supplied by a backup or V2X source during the configured window. It offsets forecast household grid import without commanding a vehicle, charger, transfer switch, or generator. Set 0 to disable. | 0–200 kWh; step 0.1 |
| Backup / V2X maximum power | Maximum planning offset power available from the external backup or V2X source. | 0.1–50 kW; step 0.1 |
| Backup / V2X window start | Local HH:MM start of the recurring backup / V2X availability window. | Fallback 18:00 |
| Backup / V2X window end | Local HH:MM end of the recurring backup / V2X availability window. An end earlier than the start creates an overnight window. | Fallback 06:00 |
| Grid charge SOC cap | Advanced: stop forced grid charging once forecast battery SOC reaches this cap. Solar surplus can still charge above the cap. | Fallback 100; 0–100 %; step 1 |
| Grid charge blackout windows | Optional JSON list of local-time ranges. Each range has a start and end time; an overnight range can start at 22:00 and end at 06:00. Smart Optimization will not force grid charging during these ranges; solar charging is unchanged. | Fallback [] |
| Amber Forecast Confidence | Reduce reliance on uncertain future Amber export spikes. Opt-in; may export earlier and miss a later higher price. This changes optimizer valuation only, not tariff prices or safety limits. | Fallback Off |
| Enable Profit Max | Let Smart Optimization prioritise profitable export opportunities instead of holding battery charge for later by default. Mutually exclusive with Cost Neutral. | Fallback Off |
| Enable Cost Neutral | Allow discretionary battery export only until today's projected supply and import costs are offset, then preserve the battery for self-consumption. Natural solar export is not capped. Mutually exclusive with Profit Max. | Fallback Off |
| Daily supply charge | Fixed daily electricity supply charge included in the Cost Neutral target and Amber metered totals. Enter 0 when your plan has no fixed daily charge. | Fallback 0.0; 0.0–500.0; step 0.01 |
| Enable Charge By Time | Force Smart Optimization to reach the configured target SOC by the configured time. | Fallback Off |
| Charge By Time target time | HH:MM time for Charge By Time to reach the configured target SOC. Default 17:15. | Fallback 17:15 |
| Charge By Time target SOC | Battery SOC Charge By Time should target by the configured time. Default 100%. | 0–100 %; step 1 |
| Spread export across window | When enabled on supported batteries, Smart Optimization spreads planned battery export across the full eligible export window instead of using maximum discharge power. | Fallback Off |
| Spread import across window | When enabled on supported batteries, Smart Optimization spreads planned grid charging across each same-price import window instead of using maximum charge power. | Fallback Off |
| Field | Meaning / input | Fallback / limits |
|---|---|---|
| Disable idle mode | Replace every Smart Optimization idle hold action with self-consumption for any electricity provider. This takes precedence over Charge By Time. | Saved/detected value or the form’s shown fallback |
| Learn battery efficiency | Learn effective AC round-trip efficiency from completed battery cycles and apply it to physical SOC planning. Economic export decisions remain capped at the conservative legacy efficiency. | Saved/detected value or the form’s shown fallback |
| Optimization mode | Smart Optimization uses an LP solver to minimise costs. Native mode uses your battery's built-in TOU scheduler. | Saved/detected value or the form’s shown fallback |
| Enable Smart Optimization | Turn the LP optimizer on or off without changing the saved Smart Optimization settings. | Saved/detected value or the form’s shown fallback |
| Auto-apply optimizer reserve | Preserves the selected minimum as a forecast buffer by adding expected home load between an export window and the next charge. Natural self-consumption may continue toward that buffer; Auto-Apply never lowers below your selected minimum or changes the hardware backup reserve. | Saved/detected value or the form’s shown fallback |
| PowerSync EV charger plans | Adds EV demand from PowerSync-managed charger schedules to Smart Optimization. Leave this off when the planned EV load forecast sensor already represents the same charging demand. | Saved/detected value or the form’s shown fallback |
| Historical load sensor | Optional recorder-backed live household load sensor for Smart Optimization history. Use a no-EV load sensor here if your home load history includes EV charging and you also add planned EV load separately. | Saved/detected value or the form’s shown fallback |
| Planned EV load forecast sensor | Optional sensor with a planned_load attribute for forecast-only EV demand. PowerSync always adds this sensor to the load forecast when selected, but does not control the charger. | Saved/detected value or the form’s shown fallback |
| Monitoring mode | Blocks ordinary automatic battery dispatch while prices, sensors and plans continue. Manual/user-source calls on control-capable routes and explicitly permitted curtailment have separate rules; a monitoring-only profile is a separate restriction. | Saved/detected value or the form’s shown fallback |
| AI provider | Choose ChatGPT subscription login, OpenAI with an API key, Gemini, Grok, OpenRouter, or a local OpenAI-compatible server. Sign in to ChatGPT from the dashboard AI explanation card. OpenRouter shares context with the selected upstream model provider. Changing providers without a replacement key clears the previous provider's key. | Saved/detected value or the form’s shown fallback |
| Provider API key | For API key providers, enter the provider key. ChatGPT subscription login does not use this field. This write-only field always opens blank; leave it blank to keep the saved key, or enter a replacement. | Saved/detected value or the form’s shown fallback |
| Local OpenAI-compatible URL | For the local provider, enter a private or loopback HTTP(S) base URL or its /v1/chat/completions endpoint. HTTP sends household plan data and any bearer key without transport encryption. | Saved/detected value or the form’s shown fallback |
| Local model identifier | For the local provider, enter the server's model identifier. | Saved/detected value or the form’s shown fallback |
| Local AI timeout (seconds) | Wait 30–600 seconds for a local AI explanation, including any compatibility retry. | 120 seconds |
| OpenRouter model identifier | For OpenRouter, enter the required model identifier. The selected model and its upstream provider receive the compact verified plan context. | Saved/detected value or the form’s shown fallback |
| OpenAI / ChatGPT model identifier | For OpenAI or ChatGPT, choose a model available to your API account or subscription. The default is gpt-6.1-sol. | Saved/detected value or the form’s shown fallback |
| Automatically refresh explanations | Off by default. When enabled, PowerSync may generate after a materially changed committed plan, with debounce and cooldown. It runs in the background and can use local CPU/GPU, memory, power, and network resources. | Saved/detected value or the form’s shown fallback |
| Clear saved provider key | Remove the saved provider key when you select Save. Do not enter a replacement key at the same time. | Fallback Off |
| Independent stack surplus balancing | Controls independent NeoVolt stack balancing. Auto balances multiple selected Neovolt integrations whenever PowerSync is running; the Smart Optimization switch does not control it. | Saved/detected value or the form’s shown fallback |
| Amber Forecast Confidence | Reduce reliance on uncertain future Amber export spikes. Opt-in; may export earlier and miss a later higher price. This changes optimizer valuation only, not tariff prices or safety limits. | Saved/detected value or the form’s shown fallback |
| Minimum discharge level | The optimizer will not intentionally export battery energy below this percentage. Natural self-consumption may continue to the separate hardware backup reserve. Default 20% is a good starting point. | 0–100 %; step 1 |
| Hardware backup reserve | The battery's own backup reserve for grid outages. PowerSync restores this level after temporary hold or force-control modes. | 0–100 %; step 1 |
| Battery capacity | Total usable battery capacity in kWh. This should match the battery specs shown in the mobile app. | 1–200 kWh; step 0.1 |
| Maximum charge power | Maximum grid charge power in kW that the LP optimizer may request. | 0.1–50 kW; step 0.1 |
| Maximum discharge power | Maximum battery/inverter discharge power in kW that the LP optimizer may request for loads and export. | 0.1–50 kW; step 0.1 |
| Maximum grid export | Site/DNSP export cap in kW. Auto-detected only when your inverter reports its own export limit; otherwise Profit Max solar export stays off until you set this. Set 0 for zero-export sites. This does not limit battery power used by house loads. | 0–100 kW; step 0.1 |
| Maximum grid import | Maximum total site grid import in kW. Set 0 for no site import cap; solar can still add charging power above this limit. | 0–100 kW; step 0.1 |
| Allow grid charging | When disabled, Smart Optimization can still charge from solar surplus but will not plan forced battery charging from grid import. | Saved/detected value or the form’s shown fallback |
| Maximum grid charge price | Restricts grid battery charging by real import price; 0 disables this cap. The low-positive 0–1 c/kWh range has a v2.12.1411 conversion limitation described above. | 0–200 c/kWh; step 0.1 |
| Minimum battery export price | Intentional optimizer export uses the effective price, including an eligible active quota bonus. Natural solar export and manual/external controls are separate. Set 0 to disable only the additional floor. | 0–500 c/kWh; step 0.1 |
| Backup / V2X energy allowance | Optional daily planning-only energy allowance supplied by a backup or V2X source during the configured window. It offsets forecast household grid import without commanding external hardware. Set 0 to disable. | 0–200 kWh; step 0.1 |
| Backup / V2X maximum power | Maximum planning offset power available from the external backup or V2X source. | 0.1–50 kW; step 0.1 |
| Backup / V2X window start | Local HH:MM start of the recurring backup / V2X availability window. | Saved/detected value or the form’s shown fallback |
| Backup / V2X window end | Local HH:MM end of the recurring backup / V2X availability window. Overnight windows are supported. | Saved/detected value or the form’s shown fallback |
| Grid charge SOC cap | Advanced: stop forced grid charging once forecast battery SOC reaches this cap. Solar surplus can still charge above the cap. | 0–100 %; step 1 |
| Enable Profit Max | Let Smart Optimization prioritise profitable export opportunities instead of holding battery charge for later by default. Mutually exclusive with Cost Neutral. | Saved/detected value or the form’s shown fallback |
| Enable Cost Neutral | Allow discretionary battery export only until today's projected supply and import costs are offset, then preserve the battery for self-consumption. Natural solar export is not capped. Mutually exclusive with Profit Max. | Saved/detected value or the form’s shown fallback |
| Daily supply charge | Fixed daily electricity supply charge included in the Cost Neutral target and Amber metered totals. Enter 0 when your plan has no fixed daily charge. | 0.0–500.0; step 0.01 |
| Enable Charge By Time | Force Smart Optimization to reach the configured target SOC by the configured time. | Saved/detected value or the form’s shown fallback |
| Charge By Time target time | HH:MM time for Charge By Time to reach the configured target SOC. Default 17:15. | Saved/detected value or the form’s shown fallback |
| Charge By Time target SOC | Battery SOC Charge By Time should target by the configured time. Default 100%. | 0–100 %; step 1 |
| Spread export across window | When enabled on supported batteries, Smart Optimization spreads planned battery export across the full eligible export window instead of using maximum discharge power. | Saved/detected value or the form’s shown fallback |
| Spread import across window | When enabled on supported batteries, Smart Optimization spreads planned grid charging across each same-price import window instead of using maximum charge power. | Saved/detected value or the form’s shown fallback |