The app will be able to send charge and discharge commands directly to your FoxESS inverter, based on its forecast. You can switch back to Monitoring only at any time — that stops all control instantly and releases the inverter back to its own normal behavior.
48-hour Forecast
Total cost — active plan
—
Total cost — compare plan
—
Running Total — active plan
—
Running Total — compare plan
—
Solar production
—
To load & battery: —
To grid: ——
—
Self-consumption
Load consumption
—
From solar & battery: —
From grid: ——
—
Self-sufficiency
48-hour Plan
Solar (kWh/hr)Load (kWh/hr)Battery SoC (%)PeakOff-peak
Scheduled Actions
Live Control Log
What's actually been decided and sent to the inverter — not the plan, the real actions taken.
Data sources
Inverter Connection
FoxESS Cloud
Only change this if you're routing through your own CORS proxy in front of FoxESS Cloud.
Sent as X-Proxy-Secret on both FoxESS and Solcast calls if this and the matching base URL below are set — one worker, one secret, both APIs.
Inverter Schedule Inspector
Read-only — shows exactly what's actually configured on the inverter right now, straight from FoxESS, not from this app's own memory of what it last sent.
Test Live Control
A small, deliberate, real command — separate from the automatic system, so the write path can be watched and confirmed once before trusting it to run unattended.
Test curtailment (negative feed-in protection) — UNCONFIRMED: this writes to a different FoxESS endpoint than the command above, one that hasn't been tested against real hardware yet. Try it once, then check the FoxESS app's Grid Setting screen to see whether the export limit actually changed.
Send a real test command?
This will push a genuine ForceCharge command to your inverter for the rest of this hour — 500W, targeting just 2 percentage points above the battery's current SoC, so it should complete almost immediately and cost next to nothing either way. Check the FoxESS app afterwards to confirm it actually happened. Use "Release now" any time to stop it instantly, same as the main kill switch.
Forecast Sources
BOM's own open-data feed has had outages during platform upgrades — if a BOM request fails, this automatically falls back to the blended model for that run.
Only change this if routing through your own proxy (same one you may already use for FoxESS).
Amber Electric
Live pricing — polls Amber's real price feed and logs actual cost against your real usage from today onward. Past days can't be backfilled.
Site & System
System losses (soiling, wiring, inverter) — typical 0.78–0.85
Battery Cycle Budget
Paces VPP selling against your warranty's cycle allowance, not just price. FoxESS's CQ6 warranty (and most LFP home batteries) guarantees capacity retention until EITHER a cycle count OR a number of years passes, whichever comes first — so cycles you're not on track to use before the years run out cost nothing extra to spend now.
Leave any of these blank and VPP selling falls back to its previous rule (sell any confirmed surplus at any positive rate) — this only takes over once all four are filled in.
Usage history & accuracy
Usage History
For prediction
One API call per calendar month, not per day — practical for backfilling since install. Prices Flat Rate segments only; Time of Use/VPP/Amber still need the hourly pull above.
Prediction Accuracy
Forecast vs. what actually happened
Every time the plan regenerates — automatically, on any field edit, or on the 5-minute live refresh — the day-ahead prediction for each date is saved. Once you log that day's actual usage/solar above, it shows up here compared to what was predicted — a running test of how well the weather source, solar source and usage model are tracking your real system.
Correct Usage from Retailer CSV
FoxESS's CT clamps read badly at low currents — this scales your logged usage to match what your retailer actually billed, so cost and payback figures stay accurate. The monthly TOU-vs-Flat breakdown below is a secondary, informational side effect of reading the file.
Corrects the real import/export totals used for cost calculation, scaling each day's existing FoxESS hourly shape to match your retailer's billed figures. Total household usage (used for the load prediction) is left alone — a retailer CSV only sees what crossed the meter, not what solar/battery covered directly, so it can't correctly represent total consumption for a solar home.
Providers
Provider Comparison
Your real usage, priced under each saved provider
Monthly Plan Comparison
Your real usage, broken down by calendar month — since solar output swings with the seasons, the plan that wins overall isn't always the one that wins every month.
Payback Ledger
Tracks what you've actually been billed under, plan by plan, against what the same real usage would have cost with no solar/battery at all — that gap is real savings, banked permanently once a segment's dates are set. Separate from Provider Comparison above, which stays a hypothetical what-if view.
Payback Summary
Plan History
One segment per real plan you were actually billed under. When you switch, set this segment's end date and add a new one starting the next day — that locks in what it actually cost/saved for good.
Live-connected to FoxESS for real telemetry and history — solar/load predictions use your actual logged data once enough is available, falling back to a weather/shape-based estimate otherwise. In Monitoring only, the scheduler is read-only: it plans charge/discharge timing but never sends anything. In Live control, it can send real setpoints to the H3, checked and corrected every 5 minutes against the battery's actual live SoC.