-
-
Notifications
You must be signed in to change notification settings - Fork 16
Advanced Features
Automatic battery discharge during AEMO wholesale price spikes for VPP participation (Globird, AGL, Engie).
When prices exceed your configured threshold (e.g., $300/MWh):
- Saves your current tariff configuration and operation mode
- Uploads a spike tariff to trigger battery export
- Restores original operation mode and tariff when the spike ends
Works with any battery system that supports force charge/discharge:
- Detects when AEMO price reaches your configured threshold (e.g. $3000/MWh)
- Forces battery to discharge to the grid
- Sends push notification when spike starts
- Restores normal operation when spike ends
- Sends push notification when spike ends
Note: Sigenergy users on Globird don't need this feature as Globird natively supports Sigenergy for spike exports.
Monitoring Frequency: Checks AEMO prices every 1 minute.
Prevents paying to export solar during negative pricing periods (price at or below 0c/kWh).
| Battery System | Behavior |
|---|---|
| Tesla | Sets export to "never", restores to normal when prices recover |
| Sigenergy | Sets export limit to 0kW (load-following mode) |
| FoxESS | Limits inverter output to zero export, restores on positive prices |
Load-Following Mode (Sigenergy/FoxESS):
- Solar continues powering the house
- Battery still charges from solar
- Only grid export is blocked during negative prices
Prevents your battery from charging from the grid during Amber price spikes. When wholesale prices spike, your battery may see an arbitrage opportunity and charge from grid — this feature stops that.
When Amber reports a potential or active price spike, buy prices are overridden to ensure charging from grid is unprofitable during the spike.
Artificially increases export prices sent to your battery system to trigger exports at lower price points. Useful when Amber export prices are in the 20–25c range where the battery's algorithm may not trigger exports.
| Setting | Description | Default |
|---|---|---|
| Enable Export Price Boost | Toggle on/off | Off |
| Price Offset (c/kWh) | Fixed amount added to all export prices | 0 |
| Minimum Price (c/kWh) | Floor for export prices | 0 |
| Activation Threshold (c/kWh) | Boost only applies at or above this value | 0 |
| Boost Start Time | When to start applying boost | 17:00 |
| Boost End Time | When to stop applying boost | 21:00 |
Anti-arbitrage guard (v2.4.2+): Export Boost is capped to prevent the optimizer from importing electricity from the grid to charge the battery for later export at inflated prices. If real arbitrage is already profitable, the full boost applies.
Suppress battery exports during configured hours (typically overnight) unless the price exceeds a threshold.
| Setting | Description | Default |
|---|---|---|
| Enable Chip Mode | Toggle on/off | Off |
| Start Time | When to start suppressing exports | 22:00 |
| End Time | When to stop suppressing exports | 06:00 |
| Price Threshold (c/kWh) | Allow exports only above this price | 30 |
Control AC-coupled solar inverters directly during negative pricing periods. Works with any battery system.
| Brand | Connection | Models |
|---|---|---|
| Sungrow | Local network | SG series (string), SH series (hybrid) |
| Fronius | Local network | Primo, Symo, Gen24/Tauro, Eco |
| GoodWe | Local network | ET, EH, BT, BH, ES, EM series (hybrid) |
| Huawei | Local network | SUN2000 L1, M1, M2 series |
| Enphase | Local network | IQ Gateway, Envoy-S (microinverters) |
| Zeversolar | Local network | TLC series, Zeversolair Mini/TL |
| FoxESS | Local network | H1, H3, H3-Pro, H3 Smart, KH |
| Solax | Local network or HA entity | All generations (GEN2-GEN6) |
| Sigenergy | Local network | Grid export limit control |
All supported AC inverter brands support load-following curtailment. Instead of curtailing to zero export, the inverter output is limited to match your current home load. Solar continues powering the house and charging the battery — only grid export is blocked.
Load-following is applied automatically when home load data is available. If load data is unavailable, it falls back to zero-export.
A fast 30-second update timer re-applies the limit as home load changes, keeping the inverter in step with consumption.
For full per-brand setup instructions see AC-Coupled Inverter Curtailment.
PowerSync sends push notifications to the mobile app for key events:
| Event | Notification |
|---|---|
| AEMO spike start | Battery discharging during price spike |
| AEMO spike end | Normal operation restored |
| Automation action failure | Service call failed (e.g. charger unreachable) |
| Force mode timeout | Force charge/discharge timer expired |
Notifications require the mobile app to be connected and push notifications enabled.
When your electricity provider offers free electricity windows (e.g. Contact Energy Good Weekends/Good Nights in NZ), the optimizer automatically detects 0 c/kWh import intervals and prioritises charging during these periods.
During free electricity periods:
- The optimizer prefers charging actions
- The schedule chart reflects the expected rapid state-of-charge increase
Direct off-grid and reconnect control for Tesla Powerwall from the PowerSync mobile app and automations. Supports both Powerwall 2 and Powerwall 3 — PW3 islanding is the first known third-party implementation.
Powerwall 3:
- Pair your Powerwall — go to Settings > Battery Setup > Pair Gateway and complete the pairing process (requires physical access to toggle the DC isolator)
- Off-grid controls appear in Settings > Battery Setup > Local Control
Powerwall 2:
- Enter gateway IP in Settings > Battery Setup > Gateway Connection
- Off-grid controls appear automatically — no pairing needed
Both versions support the powerwall_go_off_grid and powerwall_reconnect_grid automation actions.
When enabled, PowerSync can automatically take your Powerwall off-grid during negative price periods to avoid paying to export. This uses the same physical off-grid command as the Tesla app.
Enable in Settings > Battery Setup > Local Control > Off-Grid Curtailment.
Safety gates:
- Minimum SOC floor — won't go off-grid below this battery level (default 20%)
- Daily duration cap — limits total off-grid time per day (default 4 hours)
- Automatic reconnection when prices recover
| Service | Description |
|---|---|
power_sync.powerwall_go_off_grid |
Physically disconnect from grid |
power_sync.powerwall_reconnect_grid |
Reconnect to grid |
- Tesla Powerwall 2 or 3
- PW3: Completed gateway pairing + PowerSync proxy token or Fleet API token
- PW2: Gateway IP and customer password (no pairing needed)
- Gateway reachable on your local network
Some electricity plans (particularly network tariffs and commercial plans) bill for your peak demand — the highest grid import recorded during any 30-minute window in a billing period, multiplied by a $/kW rate. PowerSync tracks your peak, forecasts the cost, and actively programs the LP optimizer to avoid making it worse.
Configure → Pricing → Demand Charge
| Setting | Description | Default |
|---|---|---|
| Enable demand charge tracking | Master toggle — enables tracking, sensors, and LP penalty | Off |
| Demand charge rate ($/kW) | Your network's rate for peak demand | $10/kW |
| Peak window start | Start of daily demand measurement window (HH:MM) | 14:00 |
| Peak window end | End of daily demand measurement window (HH:MM) | 20:00 |
| Demand charge days | Which days the window applies — All Days / Weekdays Only / Weekends Only | All Days |
| Billing cycle reset day | Day of month when peak demand resets (1–31) | 1 |
| Apply demand charge to | Whether demand charges apply to imports, exports, or both | Buy Only |
| Allow grid charging during demand windows | When off, the battery will not charge from the grid while the peak window is active — even if prices are cheap | Off |
| Apply artificial price during peak (Tesla only) | Adds a $2/kWh uplift to TOU import prices during the window, reinforcing that Tesla firmware also avoids importing | Off |
| Daily supply charge ($/day) | Fixed daily charge tracked in cost sensors | $0 |
| Monthly supply charge ($/month) | Fixed monthly charge tracked in cost sensors | $0 |
When demand tracking is enabled, the optimizer runs several layers of protection:
Before each LP solve, PowerSync injects a price penalty into every 5-minute interval inside the demand window:
penalty ($/kWh) = demand_rate / 10
Example: $10/kW rate → $1.00/kWh added to every import slot in the window. The optimizer treats these slots as expensive and strongly prefers discharging or self-consumption over grid imports during the peak period.
If the LP suggests holding the battery idle during a demand window (which would leave the house load on the grid), the executor overrides the action to self_consumption. The battery discharges to serve home load, keeping grid import near zero.
The optimizer adjusts charge windows to finish 1 minute before the demand window starts. This ensures the battery enters the peak window at its target SOC, ready to discharge rather than still pulling from the grid.
Allow grid charging during demand windows → OFF is the physical enforcement layer. Regardless of what the LP calculates, while the demand window is active:
- The battery cannot charge from the grid
- Force charge commands issued during the window are rejected with a warning
- This is a hard block — it applies even if prices are temporarily low inside the window
Turn this on only if you want the LP to be able to opportunistically charge during cheap slots inside the peak window (accepting some demand charge risk for a price arbitrage gain).
For Tesla Powerwall users, Apply artificial price during peak pushes a $2/kWh rate into the TOU schedule uploaded to the Powerwall. This makes Tesla firmware independently refuse to charge from the grid during the window — a belt-and-suspenders approach on top of the LP penalty.
| Sensor | Unit | Description |
|---|---|---|
sensor.power_sync_in_demand_charge_period |
— |
True when the current time is inside the configured demand window |
sensor.power_sync_peak_demand_this_cycle |
kW | Highest grid import recorded so far this billing cycle |
sensor.power_sync_demand_charge_cost |
$ | Estimated demand charge for the cycle (peak_kW × rate) |
sensor.power_sync_days_until_demand_reset |
days | Days until the billing cycle resets |
The peak_demand_this_cycle sensor only tracks grid imports (exports don't count unless Apply to includes "Sell Only" or "Both").
For a typical 14:00–20:00 demand window on a plan like Ausgrid Peak Smart:
- Set Rate to match your network's $/kW charge (check your bill — usually listed under "Network capacity charge" or similar)
- Set the window to match your plan's peak period exactly
- Leave Allow grid charging during demand windows → Off
- If you have a Tesla Powerwall, enable Apply artificial price during peak as an additional safeguard
- Set Apply demand charge to: Buy Only unless your plan also charges for peak exports
The dashboard Demand Charge card shows your current peak and estimated cost in real time.