Repository navigation
Tariffs and Time Periods
Use the prices and times in your current written plan. A tariff describes what electricity costs or earns; it is not a set of force-charge/discharge timers. Smart Optimization uses those prices with forecasts and limits. A native battery scheduler can use an uploaded/stored tariff only where the connection/provider route supports it.
During setup, the editor appears for Other / Custom TOU and providers that require manual tariff entry. Later, open Configure > Electricity pricing & provider, select your provider, then its manual/custom tariff option. For non-Tesla GloBird, enable Configure custom tariff; FOUR4FREE manual/custom selects the editor. AGL offers manual import entry or its opt-in seasonal schedule.
An automatic/provider-supplied tariff can have different source precedence. Check the provider reference before assuming a custom entry overrides a stored Tesla tariff. Do not change retailer just to find the shared editor when your provider already offers it.
In Custom tariff setup, choose Tariff type:
- Flat rate uses Flat rate and the default feed-in rate across the day. Saving completes tariff entry.
- Time of Use uses Off-peak rate and Default feed-in tariff for uncovered hours, plus the periods you add next. Enable Rates change by season only when the calendar changes the schedule/rates.
Plan name (optional) labels the tariff; it does not select retailer terms. Enter rates in the displayed minor-currency unit per kWh. A positive export rate means earnings; a negative rate means you pay to export where that field accepts negative values. Keep actual rates accurate. Minimum battery export price, grid-charge restrictions and other optimizer controls set dispatch preferences without falsifying the tariff.
AGL's editor handles import periods while its configured evening/off-peak export rates are applied separately, so it does not show the same editable feed-in fields as an ordinary custom tariff.
For each Add tariff period form:
- Select the Season when there is more than an ordinary All Year calendar.
- Choose Period type: Peak, Shoulder, Off-Peak or Super Off-Peak. The type is a label; enter that period's actual rates.
- Set Start time, End time and Applies to: weekdays, weekends or all days.
- Enter Import rate and, when shown, Export/feed-in rate.
- Enable Add another period to continue. Leave it off to build and save the tariff.
The current HA period selector uses whole hours, from 00:00 to 23:00. Do not assume minute-precision periods are supported by this editor. Periods include their start and exclude their end. A start later than the end crosses midnight; the applicable weekday belongs to the start day. For example, a weekday 21:00–07:00 period includes Saturday before 07:00 from its Friday start, but not Monday morning inherited from Sunday. Equal start/end covers the selected calendar day. Prefer explicit, non-overlapping periods so each applicable hour has one intended price. The editor does not promise to reject every conflicting overlapping period; avoid relying on insertion order to resolve one.
Times follow Home Assistant's configured local timezone. Daylight-saving changes are local-calendar boundaries, not a fixed UTC offset. For an overnight weekday period, check the following morning's day as well as its start day. Use tariff schedule and price sensors to verify boundary times.
For an illustrative plan with ordinary import all day and free import 12:00–15:00 every day, enter the real ordinary rate as Off-peak rate, then add one all-days period from 12:00 to 15:00 with import 0 and the real base FiT. Uncovered hours retain the default rates. This example is not a GloBird preset or a capped allowance; use your own account's hours and terms.
Create uniquely named seasons using Season name, Starts in and Ends in. Month endpoints are inclusive; November to March wraps across New Year. Season names are case-insensitively unique. Specific matching seasons take priority over All Year. All Year must span January–December and is the fallback for months outside those seasons. Specific seasons may not overlap; without All Year, they must cover all twelve months. Each selected season has its own generated off-peak coverage for uncovered hours: All Year periods do not fill hourly gaps inside a matching specific season.
Use Add another season to add more, or Use the seasons above and continue when the calendar is complete. Select the intended season when adding each tariff period. Removing a season also removes its associated periods. If seasonal rates are turned off, the editor normalizes retained periods to All Year, so review them before saving.
Reopening an existing TOU tariff retains its explicit periods. Remove a period removes the selected entry and saves the rebuilt tariff before returning to the period editor. To change an entry, remove it and add its replacement; do not add a conflicting duplicate. Adding periods with Add another period continues the flow; finish the editor to save the rebuilt schedule. Closing midway is not a universal undo, particularly after a removal that already saved.
After saving, check current import/export prices, the tariff schedule, applicable days/seasons and the next boundary. A menu-entered provider edit can finish directly without showing every Advanced page. If the provider reads a hardware-stored tariff, follow its reload/source instructions too.
For Cost Neutral, Daily supply charge is under Configure > Smart Optimization > Core goals. It is a fixed amount per day, separate from energy rates. Provider-specific supply fields can also remain for their accounting models; read that provider's reference rather than entering the same charge repeatedly without checking the effect.
A free price period does not imply unlimited free energy or quota tracking. GloBird ZEROHERO/ZeroCharge, CovaU and account-specific Flow Power export tiers have separate settlement rules; use their provider references. GloBird's daily-average ZeroCharge value forms a monthly pool, while other plans can have daily allowances. The ordinary HA custom-tariff wizard does not expose a Daily Import Allowance toggle. Client/API quota settings and measured-energy automations are separate surfaces.
The tables use the current form labels and help text. They list the conditional field union: a field can be hidden for a different battery, provider, route or available integration. The instructions above explain those conditions. Existing saved/discovered values take precedence over fresh fallbacks. Rate units follow the provider; check the displayed currency/energy unit.
| Field | Meaning / input | Fallback / limits |
|---|---|---|
| Plan name (optional) | Optional label for this tariff plan. Shown in the integration card. | Saved/detected value or the form’s shown fallback |
| Tariff type | Flat rate uses a single price all day. Time of Use lets you add multiple periods with different rates. | Fallback tou |
| Flat rate | Only used for flat rate tariff type. | Fallback 30; 0–200 |
| Off-peak rate | Rate for hours not covered by any period you define. | Fallback 15; 0–200 |
| Rates change by season | Enable this when month ranges use different time periods or prices. | Fallback Off |
| Skip tariff configuration | Check to use default estimation instead of configuring custom rates. | Fallback Off |
| Default feed-in tariff | Default export earnings for off-peak hours. Use a negative value when you pay to export. | Fallback 5; -100–100; step 0.1 |
| Field | Meaning / input | Fallback / limits |
|---|---|---|
| Season name | Use the value or available choice shown in this form; existing saved/detected values take precedence. | Saved/detected value or the form’s shown fallback |
| Starts in | First calendar month in this season. | Saved/detected value or the form’s shown fallback |
| Ends in | Last calendar month in this season. A range such as November to March wraps across New Year. | Saved/detected value or the form’s shown fallback |
| Add another season | Use the value or available choice shown in this form; existing saved/detected values take precedence. | Fallback Off |
| Use the seasons above and continue | Continue only after the saved seasons cover every month exactly once. | Fallback Off |
| Remove a season | Use the value or available choice shown in this form; existing saved/detected values take precedence. | Fallback none |
| Field | Meaning / input | Fallback / limits |
|---|---|---|
| Period type | e.g. Peak, Shoulder, Off-Peak, Super Off-Peak. | Fallback PEAK |
| Start time | Start time in 24-hour format (e.g. 07:00). | Fallback 15:00 |
| End time | End time in 24-hour format (e.g. 22:00). | Fallback 21:00 |
| Applies to | Which days this period applies to (weekdays, weekends, or all). | Fallback weekdays |
| Import rate | What you pay per kWh to import during this period. | Fallback 45; 0–200 |
| Add another period | Uncheck when done. Remaining hours become off-peak. | Fallback Off |
| Export/feed-in rate | What you earn per kWh for exporting during this period. Use a negative value when you pay to export. | Fallback 5; -100–200; step 0.1 |
| Season | Calendar season this time period and rate belongs to. | Saved/detected value or the form’s shown fallback |
| Remove a period | Choose a period and continue to remove it. Leave this as Keep all added periods when adding a new period. | Fallback none |
| Field | Meaning / input | Fallback / limits |
|---|---|---|
| Plan name (optional) | Optional label for this tariff plan. Shown in the integration card. | Saved/detected value or the form’s shown fallback |
| Tariff type | Flat rate uses a single price all day. Time of Use lets you add multiple periods with different rates. | Fallback tou |
| Flat rate | Only used for flat rate tariff type. | Fallback 30; 0–200 |
| Off-peak rate | Rate for hours not covered by any period you define. | 0–200 |
| Rates change by season | Enable this when month ranges use different time periods or prices. | Saved/detected value or the form’s shown fallback |
| Default feed-in tariff | Default export earnings for off-peak hours. Use a negative value when you pay to export. | -100–100; step 0.1 |
| Field | Meaning / input | Fallback / limits |
|---|---|---|
| Season name | Use the value or available choice shown in this form; existing saved/detected values take precedence. | Saved/detected value or the form’s shown fallback |
| Starts in | First calendar month in this season. | Saved/detected value or the form’s shown fallback |
| Ends in | Last calendar month in this season. A range such as November to March wraps across New Year. | Saved/detected value or the form’s shown fallback |
| Add another season | Use the value or available choice shown in this form; existing saved/detected values take precedence. | Fallback Off |
| Use the seasons above and continue | Continue only after the saved seasons cover every month exactly once. | Fallback Off |
| Remove a season | Use the value or available choice shown in this form; existing saved/detected values take precedence. | Fallback none |
| Field | Meaning / input | Fallback / limits |
|---|---|---|
| Period type | e.g. Peak, Shoulder, Off-Peak, Super Off-Peak. | Fallback PEAK |
| Start time | Start time in 24-hour format (e.g. 07:00). | Fallback 15:00 |
| End time | End time in 24-hour format (e.g. 22:00). | Fallback 21:00 |
| Applies to | Use the value or available choice shown in this form; existing saved/detected values take precedence. | Fallback all_days |
| Import rate | What you pay per kWh to import during this period. | Fallback 45; 0–200 |
| Add another period | Uncheck when done. Remaining hours become off-peak. | Fallback Off |
| Export/feed-in rate | What you earn per kWh for exporting during this period. Use a negative value when you pay to export. | Fallback 5; -100–200; step 0.1 |
| Season | Calendar season this time period and rate belongs to. | Saved/detected value or the form’s shown fallback |
| Remove a period | Choose a period and continue to remove it. Leave this as Keep all added periods when adding a new period. | Fallback none |