DESS and UK Intelligent Octopus Go and charging sessions

Since the integration of IOG within ESS, I’ve been using it at home and it works well: via the API, I get the correct pricing for the two main fixed time slots: £0.07/kWh overnight (23:30 - 05:30) and their fixed day rate £0.264. I also have the flat sell price of £0.15/kWh 24/7.

This is great. Except for one thing: if I plug my car in the day, Octopus will often give extra charging slots in 30-minute increments. This is linked to one of their compatible EVSEs (I have both a Wallbox and use the Tesla API, both which work fine) which tells the car to charge during the window that’s triggered by Octopus. During that time, I benefit from the cheap £0.07/kWh for the whole house (not just the car).

The issue is that these bespoke charging sessions are not picked up by DESS. So when a charging session starts at 7kW (the charging power my car can take), it empties my batteries using the MultiPlus 5kVA, maxing out at over 4kW, pulling the other 3kW or so from the grid.

Of course, the 3kW pulled from the grid is at £0.07 but the issue is I then end up with an empty battery when the charging session ends and so my house can no longer run off the battery at the peak time, until the fixed cheap overnight slot kicks in at 23:30.

So my question is twofold:

  1. Is it possible for Victron to obtain those charging sessions via the API? Maybe it’s not available, I’m not sure (maybe because it’s in effect a custom thing that changes on the fly when you plug the car in).
  2. If an “automatic” thing isn’t possible in DESS, is there a way this could be programmed using the Node Red integration in the Cerbo?

Thoughts?

Currently, I’m having to manually configure a scheduled battery charging session via the Cerbo’s Remote Console for the duration of the mid-day window Octopus gives me, but it’s a bit of a faff and if the whole process could be automated, that would be awesome.

Many thanks!

1 Like

Hi I’m not using DESS but I have the api via home assistant and the charging vehicle does not toggle the intelligent dispatch API I look at my car charging for about 5 or so minutes before the intelligent dispatch triggers PS this is when you are in the am charging window so I don’t believe this is a Victron issue or a problem at all, best bet is to set the system to charge when the vehicle does that way you can get in that extra 30min slot

At the moment, that’s what I’m doing. I just wondered if there was a way to have it done automatically assuming the cheap rate slot was published via the API.

Hi I know you can do this automagically on home assistant not sure how you can do this automatically other wise

I did search on how to do this with HA but never found a conclusive answer. But if the data is somehow available to HA, I would assume it could be used with NR as well.
Going down the HA route could be an option but I’d need some detailed instructions on how it’s done (I’m an HA newbie). Do you have a guide that allowed you to say it works with HA?

After doing some digging, it looks like getting the Octopus charging session is tricky / not possible because the list of dependencies including GraphQL take up more space than available on the Cerbo’s storage.

I’m now looking at an alternative way: integrating my Pulsar Plus Wallbox EVSE. This is controlled by Octopus and if I get the status from the EVSE unit instead which might be simpler, then this will do :slight_smile:

Hi no guide there is an application on HACS for Victron which would pull the entities in if you have an aftermarket charger you would need the charger integration or have an ET device or a Shelly device connected to it so home assistant could integrate the charger I’ve done a screen shot of the app

Unfortunately home assistant is not just one program app you kinda just have to jump in there are lots of videos on home assistant the Victron bit is just and add on which is straight forward and then you configure the things you want it to do

Looks like Wallbox is in HA

The API still doesn’t allow you to know when the free times are can’t say I’ve ever watched but I’ve never seen it, but I never seen it change on the API my charge is also integrated to Octopus but 30min windows not shown
Here is my automation I’ve disabled it charging from the charger at the mo but might look at it again but really need to sit down and watch it to see to be honest if it does trigger intel dispatch

Hey folks!

I’m wondering if anyone has figured out a way to solve this issue?

It is possible to fetch the charging times from octopus: GitHub - megakid/ha_octopus_intelligent

This uses the graphql client, which could be implemented with a very thin client since it’s a couple of graphql queries.

I have created a PoC here: octopus_dispatches.py - Python script to fetch Intelligent Octopus Go dynamic charging slots · GitHub

Output:

```
(domhauton) [23:59:05] [~] ❱❱❱ ./octopus-dispatches.sh --api-key sk_live_REDACTED --account A-REDACTED
:key: Authenticating with Octopus Energy API…
:white_check_mark: Successfully authenticated
:satellite_antenna: Fetching planned dispatches for account: A-REDACTED

:crystal_ball: Planned Dispatches (2):

  1. Start: 2025-08-24 23:00:00+00:00

    End: 2025-08-25 03:30:00+00:00
    Charge: -7.54 kWh
    Source: smart-charge
    Location: None

  2. Start: 2025-08-25 03:30:00+00:00

    End: 2025-08-25 04:00:00+00:00
    Charge: -0.46 kWh
    Source: smart-charge
    Location: None

:floppy_disk: Data saved to: octopus_dispatches_20250824_235920.json

:white_check_mark: Operation completed successfully
```

