A Saving Session is Octopus Energy’s name for a Demand Flexibility Service (DFS) event. It an opportunity to earn a bit of money by saving energy for an hour or so. Last year I wasn’t really able to take advantage of these sessions as our battery meant we didn’t typically use any energy at those times and it’s pretty hard to reduce 0kWh. This year though exporting energy is included in the schema so I can get paid for exporting my battery to the grid during a session.
SolarEdge did have their own DFS scheme last year that did include exporting but I wasn’t impressed by their approach to it, they’d lock you out of using your battery for a few hours before the session so they could charge it, discharge it during the session and then recharge the battery afterwards, with no consideration to the tariff rate at that time, so I didn’t participate in that (I also wasn’t convince SolarEdge would manage to pull it off successfully as their track record with battery control software is a little patchy in my opinion).
Automating it
If you’ve read my previous posts you’ll know that I’ve already added the ability to make my SolarEdge battery discharge through Home Assistant, I wanted a way to automate the scheduling of this though, most sessions take place between 1600-1700 and I can often be busy with work and forget to do things exactly on time. I also don’t have remote access to my Home Assistant installation so I wanted something to take care of the sessions that occur when I’m not home.
As with most Home Assistant things, someone else has already done the bulk of the work, I just need to plumb some things together.
Local Calendar
I leverage the Local Calendar integration for this automation. I created a “Savings Session” calendar, which will get events added to it for each session.
Discovering The Session
To discover when a Saving Session is happening, opt-in and schedule it I used BottlecapDave’s Octopus Integration.
This integration emits events when new sessions are added to the Octopus API and has a service action to opt-in.
The Automations
There are 2 Home Assistant automations required to make it all work
Opt-in and Scheduling
Triggers
The automation is triggered by the octopus_energy_new_octoplus_saving_session event
Conditions
None
Actions
- Call calendar create event, use a template to grab the start and end date and time from the event.
- Opt-in to the session by calling the service on the integration
- Send me a notification
You can find the yaml for this one on my github
The Session Itself
Triggers
- Saving Session calendar event start
- Saving Session calendar event end
Conditions
None
Actions
If use an if/else action that does one set of actions for an event start and another for event end
Event Start
- Turn off my Intelligent Octopus Go battery automation (having multiple things attempting to control the battery at the same time will end up with issues)
- Turn off the “smart charging” aspect of Intelligent Octopus Go, Octopus don’t seem to have integrated Intelligent with Savings Sessions themselves yet, I don’t want them to be charging the car during a session.
- Turn on my Zappi control automation, it’s normally disabled when Intelligent Octopus is in control of it
- Set my Zappi to “stopped”, if I started discharging my battery the Zappi would see the export and start charging the car if it was left in Eco+ mode.
- Call my set battery mode script to set the battery to
Exportmode.
Event End
Reverse the event start steps
- Call the set battery mode script to set the battery to
Self Consume - Set the Zappi back to Eco+
- Disable the Zappi automation (for handing control back Octopus)
- Enable “smart charging” of Octopus Intelligent
- Enable my Intelligent Octopus battery charging integration
As always, the yaml is on github.
Wrap Up
It works, mostly. I’ve seen the call to the Octopus API to opt-in fail so I need to add some additional logic to cope with that. I can opt-in from the Octopus app on my phone so that’s not the end of the world.
I haven’t bothered with any discharge limits or minimum battery percentage. The sessions are typically either 1 hour or 1.5 hours. With my 5kW inverter and 9.7kWh battery that means roughly 50% or 75% discharge during a session.
The price per kWh the saving sessions offer means that even if I end the session with 0% battery and have to then use peak rate grid electricity to for the rest of the evening, it’s still financially better to do that rather than hold any battery capacity back.