Skip to content

Intelligent octopus go

RGx01 edited this page Jun 26, 2026 · 1 revision

Intelligent Octopus Go

On Intelligent Octopus Go (IOG), Octopus smart-charges your EV in dispatch slots at the cheap off-peak rate — and those slots can fall outside the standard overnight cheap window, at times the tariff schedule alone wouldn't predict. EMT handles this with a dispatch overlay: it captures the smart-charge slots as they happen and prices the affected energy at the dispatch rate.

This page explains how the overlay is built, how to switch it on per device, which chargers it works with, and an important honesty note about how accurate the dispatched-cost figure is.

ℹ️ New to rates in general? Start with Rates and Tariffs — this page is the IOG-specific deep dive it links to.


What you need

Requirement Notes
An IOG tariff on Octopus The overlay is specific to Intelligent Octopus Go.
Data-source mode with the API The overlay needs your Octopus account — set up via Supplier Settlement.
An EV charger added as a Device See Configuring Meters.

How the dispatch overlay is built

EMT prices IOG in two layers:

  1. Base schedule — every half-hour is first priced from your tariff's standard rates (peak / off-peak windows), exactly like any other tariff.
  2. Dispatch overlay — for half-hours outside the standard cheap window, if the slot was a smart-charge dispatch, its rate is adjusted from peak down to the off-peak rate.

The overlay is constructed like this:

  • Captured live. Every few minutes, EMT checks whether a smart-charge dispatch is active right now and, if so, records the covering half-hour slot as off-peak. The signal it trusts is a started dispatch — one that is both planned and actively executing — snapped to the half-hour boundary.
  • Stored as it happens. Captured slots are persisted, because — unlike standard rates — dispatch data is ephemeral and cannot be fetched back later (planned slots are removed from the API, often the same day; completed dispatches don't say why they happened). This is the one part of pricing that can't be reconstructed retrospectively — see Rates and Tariffs.
  • Applied twice, idempotently. The overlay is applied when a block finalises (provisional) and re-applied at DCC settlement, each time recomputed from (base schedule + captured slots) rather than adjusted in place — so repeated reconciliation can never double-discount.
  • Meter-validated. A small 0.1 kWh floor means a dispatch slot only reprices energy that was actually drawn, so meter jitter or an idle slot doesn't trigger a spurious discount.

⚠️ Because slots are captured live, a dispatch that happened while EMT was not running can't be recovered. That block stays at the standard rate until you correct it (see below).


Enabling dispatch pricing per device

The overlay is applied per device via a "use dispatch overlay" rate option in Settings → Meter Config (see Configuring Meters). Turn it on for your EV charger so its charging bills at the dispatch rate, while the rest of the house stays on the standard tariff.


Which chargers work

Support is capability-based, not a fixed brand list — what matters is whether Octopus exposes dispatch data for your setup:

Setup Dispatch pricing
Vehicle integrations (Tesla, VW, etc.) ✅ Dispatch data available — overlay applies.
Zappi ✅ Works (the smart-charge signal is exposed).
Ohme ✅ Supported, handled conservatively — Ohme reports charging differently (billing comes from completed sessions), so its handling ships cautiously and improves with real-world feedback.
Hypervolt via the charger route ❌ Octopus does not expose dispatch data through the public API for charger-only setups. The charger is still metered, but smart-charge slots price at the standard rate and are marked "priced without dispatch data." The same car via a vehicle integration would work.

ℹ️ If you run the BottlecapDave Octopus integration, EMT reads its intelligent_dispatching sensor to identify dispatch slots rather than deriving them itself — its provider-specific handling is already correct, so EMT doesn't duplicate it.


Tightening Ohme accuracy with the Ohme integration

Ohme is the hardest case for dispatch pricing: Octopus's own dispatch data for Ohme can't reliably separate a genuine smart-charge (→ off-peak) from a boost / Max-charge (→ peak). By default, EMT therefore prices Ohme smart-charge slots optimistically (assume off-peak, marked) — as described above.

Installing an Ohme Home Assistant integration lets EMT do better, because it exposes the charge mode directly:

  • Official ohme integration — a charge-mode entity reading Smart charge / Max charge / Paused (Max charge = boost). Meaningful only while the car is plugged in.
  • Unofficial dan-r/HomeAssistant-Ohme — a Charge Slot Active binary sensor that mirrors Octopus's dispatch attributes.

With either present, EMT reads the live charge mode and — crucially — confirms it against the actual meter draw it already sees. A slot is then priced off-peak only when the charger was in Smart-charge mode and genuinely drawing power, and boost/Max-charge slots correctly stay at peak. That tightens Ohme pricing from an optimistic guess into a verified result.

ℹ️ This handling ships conservatively and improves with real-world feedback from Ohme users. The charge-mode signal is intent; it's EMT's meter reading that makes it trustworthy — something a pure dispatch consumer can't do.


How accurate is the dispatched cost?

Honest answer: the dispatched-cost figure is a best estimate, and it can differ from your real Octopus bill — usually by under-stating it slightly.

  • Where EMT has a verified started-dispatch signal (most vehicle integrations, Zappi), the off-peak pricing is reliable.
  • Where it can only infer a smart-charge (e.g. Ohme's completed-session data, or an ambiguous slot), EMT optimistically assumes off-peak and marks the block. This is a deliberate choice — smart charges dominate, so assuming off-peak is right more often than not — but it means those slots may be priced cheaper than Octopus actually billed (for example, a planned slot where the car wasn't actually commanded is billed at peak by Octopus).

DCC settlement corrects the kWh authoritatively; the dispatch rate for smart-charge slots remains a best estimate. Marked blocks are auditable, and you can correct any that matter.

ℹ️ Treat the dispatched-cost total as indicative, not a penny-exact reproduction of the Octopus bill.


Fixing a slot that priced wrong

If a smart-charge slot priced at standard rate (EMT was down when it happened, or a charger route with no dispatch data), or an optimistic slot needs correcting, use the block correction tool to set the right rate — see Data Management.

⚠️ In API billing modes, corrections on a block are gated until it has been DCC-settled. See Supplier Settlement.


Related pages

Clone this wiki locally