Complete Guide to Settings & Tariff Configuration
Step-by-step walkthrough of every field on the BatteryWiz Settings and Tariff pages. Covers currency setup, time-of-use rate windows, battery constraints, inverter integration, Solcast solar forecasts, and scheduling - with a quick-start checklist to get your system optimising from day one.

Last updated: 2026-03-08 (March 8, 2026)
Get the most out of BatteryWiz by correctly configuring your tariff rates and system settings. This guide walks through every field on both the Tariff and Settings pages so the optimiser can make accurate, cost-saving decisions for your home battery.
Tip: If you're starting fresh, configure the Tariff page first (your electricity rates), then move to Settings (your hardware and integrations). The optimizer needs both to produce meaningful results.
Table of Contents
- Tariff Page
- Settings Page
- 2.1 General & Scheduling
- 2.2 Subscription Status
- 2.3 Battery & Inverter Constraints
- 2.4 Behaviour
- 2.5 Inverter Integration
- 2.6 Solcast PV Forecast
- 2.7 Load Forecasting
- 2.8 Saving Your Settings
- Frequently Asked Questions
1. Tariff Page
The Tariff page is where you tell BatteryWiz how much you pay for electricity and how much you earn when you export. Getting these rates right is critical - they drive every optimization decision.
1.1 Basic Settings
Tariff Name
A friendly label for your tariff configuration. This is for your own reference - use something descriptive like "Octopus Flux", "Agile Oct 2025", or "Economy 7".
Load Flux Preset
If you're on the Octopus Flux tariff in the UK, tap Load Flux Preset to instantly populate all fields with typical Flux rates. This sets up:
- Import: 27.68p/kWh default, 16.61p/kWh off-peak (02:00-05:00), 38.75p/kWh peak (16:00-19:00)
- Export: 10.24p/kWh default, 5.05p/kWh off-peak (02:00-05:00), 29.79p/kWh peak (16:00-19:00)
You can then adjust individual rates to match your actual contract. This is the fastest way to get started for Flux customers.
1.2 Currency Configuration
BatteryWiz supports multiple currencies out of the box, plus fully custom currencies for any country.
Preset Currencies
Choose from the currency dropdown:
| Currency | Code | Rate Format | Example |
|---|---|---|---|
| British Pound | GBP | p/kWh (pence) | 27.68p/kWh |
| US Dollar | USD | $/kWh | $0.12/kWh |
| Euro | EUR | €/kWh | €0.30/kWh |
| Australian Dollar | AUD | A$/kWh | A$0.25/kWh |
Important: GBP rates are entered in pence (subunits), while USD, EUR, and AUD rates are entered in the main currency unit. This matches how energy rates are typically quoted in each market.
Custom Currency
If your currency isn't listed or you want a different subunit (or unit) for a preset currency, tick Use custom currency and fill in:
| Field | Description | Example (Nigerian Naira) |
|---|---|---|
| Currency Code | ISO currency code (3 letters) | NGN |
| Symbol | Currency symbol for display | ₦ |
| Subunit abbreviation | Short label for the minor unit | k |
| Rates in subunits | Toggle on if you enter rates in the minor unit (like pence for GBP) rather than the main unit | Off |
A Rate label preview appears below to show how rate fields will be labelled throughout the app (e.g., "₦/kWh" or "k/kWh").
1.3 Import Pricing (Buying from Grid)
This section tells BatteryWiz how much you pay when you draw electricity from the grid. The optimizer uses these rates to decide when it's cheapest to charge your battery.
Pricing Type
Choose your pricing model from the dropdown:
- Fixed Windows - You have set rates that apply at specific times of day (most common for tariffs like Flux, Economy 7, Go, etc.). This is the recommended option for most users.
- API Time Series - Rates change every 30 minutes based on live API data. Coming soon - currently shows a placeholder. If selected, you can still configure fallback rates that will be used until API pricing is available.
Default Rate
The rate that applies during any time period not covered by a rate window. Think of this as your "standard" or "daytime" rate.
- For GBP tariffs, enter the value in pence (e.g.,
27.68for 27.68p/kWh) - For USD/EUR/AUD tariffs, enter the value in the main unit (e.g.,
0.12for $0.12/kWh)
1.4 Export Pricing (Selling to Grid)
This section mirrors the Import section but for electricity you sell back to the grid. If you don't have an export tariff, you can leave the default rate at 0.
The same pricing type options (Fixed Windows / API Time Series) and rate windows are available for export pricing, configured independently from import.
1.5 Rate Windows
Rate windows let you define time-of-use pricing bands that override the default rate during specific hours.
Each rate window has the following fields:
Start Time / End Time
The local-time boundaries for this pricing band. Use 24-hour format. For example:
| Band | Start | End |
|---|---|---|
| Off-Peak (Night) | 02:00 | 05:00 |
| Peak (Evening) | 16:00 | 19:00 |
Important - End time is exclusive. A window from 02:00 to 05:00 covers the half-open interval [02:00, 05:00) - it applies to slots starting at 02:00, 02:30, 03:00 … 04:30, but not the 05:00 slot. This means you can set consecutive windows like 02:00-05:00 and 05:00-07:00 without creating a gap or overlap.
Note: Windows that cross midnight are supported. For example, Start = 23:00, End = 06:00 would cover 11 PM up to (but not including) 6 AM.
Rate
The per-kWh rate for this window, in your configured currency unit. For Octopus Flux on GBP, the night off-peak import might be 16.61 (pence/kWh).
Label (Optional)
A descriptive name for the window - "Off-Peak", "Peak", "Super Off-Peak", etc. Labels appear in the preview table and help you identify windows at a glance.
Applies To
Controls which days of the week this window is active:
| Option | Days |
|---|---|
| Every Day | Monday - Sunday |
| Weekdays Only | Monday - Friday |
| Weekends Only | Saturday - Sunday |
This is useful for tariffs where weekend rates differ from weekdays.
Adding and Removing Windows
- Tap + Add Window to create a new rate window with default values
- Tap the red X button on any window to remove it
- There is no limit to the number of windows, but overlapping windows that share the same days are treated as validation errors and will block saving (see Preview & Validation)
Tip for Flux users: The preset creates two import windows (Off-Peak 02:00-05:00 and Peak 16:00-19:00) and two export windows with the same time bands. Any time outside these windows uses the default rate.
1.6 Preview & Validation
Generate Preview
Tap Generate Preview to see what the next 24 hours of pricing looks like based on your current configuration. The preview shows:
- A summary line with the min, max, and average rates for both import and export
- A table with one row per 30-minute slot showing the slot start time, import rate, and export rate
This is the best way to verify your tariff is configured correctly before saving.
Validation
BatteryWiz validates your tariff automatically before saving. You may see:
- Validation Errors (red) - Must be fixed before saving. Common errors: missing tariff name, invalid timezone, empty currency code, overlapping rate windows on the same days.
- Warnings (amber) - Non-blocking issues that may affect results but don't prevent saving (e.g., a rate window with no days selected).
How overlap detection works: The app checks every pair of windows that share at least one day. Because end times are exclusive (half-open intervals), adjacent windows like 02:00-05:00 and 05:00-07:00 are not considered overlapping. Windows that cross midnight (e.g., 23:00-02:00) are handled correctly.
Note on window priority: If windows somehow share the same time range (different import/export side), windows are evaluated in list order - the first matching window wins. This is also how rate resolution works for each 30-minute optimisation slot: the slot's start time is looked up against the windows, and the first match determines the rate.
1.7 Saving Your Tariff
At the bottom of the page:
- Cancel - Reloads the last saved tariff, discarding any changes
- Save - Validates and persists your tariff configuration. The save button is disabled while a save is in progress.
2. Settings Page
The Settings page configures everything except your electricity rates - your battery hardware, inverter connection, solar forecast, scheduling behaviour, and more.
2.1 General & Scheduling
Timezone
Enter your IANA timezone identifier (e.g., Europe/London).
Note: In the latest release, the app uses your device's system timezone for all time-based operations - tariff window interpretation, scheduling, forecast alignment, and display. This setting is saved but not yet active. A future update will allow overriding the system timezone, which is useful if you travel away from the location of your inverter or manage a site in a different timezone to your device.
Common timezone IDs:
| Region | Timezone ID |
|---|---|
| UK | Europe/London |
| US Eastern | America/New_York |
| US Pacific | America/Los_Angeles |
| Central Europe | Europe/Berlin |
| Australia Eastern | Australia/Sydney |
| India | Asia/Kolkata |
| Japan | Asia/Tokyo |
Tip: Use the IANA format (e.g.,
Europe/London), not the Windows format (e.g., "GMT Standard Time"). The app validates your entry and will show an error if the timezone is unrecognised.
Slot Duration & Horizon
These fields are fixed and cannot be changed:
- Slot Duration: 30 minutes - each optimization time slot is 30 minutes long
- Horizon: 48 slots - the optimizer looks 24 hours ahead (48 × 30 min)
These are displayed for informational purposes so you understand how the optimizer segments the day.
Enable Automatic Optimization Runs
When enabled, BatteryWiz will automatically run the optimization and (if configured) send commands to your inverter at regular intervals. Runs are aligned to clock boundaries (e.g., 3:00, 3:30, 4:00).
On Android, the WorkManager system may defer or delay work due to OS task prioritization and battery optimizations (Doze), so an auto-run can sometimes be executed later than its scheduled boundary; for this reason it is recommended to apply more than one slot per run (see Slots to Apply Per Run below).
- Auto-run interval: Fixed at 30 minutes
- Requires: Premium subscription (free trial or paid). A gating message will appear if you're on the free tier.
Note: On Android, ensure BatteryWiz is allowed to run in the background via the device's App info → Battery settings (enable background activity / disable battery optimisation for the app).
For best reliability you may want to set Background battery usage to "Unrestricted" in App info so the OS is less likely to defer scheduled auto-runs.
When disabled, you must manually trigger optimization runs from the Dashboard.
2.2 Subscription Status
This section shows your current subscription tier and lets you manage it.
Status Badge
Displays one of:
| Badge | Meaning |
|---|---|
| Lifetime | You have a lifetime premium licence |
| Premium | Active paid subscription |
| Trial | Free trial in progress (shows days remaining) |
| (no badge) | Free tier |
Action Buttons
- Manage - Opens the Premium & Free Trial page where you can subscribe or manage your plan
- Refresh - Re-checks your subscription status (useful after redeeming a promo code or completing a purchase)
Promo Codes
If you have a promotional code, redeem it through your device's app store (Google Play or Apple App Store), then tap Refresh in this section to update your status.
2.3 Battery & Inverter Constraints
These settings describe the physical characteristics of your battery system. Accurate values are essential for the optimizer to produce realistic schedules.
Battery Capacity (kWh)
The total usable capacity of your battery in kilowatt-hours. Check your inverter's spec sheet or monitoring portal.
| Example System | Typical Value |
|---|---|
| FoxESS ECS4100 (single) | 4.1 kWh |
| FoxESS ECS4100 (double stack) | 8.2 kWh |
| Tesla Powerwall 2 | 13.5 kWh |
| GivEnergy 9.5 | 9.5 kWh |
Default: 8.6 kWh
Min SOC (%)
The minimum state of charge the optimizer should maintain, as a percentage. This protects your battery from deep discharge and ensures a reserve for unexpected usage.
- Set this to your inverter's recommended minimum (often 10-20%)
- Setting it higher preserves more emergency backup capacity
Default: 20%
Max SOC (%)
The maximum state of charge the optimizer will target. Most systems use 100%, but some users cap it lower to extend battery longevity.
Default: 100%
Validation: Min SOC must be less than Max SOC. Both must be between 0% and 100%.
Max Charge Power (kW)
The maximum rate at which your battery can charge from the grid or solar, in kilowatts. This is determined by your inverter hardware.
Default: 4.5 kW
Max Discharge Power (kW)
The maximum rate at which your battery can discharge to power your home or export, in kilowatts.
Default: 3.4 kW
Tip: You can find these values on your inverter's datasheet or in the manufacturer's monitoring app. If your inverter supports different rates for AC and DC coupling, use the AC-coupled rate.
Charge Efficiency (%)
The round-trip charging efficiency of your battery. A value of 95% means that for every 1 kWh drawn from the grid, 0.95 kWh is actually stored in the battery.
Default: 95%
Discharge Efficiency (%)
The discharge-side efficiency. A value of 95% means for every 1 kWh discharged from the battery, 0.95 kWh is delivered to your home.
Default: 95%
Note: The combined round-trip efficiency at the defaults is 95% × 95% ≈ 90.25%, which is typical for modern lithium battery systems.
Degradation Penalty
A cost per kWh of battery cycling that the optimizer adds to discourage unnecessary charge/discharge cycles. This models real-world battery wear.
- The unit label adapts to your tariff currency (e.g., "p/kWh" for GBP, "$/kWh" for USD)
- Higher values make the optimizer more conservative about cycling
- Set to
0to ignore degradation costs entirely
Default: 7 (in the tariff's native rate unit - e.g., 7p/kWh for GBP tariffs)
Guidance: A reasonable range is 3-10 p/kWh (or equivalent). If your battery has a long warranty and you don't mind cycling, use the lower end. If you want to preserve your battery, use the higher end.
Care: Don't set the degradation penalty so high that it outweighs real savings - otherwise the optimizer may avoid charging when electricity is cheap and discharging when import prices are high or export opportunities are favourable. As a rule of thumb, keep the penalty smaller than the price difference between your best charging cost and either your peak import rate or the best export rate.
Export Limit (kW)
The maximum power you're allowed to export to the grid, in kilowatts. This must comply with the limit set by your Distribution Network Operator (DNO) or local regulations.
- In the UK, the G98/G99 limit is typically 3.68 kW for single-phase domestic installations
- The optimizer will never schedule exports exceeding this value
Default: 3.4 kW
Battery Buffer SOC (% points)
An additional SOC buffer (percentage points) that the optimizer reserves when creating schedules to provide headroom for real‑time variability. For example, if the battery is prioritized over grid and a slot's plan would leave the battery at X% SOC and the buffer is Y%, the optimizer reserves Y percentage points so the battery can fall up to Y points below the predicted X% if needed to handle unexpected changes such as:
- a shortfall in actual solar generation compared with the forecast, or
- a sudden increase in household load above the forecast.
Default: 2.0 percentage points
2.4 Behaviour
Send Commands to Inverter
Controls whether optimization results are actually sent to your inverter:
- Off (default): Simulation mode - the app computes optimal schedules and displays them on the Dashboard, but does not change your inverter settings. Use this to verify the optimizer's decisions before going live.
- On: Live mode - scheduled commands are sent to the inverter via its cloud API. Requires Premium subscription.
Recommendation: Start with this off and review the optimizer's recommendations on the Dashboard for a few days before enabling live control.
Slots to Apply Per Run (1-5)
The number of 30-minute time slots to schedule per optimization run:
- Slot 1 is applied immediately
- Slots 2-N are scheduled on the inverter for future execution
| Value | Behaviour |
|---|---|
| 1 | Only the current slot is applied. New optimization required every 30 min. |
| 3 (default) | Current slot + 2 future slots (1.5 hours ahead). Good balance of responsiveness and stability. |
| 5 | Current slot + 4 future slots (2.5 hours ahead). More stable. |
In simulation mode, all N slots are computed and displayed but not sent to the inverter.
Note: each time the optimizer runs it overwrites any previously scheduled future slots on the inverter; applying multiple slots ensures the inverter still has valid upcoming commands if a subsequent auto-run is delayed.
On Android, because WorkManager can defer scheduled work, choosing 3 or more slots is recommended to reduce the risk of missed or delayed updates when the OS postpones an auto-run.
2.5 Inverter Integration
This section configures the connection to your inverter's cloud API so BatteryWiz can read battery status and send control commands.
Enable Inverter Integration
Toggle this on to connect to your inverter. When disabled, BatteryWiz operates in offline/simulation mode with no inverter communication.
Inverter Vendor
Select your inverter manufacturer:
| Vendor | Status |
|---|---|
| None | No integration (default) |
| FoxESS Cloud | Supported - connects via FoxESS Cloud API |
More vendors (SolarEdge, GivEnergy, Huawei, SMA, Enphase) are planned for future releases.
Display Name
A friendly name for your inverter (e.g., "My FoxESS H3" or "Garage Inverter"). This is for your reference only.
Device ID
A generic device identifier. For FoxESS, this is typically your inverter's serial number.
FoxESS Cloud Settings
These fields appear when FoxESS Cloud is selected as the vendor.
API Base URL
The FoxESS Cloud API endpoint. Leave as the default unless directed otherwise by FoxESS support.
Default: https://www.foxesscloud.com
API Key
Your FoxESS private token for authentication. You can find this in the FoxESS Cloud portal under your account settings.
- The key is stored securely in your device's encrypted keychain/keystore - it is never stored in plain text
- After saving, the field shows "Saved" and is cleared for security
- Use the Clear button to remove a saved key
How to get your API key: Log in to foxesscloud.com → click your profile icon → User Profile → API Management → Optionally generate a new key and copy your API key.
Language
The language code for API requests. Default is en (English).
User Agent
The user agent string sent with API requests. Default is HomeEnergyOptimizer/1.0. You generally don't need to change this.
Plant ID (Optional)
Your FoxESS plant identifier. If you only have one plant, this can be left blank and will be detected automatically.
Device Serial Number
Your inverter's serial number. This identifies which inverter to send commands to. You can find this:
- On the physical label on your inverter
- In the FoxESS Cloud portal under your plant's device list
Validation: The app will warn if the serial number is not set, as it's needed for sending commands.
2.6 Solcast PV Forecast
BatteryWiz uses Solcast to predict your solar generation, which is critical for the optimizer to know when free solar energy will be available.
Enable Solcast Integration
Toggle on to use Solcast solar forecasts. When disabled, the optimizer assumes zero solar generation.
API Key
Your Solcast API key. Get one free at solcast.com - the free "Home User" tier provides 10 API calls per day, which is sufficient for BatteryWiz.
- Stored securely in your device's encrypted keychain/keystore
- After saving, shows "Saved" status
- Use Clear to remove a saved key
How to get your Solcast API key: Sign up at toolkit.solcast.com.au → Create a free rooftop site matching your location and panel specs → copy the API key from your account page.
Site ID / Resource ID
The unique identifier for your Solcast rooftop site. After creating a site in the Solcast dashboard, you'll find this ID on the site's detail page.
Important: Make sure the rooftop site in Solcast matches your actual panel orientation, tilt, and capacity for accurate forecasts.
Use Synthetic PV Data (Developer)
A testing option that generates simulated solar data instead of calling the Solcast API. Leave this off unless you're testing out how test solar data integrates in the app's solver. This is a relic of development and will be removed in a future release.
Rate Limiting
These settings prevent you from exceeding your Solcast API quota:
Refresh Interval (hours)
The minimum time between Solcast API calls. The app caches the latest forecast and reuses it until this interval elapses.
| Value | Calls/Day (approx.) | Recommendation |
|---|---|---|
| 0.5 | ~48 | Only for paid Solcast plans |
| 2.0 (default) | ~12 | Good for free tier if budget allows |
| 4.0 | ~6 | Conservative, suitable for free tier |
| 8.0 | ~3 | Very conservative |
Default: 2 hours
Valid range: 0.5 - 24 hours
Daily Call Budget
The maximum number of Solcast API calls per UTC day. Set to 0 for unlimited (not recommended on the free tier).
Default: 10 (matches the Solcast free tier limit)
Consistency check: If your refresh interval would result in more calls than your daily budget, some refreshes will be skipped, and a validation warning will appear.
Forecast Estimate Preference
Choose which statistical estimate from Solcast's forecast to use:
| Option | Percentile | Behaviour |
|---|---|---|
| Pessimistic | 10th | Assumes lower solar generation. The optimizer will be more cautious and may charge from the grid more often. Good for reliability. |
| Median (default) | 50th | The most likely outcome. Balanced approach. |
| Optimistic | 90th | Assumes higher solar generation. The optimizer will rely more on solar and charge from the grid less. Risk of deficit if clouds appear. |
Recommendation: Start with Median. Switch to Pessimistic if you find that Solcast usually overestimates your solar generation, or Optimistic if it usually underestimates it. This can be inferred by occasionally comparing sum of the past 24 hours solar forecast shown in the Solcast section of BatteryWiz's dashboard against actual solar generation recorded in your inverter's app. It might be worth cross-checking that the rooftop site in Solcast matches your actual solar panel orientation, tilt, and capacity to improve the solar forecasts.
2.7 Load Forecasting
BatteryWiz automatically learns your household energy consumption patterns over time. No configuration is needed - this section provides visibility into the forecaster's state and tools for backup/restore.
Forecaster Status
Shows whether the forecaster has completed its "warm start" (initial learning period) and how many 30-minute time slots it has processed.
- "Awaiting warm start" - Not enough data yet. The forecaster will use a fixed baseline until it has observed enough slots.
- "Ready (X slots learned)" - The forecaster is actively predicting your load. More slots = better accuracy.
Export / Import / Reset
| Button | Purpose |
|---|---|
| Export | Save the forecaster's learned model to a JSON file. Useful for backup or transferring to a new device. |
| Import | Load a previously exported model. Restores learned patterns without needing to re-learn. |
| Reset | Erases all learned data. The forecaster will start from scratch. A confirmation dialog prevents accidental resets. |
Tip: Export your forecaster state periodically as a backup. If you switch devices, import the state file on the new device to avoid the cold-start learning period.
2.8 Saving Your Settings
At the bottom of the Settings page:
| Button | Action |
|---|---|
| Restore Defaults | Resets all fields to factory defaults (does not save - you must tap Save to persist) |
| Cancel | Reloads the last saved settings, discarding all changes |
| Save | Validates all fields and persists your settings. API keys are stored securely. If auto-run is enabled, the scheduler is updated immediately. |
After a successful save, a "Settings saved successfully!" message appears briefly.
Validation
The Settings page validates your configuration before saving:
- Errors (red) block saving - e.g., invalid timezone, SOC min ≥ SOC max, missing API key when inverter is enabled
- Warnings (amber) allow saving but flag potential issues - e.g., unusually high battery capacity, Solcast enabled without credentials
Quick-Start Checklist
Use this checklist to verify you've configured everything needed for the optimizer to run:
- Tariff Page: Tariff name set
- Tariff Page: Correct currency selected
- Tariff Page: Import rates configured (default rate + any time-of-use windows)
- Tariff Page: Export rates configured (or default left at 0 if no export tariff)
- Tariff Page: Preview looks correct - verify rates at different times of day
- Tariff Page: Saved successfully
- Settings: Timezone set correctly
- Settings: Battery capacity matches your system
- Settings: Min/Max SOC set to your preferences
- Settings: Charge and discharge power limits match your inverter
- Settings: Degradation penalty set (or 0 if you don't want to model battery wear)
- Settings: Export limit compliant with your DNO/regulations
- Settings: Solcast enabled with API key and Site ID (if you have solar panels)
- Settings: Inverter integration enabled with correct vendor settings and API key (when ready for live control)
- Settings: Saved successfully
Once both pages are saved and validated, head to the Dashboard to run your first optimization!
3. Frequently Asked Questions
3.1 What happens if I leave the default rate at 0?
A default rate of 0 means the optimizer treats any time outside your rate windows as free electricity. If you don't have windows covering all 24 hours, make sure the default rate is set to your standard/daytime rate.
3.2 Can I have overlapping rate windows?
No - overlapping windows that share the same days are flagged as validation errors and will block saving. The app checks every pair of windows within each direction (import/export) and enforces non-overlapping half-open intervals. Adjacent windows (e.g., 02:00-05:00 followed by 05:00-07:00) are fine because end times are exclusive.
3.3 What if I don't have solar panels?
Leave Solcast disabled in Settings. The optimizer will still work - it just won't factor in solar generation. You'll benefit from time-of-use rate optimization and battery arbitrage.
3.4 What if I change my tariff?
Go to the Tariff page, update your rates, tap Generate Preview to verify, then Save. Changes take effect on the next optimization run.
3.5 Why is Auto-Run greyed out?
Auto-Run and Send Commands to Inverter require a Premium subscription. Start a free 60-day trial from the Subscription section or the trial banner at the top of the page.
3.6 What's the difference between Simulation and Live mode?
In Simulation mode (Send Commands to Inverter = off), the optimizer computes and displays optimal schedules but doesn't touch your inverter. In Live mode (on), it actively controls your inverter's charge/discharge behaviour via the cloud API.