Intelligent battery energy management for Australia. Supports Tesla Powerwall and Sigenergy battery systems. Automatically sync with Amber Electric or Flow Power (AEMO wholesale) dynamic pricing, create custom TOU schedules for any provider, and capitalize on AEMO wholesale price spikes to maximize your battery's earning potential.
Monitor your battery, view live pricing, control EV charging, and create powerful automations from your phone.
This is an unofficial integration and is not affiliated with or endorsed by Tesla, Inc., Sigenergy, or Amber Electric. Use at your own risk. The developers are not responsible for any damages or issues that may arise from the use of this software.
| Feature | Tesla Powerwall | Sigenergy |
|---|---|---|
| Automatic TOU Tariff Sync | ā | ā |
| Spike Protection | ā | ā |
| Export Price Boost | ā | ā |
| Chip Mode | ā | ā |
| DC Solar Curtailment | ā Export rules | ā Modbus TCP |
| AC-Coupled Inverter Curtailment | ā | ā |
| AEMO Spike Detection | ā | ā Native via Globird |
| Force Mode Toggle | ā | ā N/A |
| Custom TOU Schedules | ā | ā N/A |
| Automations | ā | ā |
| EV Charging Controls | ā Tesla Fleet | ā N/A |
Connection Methods:
This option is disabled by default and is primarily intended for Tesla Powerwall users with VPPs that offer AEMO Spike exports (Globird, AGL, Engie) but don't natively support Tesla batteries. Sigenergy users on Globird don't need this feature as Globird natively supports Sigenergy for spike exports. Automatically monitors AEMO NEM wholesale electricity prices for your region (NSW1, QLD1, VIC1, SA1, TAS1). When prices exceed your configured threshold (e.g., $300/MWh), the system:
Perfect for maximizing revenue during extreme price events! Works seamlessly regardless of your normal Powerwall mode.
Monitoring Frequency: Checks AEMO prices every 1 minute for responsive spike detection.
Prevents paying to export solar during negative pricing periods (ā¤0c/kWh). Works with both battery systems:
| Battery System | Method | Behavior |
|---|---|---|
| Tesla | Export rules API | Sets export to "never", restores to "battery_ok" when positive |
| Sigenergy | Modbus TCP | Sets export limit to 0kW (load-following mode) |
Sigenergy Load-Following Mode: Unlike full solar shutdown, Sigenergy uses zero-export mode:
Configuration:
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 behavior.
Supported Battery Systems: Tesla Powerwall ā | Sigenergy ā
The Problem: During price spikes, your battery receives 30-minute averaged forecast prices (~$0.85/kWh) rather than the real-time spike prices ($10-$20/kWh). It doesn't "see" the spike and may decide to charge from grid for later arbitrage.
How It Works:
When Amber reports spikeStatus: 'potential' or 'spike' for a period, buy prices are overridden:
override_buy = max(all_sell_prices) + $1.00
This ensures charging from grid is always unprofitable during spikes - eliminating any arbitrage opportunity.
Example:
During a spike event:
Actual import price: $16.48/kWh
Actual export price: $14.69/kWh
Max export in forecast: $21.29/kWh
Without spike protection:
Battery sees forecast: ~$0.85/kWh buy
Battery thinks: "Charge now, sell later!"
Result: Grid charging during $16/kWh spike
With spike protection:
Override buy: $21.29 + $1.00 = $22.29/kWh
Battery calculates: $22.29 buy - $21.29 sell = $1.00 LOSS
Result: No grid charging
Key Features:
spikeStatus field, not arbitrary thresholdsNote for 30-minute billing customers: If you're on 30-minute billing (not 5-minute), spike prices get averaged out in your bill. This feature is most critical for 5-minute billed customers who pay the full spike price.
Configuration:
Artificially increases export prices sent to your battery system to trigger exports at lower price points. This is useful when Amber export prices are in the 20-25c range where the battery's algorithm may not trigger exports due to internal hysteresis.
Supported Battery Systems: Tesla Powerwall ā | Sigenergy ā
How It Works: The feature adds a configurable offset to export prices and/or sets a minimum floor price, but only during a specified time window (default 5pm-9pm evening peak).
Configuration Options:
| Setting | Description | Default |
|---|---|---|
| Enable Export Price Boost | Toggle the feature 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 if actual price is at or above this value (0 = always apply) | 0 |
| Boost Start Time | When to start applying boost | 17:00 |
| Boost End Time | When to stop applying boost | 21:00 |
Example Calculation:
With offset=5c, min=20c, and threshold=10c:
Amber export price: 18c/kWh
ā 18 >= 10 (threshold), so boost applies
ā 18 + 5 = 23c (above min, battery sees 23c)
Amber export price: 12c/kWh
ā 12 >= 10 (threshold), so boost applies
ā 12 + 5 = 17c (below min, battery sees 20c floor)
Amber export price: 5c/kWh
ā 5 < 10 (below threshold), boost skipped
ā Battery sees 5c (unchanged)
Amber export price: -3c/kWh
ā -3 < 10 (below threshold), boost skipped
ā Battery sees -3c (unchanged)
Use Cases:
Note: The boosted price is only what your battery sees for decision-making - you still get paid the actual Amber export rate. This feature tricks the battery into exporting when it otherwise wouldn't.
Configuration:
Suppress battery exports during configured hours (typically overnight) unless the price exceeds a threshold. This is the inverse of Export Price Boost - instead of encouraging exports, it prevents them while still allowing you to capture unexpected price spikes.
Supported Battery Systems: Tesla Powerwall ā | Sigenergy ā
The Problem: Your battery's algorithm may decide to export overnight based on price signals you don't want to respond to. This drains your battery when you'd rather keep it charged for morning use or to capture genuine price spikes.
How It Works: During the configured time window (default 10pm-6am), the system sets export prices to $0:
Configuration Options:
| Setting | Description | Default |
|---|---|---|
| Enable Chip Mode | Toggle the feature 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 |
Example:
With threshold=30c between 22:00-06:00:
Amber export price: 8c/kWh
ā 8 < 30 (below threshold)
ā Battery sees $0 (export suppressed)
Amber export price: 35c/kWh
ā 35 >= 30 (above threshold)
ā Battery sees 35c (export allowed)
Use Cases:
Note: Like Export Price Boost, the modified price is only what your battery sees for decision-making - your actual earnings are based on real Amber rates.
Configuration:
Full support for Sigenergy DC-coupled battery systems as an alternative to Tesla Powerwall.
Features:
Connection Requirements:
| Connection | Purpose | Required |
|---|---|---|
| Cloud API | Tariff sync to Sigenergy | ā Yes |
| Modbus TCP | Real-time energy data + DC curtailment | ā Yes |
To sync Amber prices to your Sigenergy system, you need your Sigenergy account credentials.
What You Need:
| Credential | Description | Where to Find |
|---|---|---|
| Your Sigenergy account email | Your login email | |
| Password | Your Sigenergy account password | Just use your normal password! |
| Device ID | 13-digit numeric identifier | Browser dev tools (see below) |
| Station ID | Your Sigenergy station identifier | SigenAI or browser dev tools |
Password Authentication:
PowerSync automatically encrypts your password using Sigenergy's AES-128-CBC encoding before sending it to the API. Just enter your plain password - no need to capture anything from browser dev tools!
Advanced users: If you already have an encrypted password (from browser dev tools or a previous setup), you can still use it directly in the "Encrypted Password" field. This takes priority over the plain password field.
Getting Device ID:
The Device ID is a 13-digit identifier you need to capture once from browser dev tools:
Open the Sigenergy Web Portal
Open Browser Developer Tools
F12 or right-click ā "Inspect"Log In Normally
Find the Auth Request
oauth/tokenCopy the Device ID
Device IDGetting Station ID:
stationId in the responsestationId in the network requestExample Credentials:
Email: [email protected]
Password: MySecurePassword123!
Device ID: 1756353655250
Station ID: 102025092300219
Reference: Based on amber2sigenā by @Talie5inā
Unlike full solar shutdown, Sigenergy uses load-following mode (zero export):
| Mode | What Happens |
|---|---|
| Full Shutdown | PV limit = 0 ā Solar stops completely |
| Load Following (used) | Export limit = 0 ā Solar powers house + charges battery, no grid export |
This is smarter because:
Modbus Registers Used:
plant_grid_point_maximum_export_limitation (40038) - Sets export limit to 0kW for curtailmentInitial Setup:
Adding Cloud Credentials Later: If you set up PowerSync before entering Cloud credentials, you can add them via Options:
Note: Sigenergy is a DC-coupled battery system. If you have an AC-coupled solar inverter from another brand (Sungrow, Fronius, etc.) connected to your Sigenergy system, you can configure AC-coupled inverter curtailment separately (see below).
Control AC-coupled solar inverters directly during negative pricing periods. This feature works with any battery system (Tesla, Sigenergy, or others) and is useful when you have a separate solar inverter that bypasses the battery.
Supported Inverter Brands:
| Brand | Connection | Models |
|---|---|---|
| Sungrow | Modbus TCP | SG series (string), SH series (hybrid) |
| Fronius | Modbus TCP | Primo, Symo, Gen24, Tauro, Eco |
| GoodWe | Modbus TCP | ET, EH, BT, BH, ES, EM series (hybrid) |
| Huawei | Modbus TCP | SUN2000 L1, M0, M1, M2 series |
| Enphase | HTTPS API | IQ Gateway, Envoy-S (microinverters) |
How It Works: When Amber feed-in price drops below 1c/kWh (configurable), PowerSync sends a curtailment command to your inverter:
When prices rise above the threshold, normal operation is restored.
Why Use This: AC-coupled solar inverters export directly to the grid, bypassing your battery. During negative prices, this costs you money. Curtailment stops the export while still powering your home.
Configuration (Home Assistant):
Configuration (Flask Web App):
Note: This is separate from Sigenergy DC curtailment. You can use both if you have:
An experimental feature that forces the Powerwall to immediately recalculate its behavior after receiving new tariff prices.
The Problem: After PowerSync uploads a new tariff, the Powerwall may take several minutes to recognize the price changes and adjust its charging/discharging behavior accordingly.
How It Works: After a successful tariff sync, this feature briefly switches the Powerwall to self-consumption mode, waits 5 seconds, then switches back to Time-Based Control (autonomous mode). This mode toggle forces the Powerwall to immediately recalculate its optimal behavior based on the new prices.
Smart Timing: The toggle only triggers when settled/actual prices are synced (at :35/:60 seconds), not on the initial forecast sync (at :00 seconds). This ensures:
Trade-offs:
Configuration:
Full support for Flow Power and other wholesale electricity retailers that pass through AEMO NEM spot prices.
How It Works: AEMO wholesale prices only include the energy cost - they don't include network (DNSP) charges, environmental fees, or GST. PowerSync automatically calculates your total retail price using the aemo_to_tariffā library.
Configuration:
Select Flow Power as your electricity provider
Choose your NEM Region (QLD1, NSW1, VIC1, SA1)
Select AEMO NEM Wholesale as the price source
Configure your Network Tariff:
Option A: Automatic (Recommended)
Option B: Manual Rates
Content type
Image
Digest
sha256:a29fdca0cā¦
Size
158.6 MB
Last updated
9 months ago
docker pull bolagnaise/power-sync