bolagnaise/tesla-syncIntelligent 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.
 and where Tesla Batteries are not natively supported. 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.
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 Tesla to trigger Powerwall exports at lower price points. This is useful when Amber export prices are in the 20-25c range where Tesla's algorithm may not trigger exports due to its internal hysteresis.
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, Tesla sees 23c) Amber export price: 12c/kWh → 12 >= 10 (threshold), so boost applies → 12 + 5 = 17c (below min, Tesla sees 20c floor) Amber export price: 5c/kWh → 5 < 10 (below threshold), boost skipped → Tesla sees 5c (unchanged) Amber export price: -3c/kWh → -3 < 10 (below threshold), boost skipped → Tesla sees -3c (unchanged)
Use Cases:
Note: The boosted price is only what Tesla sees for decision-making - you still get paid the actual Amber export rate. This feature tricks the Powerwall 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.
The Problem: Tesla's algorithm may decide to export your battery 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 for Tesla:
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) → Tesla sees $0 (export suppressed) Amber export price: 35c/kWh → 35 >= 30 (above threshold) → Tesla sees 35c (export allowed)
Use Cases:
Note: Like Export Price Boost, the modified price is only what Tesla 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:
*** *** 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
Finding Your Tariff Code: Look on your electricity bill for the network tariff code. Common examples:
| Distributor | Example Tariffs |
|---|---|
| Energex (QLD) | NTC6900, NTC8400, NTC8500 |
| Ausgrid (NSW) | EA025, EA050, EA116 |
| SA Power Net |
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务