docs: document NeoVolt SOC-aware balancing
fbb4dc9
docs: update NeoVolt battery setup guidance
ff9b047
docs: update dashboard energy flow setup
fbcb983
docs: clarify tariff auto-sync for modbus batteries
d2154dc
Updated Electricity Providers (markdown)
9f983bd
docs: make Globird setup guidance direct
9ec4a00
Updated Advanced Features (markdown)
f25f5ae
docs: clarify Globird tariff and Profit Max setup
9e20b13
Updated Battery System Setup (markdown)
58824fb
docs: align wiki setup flow order
b4e2a5e
docs: update wiki feature coverage
7689150
docs: refresh PowerSync wiki
580080f
Update Android app link to production Play Store
f49fa76
docs(alphaess): add curtailment firmware prerequisite and DC curtailment toggle docs
AlphaESS Smile5 users were reporting curtailment had no physical effect. Root
cause: the inverter firmware has a separate Modbus export-control setting that
must be enabled before 0x0800 writes are enforced. Without it the register
changes but PV output is unaffected.
Adds a dedicated AlphaESS.md page covering setup, how curtailment works, the
firmware prerequisite steps, limitations, and a troubleshooting section.
Updates Battery-System-Setup.md AlphaESS section with:
- Firmware prerequisite callout block with step-by-step instructions
- Step 4 in setup noting the DC curtailment toggle and its dependency on the
firmware setting
- Inline troubleshooting for the most common failure path
eed4532
Update docs for all 9 supported battery systems
- Battery-System-Setup: add at-a-glance support table with all systems and key limitations
- Home, Installation: update battery system lists to include all 9 systems
- Advanced-Features: expand AEMO spike section to cover all non-Tesla systems (Sigenergy, FoxESS, Sungrow, GoodWe, AlphaESS, Solax, ESY Sunhome, SAJ H2/HS2)
- Sensors, Dashboard-Setup: update Battery Health table — AlphaESS, ESY Sunhome, and FoxESS H3 Smart added as auto-read; Solax and SAJ H2/HS2 noted as unavailable; FoxESS split by model family
- Services-Reference: update brand coverage note and sync_battery_health description to reflect all supported systems
- Electricity-Providers: replace stale Localvolts TOU sync brand list with capability-based wording
7d14a7e
Add optimizer development warning and fix confidence decay horizon
Adds a prominent WARNING callout at the top of Smart-Optimization.md
so users know the LP optimizer is under active development and bugs
should be reported.
Also corrects the confidence decay horizon parameter from 4h to 6h
(updated in coordinator.py to fix a "wouldn't charge" regression) and
recomputes the example decay table to match.
b7ae96b
Rewrite Away Mode section: enable before leaving, 7-day recovery window
746caf5
Document Away Mode and Optimizer Force Charge Windows sensor
7893765
docs: add SAJ H2/HS2 battery system setup page
SAJ H2 and HS2 hybrid inverters have been supported in PowerSync for some
time via the saj_h2_modbus companion integration bridge, but were not
documented. Adds a full setup section covering prerequisites, supported
models, step-by-step setup, battery capacity configuration, how passive
charge/discharge control works (switch + number entity pattern, 0–1000
proportional scale), and known limitations (no backup reserve, no DC
curtailment, no absolute W setpoints).
ca65af3
docs: add Solax Hybrid battery system setup guide
c3e8621
docs: add ESY Sunhome battery system setup guide and sensor reference
297aed9
Expand Demand Charge section with full configuration and LP optimizer docs
2775c38
Add PowerSync Cloud callout to Tesla section
1377885
GoodWe: document Modbus TCP gateway EMS mode setup
c8525b7
docs(wiki): add AC inverter curtailment guide + full readability pass
Add a new AC-Inverter-Curtailment.md page with per-brand setup guides for
all nine supported AC-coupled solar inverter brands (Sungrow SG, Fronius,
Huawei, Enphase, GoodWe, Zeversolar, Solax, Sigenergy, AlphaESS, FoxESS),
covering connection settings, prerequisites, supported models, and
brand-specific options such as Fronius load-following mode and Enphase JWT
authentication.
Across all twelve wiki files, remove developer-facing content that has no
value to end users: Modbus register numbers, gain/scale/offset values,
internal API endpoint paths, Python library names, code architecture terms,
and implementation-detail notes (sign conventions, flash wear, write-order
requirements, LP internals). Simplify jargon throughout — DOD explained in
plain English, DPEL/SunSpec terms replaced with plain descriptions, Flow
Power PEA formulas converted to prose. Fix stale entity IDs in
Installation.md to match the power_sync_ prefix used across the rest of the
wiki. Replace EV power-sharing math blocks with a two-paragraph plain-English
explanation.
38df728
chore: remove stray .DS_Store and add gitignore
macOS Finder artefact checked in by accident on the previous commit.
Remove from the tree and add .gitignore so it can't recur.
f257295
docs(services): document hold_battery_soc + manual-vs-optimizer state split
Reflects the new services and handler behaviour shipped in PowerSync
2.12.60.
- New row for power_sync.hold_battery_soc (duration-based) with
reference to the per-brand capability matrix (Tesla/AlphaESS return
a 'warning' because they can't strictly lock the battery; Sigenergy
/ Sungrow / FoxESS / GoodWe have native standby primitives).
- New row for power_sync.set_self_consumption (promoted from
internal-use to a first-class toggle).
- Clarification paragraph on what restore_normal actually does per
brand (Tesla also restores TOU tariff + operation mode + backup
reserve; Modbus brands clear forced-dispatch registers). Same
user-visible end state, different implementation.
- New paragraph explaining the source='user' vs source='optimizer'
split: LP-driven force mode executes the hardware write only and
does not populate the Controls screen countdown or trigger mobile
state events. Manual activity is the only thing that shows on the
Controls screen.
feb18ce
docs(wiki): mark AlphaESS validated + correct dispatch encoding notes
End-to-end validation against a live SMILE system landed in PowerSync
2.12.57. Drop the 'experimental' banner and update the status line to
reference the Alpha2MQTT project, which turned out to be the
authoritative source for the 0x0880 block encoding and write order
(the official AlphaESS PDF's Note29 description of Para2 as
'battery control power (W)' signed-direct was misleading — the
working encoding is a +32000 offset with a charge/discharge
multiplier, matching Alpha2MQTT's implementation).
Quirks section rewritten to reflect what actually works:
- SOC scale: read 0.1 %/bit vs dispatch cutoff percent × 2.5 (same
numerical behaviour, explained in the new units).
- Active-power encoding: raw = 32000 + watts × multiplier with
multiplier = -1 for charge, +1 for discharge. Examples: 5 kW
charge = raw 27000, 5 kW discharge = raw 37000.
- Write order: start → power → time → SOC → mode LAST. The mode
write is the commit point; any other ordering halts motion but
refuses to execute the commanded direction.
- Auto-timeout via register 0x0887 (seconds); we still clear
Para1 on integration unload.
Old references to registers 0x0723, 0x0727, 0x0728 removed — those
are the 0x0722 'HHE MEC only' block that silently no-ops on SMILE
hardware, not the one PowerSync actually uses.
e0963b2
docs(wiki): add AlphaESS battery system setup guide
New top-level AlphaESS section in Battery-System-Setup.md mirroring the
Sigenergy/FoxESS/Sungrow layout:
- Supported models: SMILE5, SMILE-Hi5, SMILE-Hi10, SMILE-B3, SMILE-T10,
SMILE-G3, Storion-T30.
- Connection details call out the unusual default slave ID (85 / 0x55)
since every other supported brand defaults to 1 or 247.
- Quirks section documents the SOC-scale mismatch between read register
0x0102 (0.1%/bit) and write register 0x0728 (0.4%/bit), the +32000
dispatch-power offset, and the fact that forced dispatch has no
auto-revert (PowerSync releases 0x0722 on unload and restore_normal).
- Explicit note that Note5 and Note7 enum mappings are still being
validated against live hardware.
Services-Reference.md updated:
- Generic Battery Control table gains a note clarifying that the
force_charge / force_discharge / restore_normal dispatch to the right
brand-specific handler for Tesla / Sigenergy / Sungrow / FoxESS /
GoodWe / AlphaESS.
- sync_battery_health row updated to include AlphaESS in the list of
brands that don't need a manual health sync (SOH is read automatically
from Modbus register 0x011B).
3283dfb
Fix off-grid controls location: Local Control, not Controls screen
b4fa3be