What could we do to add this to the DESS for Octopus Energy?

I now have it working beautifully and fully automated. But I’m using Home Assistant - I gave up on trying to do it with just the Cerbo and/or Node Red, and as I was playing around with HA, I designed an automated workflow that now means I have it working.

Using the Octopus Energy HACS plugin, I can get all the rates and the smart charging schedules as they’re published by Octopus when I plug my EV into the Pulsar Wallbox.

So when I plug my EV in:

  • The Wallbox EVSE, via the configured OCPP protocol, informs Octopus that the car is plugged in.
  • Octopus then schedule extra charging schedules based on their internal algorithm.
  • Charging Schedules are then made available via the HA OE API.
  • I’ve now configured an automation within HA to effectively change the settings of an ESS charging schedule
    • I’ve chosen the last charging schedule slot within ESS to be used for EV charging.
    • That charging slot can be 24/7, or can be limited if we really wanted to limit charging times.
  • The ESS charging slot is then enabled / disabled by HA via the integration with Victron over MQTT.

As a result, when my EV is plugged in and Octopus provide an extra charging session, HA picks up on this, and at the given time, enables my dedicated ESS charging slot. This in turn allows the use of the grid (so the car is charged from the grid), and also charges the house batteries. I have a failsafe automation that every few minutes, confirms the charging window is still enabled by Octopus, and if it doesn’t get an affirmative response, it will disable the charging session. I opted to do it that way in case HA was unavailable just at the time Octopus stopped the schedule to ensure I wouldn’t “miss” the status change.

I’ve had it set up for a few months, and it just works (as long as I haven’t broken something in HA!)

That’s awesome. I’ll try to set up something similar as a patch.

I really hope that DESS can leverage the new API endpoint. There’s so much potential, especially since the Octopus API now announces exactly how much it plans to charge in that window.

It could really help with the energy consumption prediction. DESS could realise that it’s an unusual load and subtract it for future predictions as well as starting export early ahead of the cheap charging slot.

I gave up using any Cloud API’s (too unreliable)

I use the second channel on my Shelly EM with a CT on the EV circuit

Any time the car charges - the batteries charge ( I realise I could refine this with SOC etc or change the behaviour)

Here’s what I’ve done for mine in HA.

As mentioned, this is using MQTT rather than Modbus TCP as I prefer its frequent status update and immediate control.

With the Octopus Energy integration, you will have an entity / sensor binary_sensor.octopus_energy_<account>_intelligent_dispatching. This can take two values: On and Off which follow the signalling Octopus Energy provide when your EV is plugged in and the EVSE is connected to Octopuse via the OCPP protocol (via a supported EVSE in the Octopus app).

I then track that and create an automation:


- id: '1747167936295'
  alias: Configure Victron ESS Scheduled charge following Octopus Charging session
  description: ''
  triggers:
  - event: start
    trigger: homeassistant
  - minutes: /1
    trigger: time_pattern
  actions:
  - choose:
    - conditions:
      - condition: state
        entity_id: binary_sensor.octopus_energy_<Octopus Account>_intelligent_dispatching
        state: 'on'
      sequence:
      - data:
          topic: victron/W/<VRM ID>/settings/0/Settings/CGwacs/BatteryLife/Schedule/Charge/4/Day
          payload: '{"value":7}'
        action: mqtt.publish
    default:
    - data:
        topic: victron/W/<VRM ID>/settings/0/Settings/CGwacs/BatteryLife/Schedule/Charge/4/Day
        payload: '{"value":-7}'
      action: mqtt.publish
  mode: single

Where every minute, HA checks for whether the intelligent dispatching is set to On. If it is, then it changes the value of the 5th charging session number (it starts at 0, hence the 4 in the MQTT topic) to 7. This effectively enables it for every day.

Then, as to disable and also act as a safeguard, if ever the "intelligent dispatching is not set to on, then it will effectively disable the charging session in ESS by setting the charging schedule to -7 which basically means never enabled.

@dmsims , yours also works. The only issue is that it will only work if the EV is actually charging. In my case, if the car is fully charged, then it won’t of course pull any power, but if you still have it plugged in, Octopus still provide charging sessions so I use those to charge the house battery at the cheap rate :grinning_face: