Cheapest and greenest times to use electricity in Great Britain, and which tariff suits a home.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The cheapest (or lowest-carbon) run of `duration_hours` starting from the next half hour and finishing by the next `finish_by` – when to set a washing machine or dishwasher's delay timer.
Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each.
Energy the run uses, kWh (0-20), for its cost – on the energy label, or kW times hours. Leave out for no cost.
How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own).
A tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`.
`cost` (default) or `carbon` (NESO's regional forecast, about two days ahead).
Local time it must finish by, HH:MM (default 07:00) – the next one at least `duration_hours` away.
The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section.
A fixed export rate, p/kWh (0-100).
Their angle from flat, degrees (0-90, default 35).
The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S.
How long it runs, 0.5-12 in half hours (default 3.5).
The inverter's limit, kW (0.5-50), if smaller than the panels.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http gb-electricity-prices-and-tariffs 'https://renewably.uk/mcp?via=registry'
The cheapest (or lowest-carbon) run of `duration_hours` starting from the next half hour and finishing by the next `finish_by` – when to set a washing machine or dishwasher's delay timer.
| Argument | Type | Description |
|---|---|---|
| kwh | number | Energy the run uses, kWh (0-20), for its cost – on the energy label, or kW times hours. Leave out for no cost. |
| export | string | How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own). |
| region* | string | Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each. |
| tariff | string | A tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`. |
| optimise | string | `cost` (default) or `carbon` (NESO's regional forecast, about two days ahead). |
| finish_by | string | Local time it must finish by, HH:MM (default 07:00) – the next one at least `duration_hours` away. |
| solar_kwp | number | The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section. |
| export_rate | number | A fixed export rate, p/kWh (0-100). |
| solar_pitch | number | Their angle from flat, degrees (0-90, default 35). |
| solar_facing | string | The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S. |
| duration_hours | number | How long it runs, 0.5-12 in half hours (default 3.5). |
| solar_inverter_kw | number | The inverter's limit, kW (0.5-50), if smaller than the panels. |
{
"type": "object",
"required": [
"region"
],
"properties": {
"kwh": {
"type": "number",
"maximum": 20,
"minimum": 0,
"description": "Energy the run uses, kWh (0-20), for its cost – on the energy label, or kW times hours. Leave out for no cost."
},
"export": {
"enum": [
"paired",
"fixed",
"fit",
"none",
"agile-outgoing",
"outgoing",
"prime-outgoing",
"flux-export",
"octopus-seg",
"eon-next-flex-export",
"eon-next-export-exclusive",
"eon-next-export-premium",
"edf-seg-variable",
"edf-seg-variable-value",
"edf-export-exclusive"
],
"type": "string",
"description": "How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own)."
},
"region": {
"type": "string",
"description": "Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each."
},
"tariff": {
"type": "string",
"default": "agile",
"description": "A tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`."
},
"optimise": {
"enum": [
"cost",
"carbon"
],
"type": "string",
"default": "cost",
"description": "`cost` (default) or `carbon` (NESO's regional forecast, about two days ahead)."
},
"finish_by": {
"type": "string",
"default": "07:00",
"description": "Local time it must finish by, HH:MM (default 07:00) – the next one at least `duration_hours` away."
},
"solar_kwp": {
"type": "number",
"maximum": 50,
"minimum": 0.2,
"description": "The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section."
},
"export_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "A fixed export rate, p/kWh (0-100)."
},
"solar_pitch": {
"type": "number",
"maximum": 90,
"minimum": 0,
"description": "Their angle from flat, degrees (0-90, default 35)."
},
"solar_facing": {
"type": "string",
"description": "The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S."
},
"duration_hours": {
"type": "number",
"default": 3.5,
"maximum": 12,
"minimum": 0.5,
"multipleOf": 0.5,
"description": "How long it runs, 0.5-12 in half hours (default 3.5)."
},
"solar_inverter_kw": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "The inverter's limit, kW (0.5-50), if smaller than the panels."
}
},
"additionalProperties": false
}When the grid operator, NESO, is asking homes in a region to use less electricity (often the evening peak) or more (often in Scotland, when there's more wind than the grid can carry south), through its Demand Flexibility Service: live events from now to the end of tomorrow, usually announced the same morning. Households can sometimes get paid for taking part – but only if they've signed up to a scheme with their energy supplier or another provider (eg Octopus's Saving Sessions), and that provider is taking part in the event; it tells them and says what it pays. These are NESO's requests to such providers. Without a scheme, shifting use still helps the grid but isn't paid.
| Argument | Type | Description |
|---|---|---|
| region* | string | Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each. |
{
"type": "object",
"required": [
"region"
],
"properties": {
"region": {
"type": "string",
"description": "Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each."
}
},
"additionalProperties": false
}For a typical weekday and weekend day at this time of year (on a fixed-window or flat tariff, today's rates): the cheapest time to reheat hot water (and the cheapest ready by 07:00), and the cost of each kWh of heat by hour – price divided by a generic air-source heat pump's efficiency at that hour's typical temperature.
| Argument | Type | Description |
|---|---|---|
| export | string | How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own). |
| region* | string | Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each. |
| tariff | string | A tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`. |
| solar_kwp | number | The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section. |
| export_rate | number | A fixed export rate, p/kWh (0-100). |
| solar_pitch | number | Their angle from flat, degrees (0-90, default 35). |
For a typical weekday and weekend day at this time of year (on a fixed-window or flat tariff, today's rates): the cheapest charge slot to fill a home battery before the 16:00 peak, an optional afternoon top-up, and what it saves a home using `usage` kWh a year – the battery runs the house after its charge until it's empty, through a typical day's use. No export, and not counting the battery's wear; with `solar_kwp`, also how full to charge overnight for the next day's sun.
| Argument | Type | Description |
|---|---|---|
| rate | number | Grid charge rate, kW (0.5-15, default 3). |
| usage | number | The home's electricity use, kWh a year (500-30000, default 2500 – an average home). |
| export | string | How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own). |
| region* | string | Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each. |
| tariff | string | A tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`. |
| battery |
Half-hourly prices for a region from midnight today. On Agile (the default) and Agile Outgoing, each is published by Octopus or estimated by Renewably (flagged `estimate`); other tariffs show only their supplier's published prices. An export tariff's are what it pays for export (and take no panels).
| Argument | Type | Description |
|---|---|---|
| days | integer | Days from today, 1-5 (default 2: today and tomorrow). |
| export | string | How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own). |
| region* | string | Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each. |
| tariff | string | A tariff's key from list_tariffs (default `agile`) – an import tariff, or an export tariff from list_tariffs?direction=export (eg `agile-outgoing`), for what it pays. |
| solar_kwp | number | The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section. |
| export_rate | number | A fixed export rate, p/kWh (0-100). |
The 14 Agile regions (GSP groups), each with well-known places in it - to place a home by its town. The regions are the local electricity networks' areas, not counties, so some places surprise (Milton Keynes and Coventry are in the East Midlands, Croydon in South East England, York in North East England). The surest way: the first two digits of the 13-digit MPAN on the home's electricity bill (`mpan_prefix`).
No arguments.
{
"type": "object",
"required": [],
"properties": {},
"additionalProperties": false
}The time-of-use and standard tariffs from Octopus, EDF and E.ON Next that the `tariff` parameter accepts – or, with `direction=export`, their export tariffs (for get_prices and `export`), each saying which homes can have it.
| Argument | Type | Description |
|---|---|---|
| direction | string | `import` (default) or `export`. |
{
"type": "object",
"required": [],
"properties": {
"direction": {
"enum": [
"import",
"export"
],
"type": "string",
"default": "import",
"description": "`import` (default) or `export`."
}
},
"additionalProperties": false
}The cheapest or greenest half hours to charge an electric car by a ready-by time up to four days ahead.
| Argument | Type | Description |
|---|---|---|
| day | string | Ready-by day: today, tomorrow, in2 or in3 (default: the next time `time` comes round, at least four hours away). |
| mpk | number | Miles per kWh, for the per-mile figures (1.5-6, default 3.3). |
| now | integer | Charge now, % (0-100, default 30). |
| mode | string | `timer` (one unbroken block, default) or `smart` (any half hours). |
| time | string | Ready-by local time, HH:MM (default 07:00). |
| export | string | How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own). |
| region* | string | Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each. |
A home's past year on every tariff in list_tariffs and at Ofgem's price cap – and what switching tariff, an electric car, a heat pump, solar panels or a battery would save, each added to everything before it (tariff, car, heating, solar, battery). Each of car, heating, solar and battery is something the home has (it explains the bill) or is considering. Totals are electricity, gas at the price cap and petrol or diesel – only what changes.
| Argument | Type | Description |
|---|---|---|
| car | string | What the home drives now: `petrol` (default) or `diesel` (counted only with consider_ev=1), `ev` (the bill includes an electric car), or `none`. |
| gas | number | With heating=gas and consider_heat_pump=1: gas a year on the bill, kWh (1000-60000, default 9500). |
| kwp | number | Panels, kWp (0.2-50; default 4 on a roof, 0.8 for a plug-in kit, at most 2) – the first roof face's, with more faces. |
| mpg | number | With consider_ev=1: its real-world mpg (10-120; default the average car on the road, 36 petrol, 42 diesel). |
| mpk | number | Electric car, miles per kWh at the battery (1.5-6, default 3.3). |
| ppl | number | With consider_ev=1: what you pay, p/litre (50-400; default the UK weekly average over the past year). |
| kwp2 |
A home battery's plan from the half hour under way to the end of tomorrow, on the tariff's real prices (Agile's, and Agile Outgoing's, estimated beyond what Octopus has published), half hour by half hour: charge from the grid, hold, run the house (self-use), export, or send the sun to the grid – the cheapest way through, counting the battery's losses and wear. Exporting follows what the export tariff pays for – everything on Octopus's, only what the panels put in on the others – unless `battery_export=all` says the home is paid for what the battery charged from the grid too. A battery without panels gives `export` (Octopus's `outgoing`, `agile-outgoing` or `prime-outgoing`, `eon-next-export-premium` for a battery E.ON fitted, or `fixed` with `export_rate`) and trades on the grid: charging cheap, exporting at the peak. Smart Export Guarantee tariffs pay only for what panels made, so not a battery on its own. `now` is what to set this half hour; `settings` the few changes worth typing into the inverter's app. For a typical home of `usage`; give `soc` (the battery's charge now) for a plan from where it is. Advice and data for the owner's own automation – Renewably never controls a battery.
| Argument | Type | Description |
|---|---|---|
| soc | number | The battery's charge now, per cent (0-100). Default: at its reserve. |
| rate | number | Charge and discharge rate, kW (0.5-15, default 3). |
| wear | number | The battery's wear for each kWh it gives back, pence (0-20, default 2). |
| usage | number | The home's electricity use, kWh a year (500-30000, default 2500). |
We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 3, 2026.
| solar_facing | string | The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S. |
| solar_inverter_kw | number | The inverter's limit, kW (0.5-50), if smaller than the panels. |
{
"type": "object",
"required": [
"region"
],
"properties": {
"export": {
"enum": [
"paired",
"fixed",
"fit",
"none",
"agile-outgoing",
"outgoing",
"prime-outgoing",
"flux-export",
"octopus-seg",
"eon-next-flex-export",
"eon-next-export-exclusive",
"eon-next-export-premium",
"edf-seg-variable",
"edf-seg-variable-value",
"edf-export-exclusive"
],
"type": "string",
"description": "How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own)."
},
"region": {
"type": "string",
"description": "Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each."
},
"tariff": {
"type": "string",
"default": "agile",
"description": "A tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`."
},
"solar_kwp": {
"type": "number",
"maximum": 50,
"minimum": 0.2,
"description": "The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section."
},
"export_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "A fixed export rate, p/kWh (0-100)."
},
"solar_pitch": {
"type": "number",
"maximum": 90,
"minimum": 0,
"description": "Their angle from flat, degrees (0-90, default 35)."
},
"solar_facing": {
"type": "string",
"description": "The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S."
},
"solar_inverter_kw": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "The inverter's limit, kW (0.5-50), if smaller than the panels."
}
},
"additionalProperties": false
}| number |
| Usable battery, kWh (2-50, default 10). |
| solar_kwp | number | The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section. |
| export_rate | number | A fixed export rate, p/kWh (0-100). |
| solar_pitch | number | Their angle from flat, degrees (0-90, default 35). |
| solar_facing | string | The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S. |
| battery_export | string | What the battery may export: `terms` (default) what the export tariff pays for – everything on Octopus's, only what the panels put in on the others; `all` what it charged from the grid too, on any export tariff – check the supplier pays for that; `solar` only what the panels put in, even on Octopus's; `never` – `evening_export` then says what that leaves. Without panels, give `export` too: everything a battery on its own exports came from the grid. |
| solar_inverter_kw | number | The inverter's limit, kW (0.5-50), if smaller than the panels. |
{
"type": "object",
"required": [
"region"
],
"properties": {
"rate": {
"type": "number",
"default": 3,
"maximum": 15,
"minimum": 0.5,
"description": "Grid charge rate, kW (0.5-15, default 3)."
},
"usage": {
"type": "number",
"default": 2500,
"maximum": 30000,
"minimum": 500,
"description": "The home's electricity use, kWh a year (500-30000, default 2500 – an average home)."
},
"export": {
"enum": [
"paired",
"fixed",
"fit",
"none",
"agile-outgoing",
"outgoing",
"prime-outgoing",
"flux-export",
"octopus-seg",
"eon-next-flex-export",
"eon-next-export-exclusive",
"eon-next-export-premium",
"edf-seg-variable",
"edf-seg-variable-value",
"edf-export-exclusive"
],
"type": "string",
"description": "How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own)."
},
"region": {
"type": "string",
"description": "Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each."
},
"tariff": {
"type": "string",
"default": "agile",
"description": "A tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`."
},
"battery": {
"type": "number",
"default": 10,
"maximum": 50,
"minimum": 2,
"description": "Usable battery, kWh (2-50, default 10)."
},
"solar_kwp": {
"type": "number",
"maximum": 50,
"minimum": 0.2,
"description": "The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section."
},
"export_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "A fixed export rate, p/kWh (0-100)."
},
"solar_pitch": {
"type": "number",
"maximum": 90,
"minimum": 0,
"description": "Their angle from flat, degrees (0-90, default 35)."
},
"solar_facing": {
"type": "string",
"description": "The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S."
},
"battery_export": {
"enum": [
"terms",
"all",
"solar",
"never"
],
"type": "string",
"default": "terms",
"description": "What the battery may export: `terms` (default) what the export tariff pays for – everything on Octopus's, only what the panels put in on the others; `all` what it charged from the grid too, on any export tariff – check the supplier pays for that; `solar` only what the panels put in, even on Octopus's; `never` – `evening_export` then says what that leaves. Without panels, give `export` too: everything a battery on its own exports came from the grid."
},
"solar_inverter_kw": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "The inverter's limit, kW (0.5-50), if smaller than the panels."
}
},
"additionalProperties": false
}| solar_pitch | number | Their angle from flat, degrees (0-90, default 35). |
| solar_facing | string | The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S. |
| solar_inverter_kw | number | The inverter's limit, kW (0.5-50), if smaller than the panels. |
{
"type": "object",
"required": [
"region"
],
"properties": {
"days": {
"type": "integer",
"default": 2,
"maximum": 5,
"minimum": 1,
"description": "Days from today, 1-5 (default 2: today and tomorrow)."
},
"export": {
"enum": [
"paired",
"fixed",
"fit",
"none",
"agile-outgoing",
"outgoing",
"prime-outgoing",
"flux-export",
"octopus-seg",
"eon-next-flex-export",
"eon-next-export-exclusive",
"eon-next-export-premium",
"edf-seg-variable",
"edf-seg-variable-value",
"edf-export-exclusive"
],
"type": "string",
"description": "How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own)."
},
"region": {
"type": "string",
"description": "Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each."
},
"tariff": {
"type": "string",
"default": "agile",
"description": "A tariff's key from list_tariffs (default `agile`) – an import tariff, or an export tariff from list_tariffs?direction=export (eg `agile-outgoing`), for what it pays."
},
"solar_kwp": {
"type": "number",
"maximum": 50,
"minimum": 0.2,
"description": "The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section."
},
"export_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "A fixed export rate, p/kWh (0-100)."
},
"solar_pitch": {
"type": "number",
"maximum": 90,
"minimum": 0,
"description": "Their angle from flat, degrees (0-90, default 35)."
},
"solar_facing": {
"type": "string",
"description": "The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S."
},
"solar_inverter_kw": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "The inverter's limit, kW (0.5-50), if smaller than the panels."
}
},
"additionalProperties": false
}| target |
| integer |
| Target charge, % (0-100, default 80). |
| tariff | string | A tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`. |
| battery | number | Usable battery, kWh (5-200, default 60). |
| charger | number | Charging power, kW (1-22, default 7.4). |
| optimise | string | `cost` (default) or `carbon`. |
| solar_kwp | number | The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section. |
| efficiency | integer | Charging efficiency, % (60-100, default 90). |
| export_rate | number | A fixed export rate, p/kWh (0-100). |
| solar_pitch | number | Their angle from flat, degrees (0-90, default 35). |
| solar_facing | string | The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S. |
| solar_inverter_kw | number | The inverter's limit, kW (0.5-50), if smaller than the panels. |
{
"type": "object",
"required": [
"region"
],
"properties": {
"day": {
"enum": [
"today",
"tomorrow",
"in2",
"in3"
],
"type": "string",
"description": "Ready-by day: today, tomorrow, in2 or in3 (default: the next time `time` comes round, at least four hours away)."
},
"mpk": {
"type": "number",
"default": 3.3,
"maximum": 6,
"minimum": 1.5,
"description": "Miles per kWh, for the per-mile figures (1.5-6, default 3.3)."
},
"now": {
"type": "integer",
"default": 30,
"maximum": 100,
"minimum": 0,
"description": "Charge now, % (0-100, default 30)."
},
"mode": {
"enum": [
"timer",
"smart"
],
"type": "string",
"default": "timer",
"description": "`timer` (one unbroken block, default) or `smart` (any half hours)."
},
"time": {
"type": "string",
"default": "07:00",
"description": "Ready-by local time, HH:MM (default 07:00)."
},
"export": {
"enum": [
"paired",
"fixed",
"fit",
"none",
"agile-outgoing",
"outgoing",
"prime-outgoing",
"flux-export",
"octopus-seg",
"eon-next-flex-export",
"eon-next-export-exclusive",
"eon-next-export-premium",
"edf-seg-variable",
"edf-seg-variable-value",
"edf-export-exclusive"
],
"type": "string",
"description": "How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own)."
},
"region": {
"type": "string",
"description": "Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each."
},
"target": {
"type": "integer",
"default": 80,
"maximum": 100,
"minimum": 0,
"description": "Target charge, % (0-100, default 80)."
},
"tariff": {
"type": "string",
"default": "agile",
"description": "A tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`."
},
"battery": {
"type": "number",
"default": 60,
"maximum": 200,
"minimum": 5,
"description": "Usable battery, kWh (5-200, default 60)."
},
"charger": {
"type": "number",
"default": 7.4,
"maximum": 22,
"minimum": 1,
"description": "Charging power, kW (1-22, default 7.4)."
},
"optimise": {
"enum": [
"cost",
"carbon"
],
"type": "string",
"default": "cost",
"description": "`cost` (default) or `carbon`."
},
"solar_kwp": {
"type": "number",
"maximum": 50,
"minimum": 0.2,
"description": "The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section."
},
"efficiency": {
"type": "integer",
"default": 90,
"maximum": 100,
"minimum": 60,
"description": "Charging efficiency, % (60-100, default 90)."
},
"export_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "A fixed export rate, p/kWh (0-100)."
},
"solar_pitch": {
"type": "number",
"maximum": 90,
"minimum": 0,
"description": "Their angle from flat, degrees (0-90, default 35)."
},
"solar_facing": {
"type": "string",
"description": "The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S."
},
"solar_inverter_kw": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "The inverter's limit, kW (0.5-50), if smaller than the panels."
}
},
"additionalProperties": false
}| number |
| Roof panels on a second face, kWp (0.2-50), with `aspect2` and `tilt2` – and `kwp3`, `aspect3`, `tilt3` for a third. One inverter for them all. |
| kwp3 | number | Roof panels on a third face, kWp (0.2-50). |
| scop | number | With consider_heat_pump=1: the installer's seasonal efficiency for heating (1.5-6; default a typical installation). |
| tilt | number | Or their exact angle from flat, degrees (0-90). Replaces `pitch` (or `mount`). |
| unit | number | With tariff=custom: its unit rate, p/kWh (5-100). |
| boost | string | With heating=storage: the share of their heat from evening boost at the day rate, % (0, 10 or 25; default 10). |
| miles | number | Car miles a year (500-40000, default 7100). |
| mount | string | With panels=plug_in: its angle from flat – 90 (upright on a balcony or wall, default), 60 (leaning), 30 (on a stand), 10 (flat). |
| pitch | string | The roof: 35 (pitched, default), 20 (shallow), 50 (steep), 10 (flat). |
| shift | string | Share of everyday use run at the day's cheapest times, % (0, 15 or 30; default 0) – for fine-tuning. |
| solar | string | `no` (default), `have`, or `consider`. |
| tilt2 | number | The second face's angle from flat, degrees (0-90, default 35). |
| tilt3 | number | The third face's angle from flat, degrees (0-90, default 35). |
| usage | number | Electricity a year as on the bill, kWh – what's bought now (500-30000, default 2500). |
| aspect | string | The way the panels face: S (default), SE, SW, E, W, NE, NW, N. |
| boiler | string | With consider_heat_pump=1: `condensing` (default) or `older` (pre-2005). |
| export | string | How export is paid: `paired` (default: each tariff's own export tariff), `fixed` (at `export_rate`), `fit` (the Feed-in Tariff's deemed export), `none`, or an export tariff's key from list_tariffs?direction=export – used with every tariff that can have it, and each tariff's own with the rest. |
| hp_kwh | number | With heating=heat_pump: its own use, kWh a year, if known (0-20000; default estimated). |
| panels | string | With solar=have or consider: `roof` (default) or `plug_in` (a plug-in kit: its inverter capped at 800 W, export unpaid, panels up to 2 kWp). |
| region* | string | Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each. |
| switch | string | 1 (default) to find the best tariff at each step, staying put included; 0 to keep `tariff` throughout. |
| tariff | string | The tariff the home is on: `price-cap` (default), a key from list_tariffs, `tracker` (Octopus Tracker, off sale but priced for the homes on it), or `custom` with `unit` and `standing`. |
| aspect2 | string | The second face's direction: S (default), SE, SW, E, W, NE, NW, N. |
| aspect3 | string | The third face's direction. |
| battery | string | `no` (default), `have`, or `consider`. |
| bearing | number | Or the exact compass bearing the panels face, degrees (0-359; south 180). Replaces `aspect`. |
| charger | number | Home charger, kW (2-22, default 7). |
| daytime | string | Whether anyone's home in the day: `usual` (default), `out` (rarely – out at work), or `home` (most days). Decides how much of the panels' output the home uses. |
| heating | string | What heats the home now: `gas` (default), `oil` or `lpg` (a boiler), `solid` (wood or coal: `solid_fuel` says which) – counted only with consider_heat_pump=1 – `heat_pump` (the bill includes one), `storage` (storage heaters), `electric` (panel or other direct electric heaters), or `other`. |
| hp_cost | number | With consider_heat_pump=1: the quote after grants, £ (0-100000; default typical, outside Scotland). |
| plug_in | integer | Hour the car is plugged in, 0-23 local (default 18). |
| preheat | string | With heating=electric: `1` to heat from 1pm rather than 4pm–7pm when that's cheaper (default `0`). |
| heat_ppl | number | With heating=oil or lpg and consider_heat_pump=1: what's paid a litre, pence (20-300). Oil defaults to a recent national average; LPG has no default and needs it. |
| keep_gas | string | With consider_heat_pump=1: 1 to keep gas for cooking (default 0). |
| plug_out | integer | Hour it's unplugged, 0-23 local (default 7; the same as `plug_in`: always plugged in). |
| standing | number | With tariff=custom: its standing charge, p/day (0-200). |
| appliance | string | With heating=solid: `stove` (a stove or boiler, default) or `fire` (an open fire). |
| night_gmt | string | `1`: the meter keeps GMT, so its night hours are an hour later in summer (default `0`). |
| replacing | string | With consider_heat_pump=1: 1 if the boiler is due for replacing anyway (default 0). |
| standby_w | number | Battery standby draw, W (0-200, default 20). |
| battery_kw | number | Battery power, kW (0.5-15, default 3). |
| charge_eff | number | Car charging efficiency, % (70-100, default 90). |
| heat_spend | number | With heating=solid and consider_heat_pump=1: what the home spends on it a year, £ (10-20000). Needed, with heat_amount. |
| heater_kwh | number | With heating=storage or electric: the heaters' own use, kWh a year, if known (0-30000; default estimated). Hot water is taken as an immersion heater. |
| round_trip | number | Battery round-trip efficiency, % (60-100, default 90). |
| solar_cost | number | With solar=consider: the quote or kit price, £ (0-100000; default typical). |
| solid_fuel | string | With heating=solid: `logs` (default), `pellets` or `coal` (coal or smokeless fuel). |
| storage_kw | number | With heating=storage: all the heaters' input power together, kW (1-30, default 6). |
| battery_kwh | number | Battery, usable kWh (0.5-40, default 5). |
| consider_ev | string | With a petrol or diesel car: 1 to see what an electric car replacing it would save (default 0). |
| export_rate | number | Your fixed export rate, p/kWh (0-100, default 12), with `export=fixed`. |
| heat_amount | number | With heating=solid and consider_heat_pump=1: how much the home buys a year – logs in loose cubic metres, pellets and coal in kg (0.1-50000). Needed, with heat_spend. |
| heat_litres | number | With heating=oil or lpg and consider_heat_pump=1: litres a year (100-10000; default as much heat as 9500 kWh of gas). |
| inverter_kw | number | Solar inverter rating, kW (0.5-50; default no limit). |
| night_start | string | The meter's seven night hours, for Economy 7 tariffs and meter-switched heaters: the half hour they start, 0-47 local (44 is 22:00 ... 3 is 01:30; default 1, 00:30-07:30). |
| battery_cost | number | With battery=consider: the quote, £ (0-100000; no default – no payback without one). |
| export_limit | number | Export limit set by the network operator, kW (0.5-50; default none). |
| storage_meter | string | With heating=storage: `1` (default) the meter switches them on in its night hours (and Snug Octopus can schedule them), `0` their own timer, in the cheapest night half hours. |
| battery_export | string | What the battery may export: `never`, even where the export tariff peaks; `solar`, only what it stored from the panels, even on Octopus's; `terms` (default), what the terms pay for – on Octopus's anything it holds, on other export tariffs only what it stored from the panels; `all`, anything it holds, on any export tariff (check the supplier pays for grid-charged export). |
| battery_charge_kw | number | Battery charging power, kW (0.5-15, default `battery_kw`). |
| consider_heat_pump | string | With a boiler (heating=gas, oil or lpg), wood or coal (heating=solid), or storage or electric heaters (heating=storage or electric): 1 to see what a heat pump replacing them would save (default 0). |
| battery_discharge_kw | number | Battery discharging power, kW (0.5-15, default `battery_kw`). |
{
"type": "object",
"required": [
"region"
],
"properties": {
"car": {
"enum": [
"petrol",
"diesel",
"ev",
"none"
],
"type": "string",
"default": "petrol",
"description": "What the home drives now: `petrol` (default) or `diesel` (counted only with consider_ev=1), `ev` (the bill includes an electric car), or `none`."
},
"gas": {
"type": "number",
"default": 9500,
"maximum": 60000,
"minimum": 1000,
"description": "With heating=gas and consider_heat_pump=1: gas a year on the bill, kWh (1000-60000, default 9500)."
},
"kwp": {
"type": "number",
"default": 4,
"maximum": 50,
"minimum": 0.2,
"description": "Panels, kWp (0.2-50; default 4 on a roof, 0.8 for a plug-in kit, at most 2) – the first roof face's, with more faces."
},
"mpg": {
"type": "number",
"maximum": 120,
"minimum": 10,
"description": "With consider_ev=1: its real-world mpg (10-120; default the average car on the road, 36 petrol, 42 diesel)."
},
"mpk": {
"type": "number",
"default": 3.3,
"maximum": 6,
"minimum": 1.5,
"description": "Electric car, miles per kWh at the battery (1.5-6, default 3.3)."
},
"ppl": {
"type": "number",
"maximum": 400,
"minimum": 50,
"description": "With consider_ev=1: what you pay, p/litre (50-400; default the UK weekly average over the past year)."
},
"kwp2": {
"type": "number",
"maximum": 50,
"minimum": 0.2,
"description": "Roof panels on a second face, kWp (0.2-50), with `aspect2` and `tilt2` – and `kwp3`, `aspect3`, `tilt3` for a third. One inverter for them all."
},
"kwp3": {
"type": "number",
"maximum": 50,
"minimum": 0.2,
"description": "Roof panels on a third face, kWp (0.2-50)."
},
"scop": {
"type": "number",
"maximum": 6,
"minimum": 1.5,
"description": "With consider_heat_pump=1: the installer's seasonal efficiency for heating (1.5-6; default a typical installation)."
},
"tilt": {
"type": "number",
"maximum": 90,
"minimum": 0,
"description": "Or their exact angle from flat, degrees (0-90). Replaces `pitch` (or `mount`)."
},
"unit": {
"type": "number",
"maximum": 100,
"minimum": 5,
"description": "With tariff=custom: its unit rate, p/kWh (5-100)."
},
"boost": {
"enum": [
"0",
"10",
"25"
],
"type": "string",
"default": "10",
"description": "With heating=storage: the share of their heat from evening boost at the day rate, % (0, 10 or 25; default 10)."
},
"miles": {
"type": "number",
"default": 7100,
"maximum": 40000,
"minimum": 500,
"description": "Car miles a year (500-40000, default 7100)."
},
"mount": {
"enum": [
"90",
"60",
"30",
"10"
],
"type": "string",
"default": "90",
"description": "With panels=plug_in: its angle from flat – 90 (upright on a balcony or wall, default), 60 (leaning), 30 (on a stand), 10 (flat)."
},
"pitch": {
"enum": [
"35",
"20",
"50",
"10"
],
"type": "string",
"default": "35",
"description": "The roof: 35 (pitched, default), 20 (shallow), 50 (steep), 10 (flat)."
},
"shift": {
"enum": [
"0",
"15",
"30"
],
"type": "string",
"default": "0",
"description": "Share of everyday use run at the day's cheapest times, % (0, 15 or 30; default 0) – for fine-tuning."
},
"solar": {
"enum": [
"no",
"have",
"consider"
],
"type": "string",
"default": "no",
"description": "`no` (default), `have`, or `consider`."
},
"tilt2": {
"type": "number",
"maximum": 90,
"minimum": 0,
"description": "The second face's angle from flat, degrees (0-90, default 35)."
},
"tilt3": {
"type": "number",
"maximum": 90,
"minimum": 0,
"description": "The third face's angle from flat, degrees (0-90, default 35)."
},
"usage": {
"type": "number",
"default": 2500,
"maximum": 30000,
"minimum": 500,
"description": "Electricity a year as on the bill, kWh – what's bought now (500-30000, default 2500)."
},
"aspect": {
"enum": [
"S",
"SE",
"SW",
"E",
"W",
"NE",
"NW",
"N"
],
"type": "string",
"default": "S",
"description": "The way the panels face: S (default), SE, SW, E, W, NE, NW, N."
},
"boiler": {
"enum": [
"condensing",
"older"
],
"type": "string",
"default": "condensing",
"description": "With consider_heat_pump=1: `condensing` (default) or `older` (pre-2005)."
},
"export": {
"enum": [
"paired",
"fixed",
"fit",
"none",
"agile-outgoing",
"outgoing",
"prime-outgoing",
"flux-export",
"octopus-seg",
"eon-next-flex-export",
"eon-next-export-exclusive",
"eon-next-export-premium",
"edf-seg-variable",
"edf-seg-variable-value",
"edf-export-exclusive"
],
"type": "string",
"default": "paired",
"description": "How export is paid: `paired` (default: each tariff's own export tariff), `fixed` (at `export_rate`), `fit` (the Feed-in Tariff's deemed export), `none`, or an export tariff's key from list_tariffs?direction=export – used with every tariff that can have it, and each tariff's own with the rest."
},
"hp_kwh": {
"type": "number",
"maximum": 20000,
"minimum": 0,
"description": "With heating=heat_pump: its own use, kWh a year, if known (0-20000; default estimated)."
},
"panels": {
"enum": [
"roof",
"plug_in"
],
"type": "string",
"default": "roof",
"description": "With solar=have or consider: `roof` (default) or `plug_in` (a plug-in kit: its inverter capped at 800 W, export unpaid, panels up to 2 kWp)."
},
"region": {
"type": "string",
"description": "Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each."
},
"switch": {
"enum": [
"1",
"0"
],
"type": "string",
"default": "1",
"description": "1 (default) to find the best tariff at each step, staying put included; 0 to keep `tariff` throughout."
},
"tariff": {
"type": "string",
"default": "price-cap",
"description": "The tariff the home is on: `price-cap` (default), a key from list_tariffs, `tracker` (Octopus Tracker, off sale but priced for the homes on it), or `custom` with `unit` and `standing`."
},
"aspect2": {
"enum": [
"S",
"SE",
"SW",
"E",
"W",
"NE",
"NW",
"N"
],
"type": "string",
"description": "The second face's direction: S (default), SE, SW, E, W, NE, NW, N."
},
"aspect3": {
"enum": [
"S",
"SE",
"SW",
"E",
"W",
"NE",
"NW",
"N"
],
"type": "string",
"description": "The third face's direction."
},
"battery": {
"enum": [
"no",
"have",
"consider"
],
"type": "string",
"default": "no",
"description": "`no` (default), `have`, or `consider`."
},
"bearing": {
"type": "number",
"maximum": 359,
"minimum": 0,
"description": "Or the exact compass bearing the panels face, degrees (0-359; south 180). Replaces `aspect`."
},
"charger": {
"type": "number",
"default": 7,
"maximum": 22,
"minimum": 2,
"description": "Home charger, kW (2-22, default 7)."
},
"daytime": {
"enum": [
"usual",
"out",
"home"
],
"type": "string",
"default": "usual",
"description": "Whether anyone's home in the day: `usual` (default), `out` (rarely – out at work), or `home` (most days). Decides how much of the panels' output the home uses."
},
"heating": {
"enum": [
"gas",
"oil",
"lpg",
"solid",
"heat_pump",
"storage",
"electric",
"other"
],
"type": "string",
"default": "gas",
"description": "What heats the home now: `gas` (default), `oil` or `lpg` (a boiler), `solid` (wood or coal: `solid_fuel` says which) – counted only with consider_heat_pump=1 – `heat_pump` (the bill includes one), `storage` (storage heaters), `electric` (panel or other direct electric heaters), or `other`."
},
"hp_cost": {
"type": "number",
"maximum": 100000,
"minimum": 0,
"description": "With consider_heat_pump=1: the quote after grants, £ (0-100000; default typical, outside Scotland)."
},
"plug_in": {
"type": "integer",
"default": 18,
"maximum": 23,
"minimum": 0,
"description": "Hour the car is plugged in, 0-23 local (default 18)."
},
"preheat": {
"enum": [
"0",
"1"
],
"type": "string",
"default": "0",
"description": "With heating=electric: `1` to heat from 1pm rather than 4pm–7pm when that's cheaper (default `0`)."
},
"heat_ppl": {
"type": "number",
"maximum": 300,
"minimum": 20,
"description": "With heating=oil or lpg and consider_heat_pump=1: what's paid a litre, pence (20-300). Oil defaults to a recent national average; LPG has no default and needs it."
},
"keep_gas": {
"enum": [
"0",
"1"
],
"type": "string",
"default": "0",
"description": "With consider_heat_pump=1: 1 to keep gas for cooking (default 0)."
},
"plug_out": {
"type": "integer",
"default": 7,
"maximum": 23,
"minimum": 0,
"description": "Hour it's unplugged, 0-23 local (default 7; the same as `plug_in`: always plugged in)."
},
"standing": {
"type": "number",
"maximum": 200,
"minimum": 0,
"description": "With tariff=custom: its standing charge, p/day (0-200)."
},
"appliance": {
"enum": [
"stove",
"fire"
],
"type": "string",
"default": "stove",
"description": "With heating=solid: `stove` (a stove or boiler, default) or `fire` (an open fire)."
},
"night_gmt": {
"enum": [
"0",
"1"
],
"type": "string",
"default": "0",
"description": "`1`: the meter keeps GMT, so its night hours are an hour later in summer (default `0`)."
},
"replacing": {
"enum": [
"0",
"1"
],
"type": "string",
"default": "0",
"description": "With consider_heat_pump=1: 1 if the boiler is due for replacing anyway (default 0)."
},
"standby_w": {
"type": "number",
"default": 20,
"maximum": 200,
"minimum": 0,
"description": "Battery standby draw, W (0-200, default 20)."
},
"battery_kw": {
"type": "number",
"default": 3,
"maximum": 15,
"minimum": 0.5,
"description": "Battery power, kW (0.5-15, default 3)."
},
"charge_eff": {
"type": "number",
"default": 90,
"maximum": 100,
"minimum": 70,
"description": "Car charging efficiency, % (70-100, default 90)."
},
"heat_spend": {
"type": "number",
"maximum": 20000,
"minimum": 10,
"description": "With heating=solid and consider_heat_pump=1: what the home spends on it a year, £ (10-20000). Needed, with heat_amount."
},
"heater_kwh": {
"type": "number",
"maximum": 30000,
"minimum": 0,
"description": "With heating=storage or electric: the heaters' own use, kWh a year, if known (0-30000; default estimated). Hot water is taken as an immersion heater."
},
"round_trip": {
"type": "number",
"default": 90,
"maximum": 100,
"minimum": 60,
"description": "Battery round-trip efficiency, % (60-100, default 90)."
},
"solar_cost": {
"type": "number",
"maximum": 100000,
"minimum": 0,
"description": "With solar=consider: the quote or kit price, £ (0-100000; default typical)."
},
"solid_fuel": {
"enum": [
"logs",
"pellets",
"coal"
],
"type": "string",
"default": "logs",
"description": "With heating=solid: `logs` (default), `pellets` or `coal` (coal or smokeless fuel)."
},
"storage_kw": {
"type": "number",
"default": 6,
"maximum": 30,
"minimum": 1,
"description": "With heating=storage: all the heaters' input power together, kW (1-30, default 6)."
},
"battery_kwh": {
"type": "number",
"default": 5,
"maximum": 40,
"minimum": 0.5,
"description": "Battery, usable kWh (0.5-40, default 5)."
},
"consider_ev": {
"enum": [
"0",
"1"
],
"type": "string",
"default": "0",
"description": "With a petrol or diesel car: 1 to see what an electric car replacing it would save (default 0)."
},
"export_rate": {
"type": "number",
"default": 12,
"maximum": 100,
"minimum": 0,
"description": "Your fixed export rate, p/kWh (0-100, default 12), with `export=fixed`."
},
"heat_amount": {
"type": "number",
"maximum": 50000,
"minimum": 0.1,
"description": "With heating=solid and consider_heat_pump=1: how much the home buys a year – logs in loose cubic metres, pellets and coal in kg (0.1-50000). Needed, with heat_spend."
},
"heat_litres": {
"type": "number",
"maximum": 10000,
"minimum": 100,
"description": "With heating=oil or lpg and consider_heat_pump=1: litres a year (100-10000; default as much heat as 9500 kWh of gas)."
},
"inverter_kw": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "Solar inverter rating, kW (0.5-50; default no limit)."
},
"night_start": {
"enum": [
"44",
"45",
"46",
"47",
"0",
"1",
"2",
"3"
],
"type": "string",
"default": "1",
"description": "The meter's seven night hours, for Economy 7 tariffs and meter-switched heaters: the half hour they start, 0-47 local (44 is 22:00 ... 3 is 01:30; default 1, 00:30-07:30)."
},
"battery_cost": {
"type": "number",
"maximum": 100000,
"minimum": 0,
"description": "With battery=consider: the quote, £ (0-100000; no default – no payback without one)."
},
"export_limit": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "Export limit set by the network operator, kW (0.5-50; default none)."
},
"storage_meter": {
"enum": [
"1",
"0"
],
"type": "string",
"default": "1",
"description": "With heating=storage: `1` (default) the meter switches them on in its night hours (and Snug Octopus can schedule them), `0` their own timer, in the cheapest night half hours."
},
"battery_export": {
"enum": [
"terms",
"all",
"solar",
"never"
],
"type": "string",
"default": "terms",
"description": "What the battery may export: `never`, even where the export tariff peaks; `solar`, only what it stored from the panels, even on Octopus's; `terms` (default), what the terms pay for – on Octopus's anything it holds, on other export tariffs only what it stored from the panels; `all`, anything it holds, on any export tariff (check the supplier pays for grid-charged export)."
},
"battery_charge_kw": {
"type": "number",
"maximum": 15,
"minimum": 0.5,
"description": "Battery charging power, kW (0.5-15, default `battery_kw`)."
},
"consider_heat_pump": {
"enum": [
"0",
"1"
],
"type": "string",
"default": "0",
"description": "With a boiler (heating=gas, oil or lpg), wood or coal (heating=solid), or storage or electric heaters (heating=storage or electric): 1 to see what a heat pump replacing them would save (default 0)."
},
"battery_discharge_kw": {
"type": "number",
"maximum": 15,
"minimum": 0.5,
"description": "Battery discharging power, kW (0.5-15, default `battery_kw`)."
}
},
"additionalProperties": false
}| export |
| string |
| How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own). |
| region* | string | Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each. |
| tariff | string | A tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`. |
| battery | number | Usable battery, kWh (2-50, default 10). |
| reserve | number | Never below this, per cent (0-90, default 0). |
| solar_kwp | number | The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section. |
| round_trip | number | Round-trip efficiency, per cent (60-100, default 90). |
| export_rate | number | A fixed export rate, p/kWh (0-100). |
| solar_pitch | number | Their angle from flat, degrees (0-90, default 35). |
| export_limit | number | The home's export limit, kW (0-30, default 3.68: a G98 connection). |
| solar_facing | string | The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S. |
| grid_charging | string | `1` (default) may charge from the grid; `0` only from the panels. |
| battery_export | string | What the battery may export: `terms` (default) what the export terms pay for – on Octopus's export tariffs everything, on the others only what the panels put in; without panels everything, once `export` is given; `all` what it charged from the grid too, on any export tariff – check the supplier pays for that; `solar` only what the panels put in, even on Octopus's; `never`. |
| solar_inverter_kw | number | The inverter's limit, kW (0.5-50), if smaller than the panels. |
{
"type": "object",
"required": [
"region"
],
"properties": {
"soc": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "The battery's charge now, per cent (0-100). Default: at its reserve."
},
"rate": {
"type": "number",
"default": 3,
"maximum": 15,
"minimum": 0.5,
"description": "Charge and discharge rate, kW (0.5-15, default 3)."
},
"wear": {
"type": "number",
"default": 2,
"maximum": 20,
"minimum": 0,
"description": "The battery's wear for each kWh it gives back, pence (0-20, default 2)."
},
"usage": {
"type": "number",
"default": 2500,
"maximum": 30000,
"minimum": 500,
"description": "The home's electricity use, kWh a year (500-30000, default 2500)."
},
"export": {
"enum": [
"paired",
"fixed",
"fit",
"none",
"agile-outgoing",
"outgoing",
"prime-outgoing",
"flux-export",
"octopus-seg",
"eon-next-flex-export",
"eon-next-export-exclusive",
"eon-next-export-premium",
"edf-seg-variable",
"edf-seg-variable-value",
"edf-export-exclusive"
],
"type": "string",
"description": "How export is paid: `paired` (the tariff's own export tariff, default), `fixed` (with export_rate), `fit` (the Feed-in Tariff's deemed export: paid whatever is exported, so the sun used at home gives nothing up), `none`, or an export tariff's key from list_tariffs?direction=export (used where the tariff can have it, else its own)."
},
"region": {
"type": "string",
"description": "Agile region: a letter A-P or the slug from list_regions (eg `C` or `london`); list_regions lists well-known places in each."
},
"tariff": {
"type": "string",
"default": "agile",
"description": "A tariff's key from list_tariffs (default `agile`), eg `go`, `edf-go-electric`, `eon-next-drive`."
},
"battery": {
"type": "number",
"default": 10,
"maximum": 50,
"minimum": 2,
"description": "Usable battery, kWh (2-50, default 10)."
},
"reserve": {
"type": "number",
"default": 0,
"maximum": 90,
"minimum": 0,
"description": "Never below this, per cent (0-90, default 0)."
},
"solar_kwp": {
"type": "number",
"maximum": 50,
"minimum": 0.2,
"description": "The home's solar panels, kWp (0.2-50): the answer then counts their forecast spare sun – see the docs' Solar panels section."
},
"round_trip": {
"type": "number",
"default": 90,
"maximum": 100,
"minimum": 60,
"description": "Round-trip efficiency, per cent (60-100, default 90)."
},
"export_rate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "A fixed export rate, p/kWh (0-100)."
},
"solar_pitch": {
"type": "number",
"maximum": 90,
"minimum": 0,
"description": "Their angle from flat, degrees (0-90, default 35)."
},
"export_limit": {
"type": "number",
"default": 3.68,
"maximum": 30,
"minimum": 0,
"description": "The home's export limit, kW (0-30, default 3.68: a G98 connection)."
},
"solar_facing": {
"type": "string",
"description": "The way they face: S, SE, SW, E, W, NE, NW or N – or a bearing in degrees (south is 180). Default S."
},
"grid_charging": {
"enum": [
"1",
"0"
],
"type": "string",
"default": "1",
"description": "`1` (default) may charge from the grid; `0` only from the panels."
},
"battery_export": {
"enum": [
"terms",
"all",
"solar",
"never"
],
"type": "string",
"default": "terms",
"description": "What the battery may export: `terms` (default) what the export terms pay for – on Octopus's export tariffs everything, on the others only what the panels put in; without panels everything, once `export` is given; `all` what it charged from the grid too, on any export tariff – check the supplier pays for that; `solar` only what the panels put in, even on Octopus's; `never`."
},
"solar_inverter_kw": {
"type": "number",
"maximum": 50,
"minimum": 0.5,
"description": "The inverter's limit, kW (0.5-50), if smaller than the panels."
}
},
"additionalProperties": false
}