Energy monitoring: Adding a new contract

Since December I subscribed to a new Peak Hours / Off-Peak Hours contract with Octopus.

hi @jparbel
I can already tell you that it’s not that simple since I’ve already done this for Electricité de Strasbourg.
In fact you need to recreate a new octopus directory.
Then you copy the peak-off-peak folder from EDF (for example) and there you can rename:
image
Then you modify the CSV file with the information you have (well that’s what I did; @prohand did it differently for Alpiq).
After that you need to run the scripts process.js and process.test.js:
image

Thanks @mutmut but my question is about being able to identify a special contract (fixed prices) compared to Octopus’s “normal” contract.

Indeed, I’ll let @pierre-gilles respond to you because I have no idea.
In any case, you must not rename anything inside contract.json

No, you must not modify the « contract » field which must be exactly « base » or « peak-off-peak » or « edf-tempo ».

The contract name is the folder name!

Thanks @pierre-gilles I have noted

@pierre-gilles I’ve made a PR “ mise-a-jour-tarifs-octopus” I don’t know if it’s okay, it’s my first!

I think you probably didn’t create the PR, there’s nothing in the repo:

https://github.com/GladysAssistant/energy-contracts/pulls

@pierre-gilles I just recreated the PR, I don’t understand why the first one disappeared, everything seemed to be going well though — can you check again? Thanks

It’s good this time!

Heads up, there’s a spelling mistake in the folder name — you wrote « noins-cher » instead of « moins-cher » :slight_smile:

@jparbel with your latest changes, the tests are failing ( Mise a jour tarifs octopus · GladysAssistant/energy-contracts@e43b9dd · GitHub )

The message:

❌ TEST FAILED:
octopus-eco-conso-fixe-peak-off-peak[6]: Missing subscription price for date range 2024-06-01|2025-01-14

Data is missing!

@pierre-gilles

Sorry, I think it should be fine now. My tests were fine before the push, but it pushed the wrong file — probably a beginner mistake.

Thanks for the push!

I don’t know if it’s a good idea to have folder names with a percentage (« octopus-eco-conso-fixe-12% »), could we have a name that’s alphanumeric-only with « - » and without special characters?

Modification completed.

Actually I feel like you’ve mixed up the contract name and the supplier name!

You should have a folder « supplier ».

In your case:

  • « octopus »
  • « mint »

And inside that folder, you create a folder per contract:

  • « online-et-green-peak-off-peak » for example

Ah OK, so you want, for example, the following hierarchy :
[octopus]

. [eco-conso-fixe]

. [base]
. contract.json
. ………
. [peek-off-peek]
. contract.json
. …….…

. [energie-moins-chere-ensemble-2025]
etc…

Is that right?

I can’t get my post to indent correctly

@pierre-gilles I just recreated a PR, does this structure work for you?

Thanks!

No, that’s not it :smiley:

Look at the structure of the other folders, there are only 2 levels, not 3 levels.

Use the « electricite-de-strasbourg » folder as inspiration; it’s close to what you want to do.

Level 1, the suppliers:

Screenshot 2026-01-25 at 14.12.56

Level 2, the contracts:

![Screenshot 2026-01-25 at 14.13.03|638x298](upload://hfV3Q4R4IvDOiTkEI0Z

@pierre-gilles New PR tonight :grinning_face: I think this should work for you now, sorry for the back-and-forth!

Thanks for your feedback, it’s better but there’s one last small detail to change!

If we want the contract type (base, peak-off-peak, tempo) to be translated in the interface, the contract name in the folder name must end with « base » or « peak-off-peak » or « tempo »

In your case, you did it the other way around :slight_smile: