Feature Request; Elspotprices for the Nordics #1926

Bug Report or Feature Request (mark with an x)

- [ ] bug report -> please search issues before submitting
- [x] feature request

Bug description or desired functionality.

I would like to have the Day ahead spotprices in DK and neighboring countries implemented like the Tibber, aWattar, Stromdao functionality. It should however also be possible to enter a variable DistributionSystemOperator costs on top, which in Denmark is different between summer and winter (is regulated every year) and the operating hour, eg. [in DKK/kWh]
Winter tarif (oct-mar);
low load (24-06); 0,2126
high load (6-17 +21-24); 0,6379
Peak load (17-21); 1,9135

Summer tarif (apr-sep)
low load (24-06); 0,2126
high load (6-17 +21-24); 0,3189
Peak load (17-21); 0,8291

Hi there,
thank you for the idea!
I assume you are looking from the DSO perspective to the electric grid.

Can you please elaborate a little what you are looking for?
What is the use case for showing the day ahead prices?


Hi Lorant

No I’m looking at it from a consumer/prosumer perspective. In Denmark many consumers and prosumer is purchasing their electricity on the SpotMarket (Nordpool). However we also have implemented time differentiated tariffs from the DSO (it’s different from each DSO’s) which influences the total kWh prices quite significantly. Therefore this will be a valuable input to the scheduler/controller of OpenEMS. I hope this gives you a better overview - otherwise don’t hesitate to reply then I’ll try to explain a concrete use

Br. Lars

I would like to hear your opinion on this topic.
If i got it right, it would be possible to “configure” your own TimeOfUseTariff.
For example the 96 15minute values are configured by JSON or by configuring a csv file like the simulater datasources.

Best Regards,

If I understand you correctly, the requirements are similar to any other time-of-use tariff provider.
The only addition I am seeing is the “DistributionSystemOperator costs” which are not available directly along with prices.
I would keep the winter and summer tariffs configurable and enter them manually through JSON format, just the way we do with Daily Scheduler like below. and change the total cost during the parsing of prices.


Ok, so if I understand correctly the end-customer (consumer/prosumer) price per kWh is calculated from the Elspot spot-market price plus the DSO fee?

  • the Elspot provides a well documented API (Webpage, API-guide). Would have to dig into this, but it seems to require a PriceArea parameter and provides hourly prices in different currencies (Example)
  • the DSO fee is depending on parameters Winter/Summer and hour of the day and is different per DSO, right?
    • do the DSOs have an API for this or does it have to be configured manually/individually?

I am asking, because OpenEMS targets scalability (out of experience with ten-thousands of systems in the field). It does not scale well if such parameters have to be configured manually on the Edge if they are shared by many users. That’s why we currently prefer web-services that provide actual end-customer prices like Awattar, Stromdao and Tibber do.

If there is no public API available that calculates the final price, then maybe the better approach would be to create a separate microservice as a cloud service (e.g. hosted by OpenEMS Association) which then provides the final price via an API.

Could you provide some example calculations for actual end-customer-prices. As well as a list of different DSOs and their prices for us to get a better overview of the entire picture?


1 Like

Hi Stefan

You’re quite right. As an example you can see the below Github repository for an Home Assistant application - see below visual output from that application from todays prices.

The actual data which is used can be found here.

I hope this input give you a better idea of how the prices are calculated and how you hopefully can implement it for the Danish market. It’ll be quite helpful. If you need any further support or eg. a pilot installation don’t hesitate to contact me. I’ll gladly help however Java is not my forté.

Br. Lars

Hi Sagar

You’re completely right. However please have a look at my reply to Stefan Feilmeier where you can also see how the data can be fetched via API.

Br. Lars

@stefan.feilmeier - did you get all the info that you needed or is there something else that I can do? If you can guide me a bit then I could of course also try to do some of the programming myself?
Br. Lars

Hi Lars,

Out of personal interest, I am currently starting to implement a Time-of-Use implementation for the ENTSO-e platform.

They also support the Denmark pricing area. Do you think such an implementation could supersede a specific Elspotprices implementation?

Nevertheless if not… this post at least serves to notify, that I am planning to implement more international day-ahead price providers. Sorry for the late reply.


Hi Stefan
Thank you so much for involving yourself in this matter. I’ll have a look at your proposal and provide a feedback shortly whether it’ll fit for the Nordics.
Again, thanks a lot.
Br. Lars

Hi @stefan.feilmeier. I’ve had a look at the suggestion. Unfortunately this will take in the pure spot price/hour (excl. VAT). However this is “only” a fraction of the total price. The Transmission System Operator (TSO) & Distribution System Operator (DSO) tariff is not included. This make a huge difference in the Nordic countries as we have implemented time differentiated tariff (even summer and winter influenced). So I hope that you can develop the pricing input in a way where the TSO+DSO tariffs can be put on top - as this have a huge impact on how the Scheduler/Controller such react. Please see below examples where you see the “pure Spot Price” and the “All-inclusive Spot Price + TSO+DSO tariff”. But no doubt that the pure “Spot Price” can be imported from the ENTSO-E instead of taking it from the pure Danish portal. I hope this gives you some clarity. Let me know what you think.
Br. Lars

Yes, my plan was to add manual configuration parameters that allow calculating the “All-inclusive” price from the “spot-price”. As you mentioned, that would be e.g.

I might get back to you on this when defining the details.

From my understanding that would have been the same for Elspot, right? In other words: my assumption was, that Elspot provides exactly the same spot-prices as ENTSO-e - is that true?


Hi Stefan. If the manual configuration will be possible then I think that we would cover more countries in one go - so perfect. Via the API from Energinet (the Danish TSO) you would however be able to fetch remaining parameters (which have been done by MTrab at GitHub - MTrab/energidataservice: Fetches spot prices from Energi Data Service). But I haven’t seen other countries in eg. the Nordics where this is publically available so the manuel configuration might be better so it can be useful for as many countries as possible. You’re more than welcome to reach out to contribute defining the details and/or try it out to verify the calculation. Br. Lars