Octopus Go with Emoncms - a simple approach

I subscribe to Octopus Go - a tariff that gives me 4 hours (00:30 - 04:30) of very inexpensive electricity (at the moment 7.5p/kWh). And of course I wanted to get this into my emoncms dashboard/graphs with as little effort as possible.
Basically what I wanted to do is to split data from my main feed to the house into 2 distinct feeds, one for consumption during low price time, and one during high cost time (I already have a feed for the sum of these - the standard main feed monitoring which I would like to keep).
There are lots of methods to do this already - in theory, but all of them are either too complex for me, or does not work).
As an example the TimeOfUse apps will not work for me as they seem to map the data wrongly and give me negative values for total consumption. I’m too lazy to debug these.
But it turns out that Emoncms already have the tools I need built into the combination of “Schedule” and “Input process list” to give me this

(and I hope the image made it through to the topic here - never tried this before)

You should here see the 2 feeds with “cheap tariff” as green colour and “normal tariff” as blue.

Btw. all car charging goes into the “cheap tariff” at night, together with consumption for our hot water tank. I have also split out the car charging data as a separate sub feed in emoncms, but that is for another topic.

Under “Schedule” I have one entry

for “Octopus_low_rate” for the time interval “00:30-04:30”
And the rest happens under “Inputs” - please ignore some of the suboptimal stuff in there - this has evolved organically, not through proper design.

So in other words very simple as soon as I understood the concepts behind inputs and schedules.

Feel free to tear apart and use - or ignore my rambling description.

I publish all the data to MQTT - and use it for simple displays around the house to make us aware of the energy usage in real time.


Hi Tor! Welcome to the forum.

I really like what you’ve done here, very neat. I’ll probably be back to copy it when I eventually get onto this kind of tariff.


I had the same requirement and the same issues with the existing apps. I also discovered schedule and once I had (through trial and error) got them to work got a similar result to you (my graph shows power consumption for the past week, blue is peak and yellow off peak. I replaced the electric car with a Tesla Powerwall (!!) and with a little help from solar now have reduced peak usage to practically zero despite having a large Air Source Heat Pump installed. The usage won’t look as pretty over the next 4 months, but with no heating oil bill to pay and the RHI payment I still save.

I will pore over your feed processes and compare to mine and post them when I work out how.


Just to follow up. I used two schedules and created two virtual feeds for peak and off peak usage.



Excellent! - the only difference to me is that I have only one schedule - the off-peak one, as anything that is not “off-peak” is by definition Peak in my thinking.
I also do “if schedule, ZERO” instead of nulls - but that is just my engineering brain using NULL as a sign that no data came through as opposed to ZERO which means (to me) that data existed, but there is no consumption.
The results are the same. (-;

1 Like

To be honest, I had to use trial and error to determine the right logic for the schedule process - the documentation was limited and the logic made little sense to me - but what the heck, it only took a few attempts to get the result I wanted!!!