Hi
I am using the custom integration Nordpool (available in HACS) and have setup a sensor including all the tarifs, taxes etc
It is quite a challenge to keep up with as things change month by month. I want to share what I have done to try and make the installation flow
- platform: nordpool
VAT: True
price_in_cents: false
low_price_cutoff: 0.9
region: "DK2"
precision: 2
price_type: kWh
additional_costs: >
{% set transmission = [ 0.0725, 0.0725, 0.0725, 0.0725, 0.0725, 0.0725,
0.0725, 0.0725, 0.0725, 0.0725, 0.0725, 0.0725 ] %}
{% set system = [ 0.0675, 0.0675, 0.0675, 0.0675, 0.0675, 0.0675,
0.0675, 0.0675, 0.0675, 0.0675, 0.0675, 0.0675 ] %}
{% set elafgift = [ 0.0100, 0.0100, 0.0100, 0.0100, 0.0100, 0.0100,
0.8713, 0.8713, 0.8713, 0.8713, 0.8713, 0.8713 ] %}
{% set netc_low = [ 0.2126, 0.2296, 0.1886, 0.1886, 0.1886, 0.1886,
0.1886, 0.1886, 0.1886, 0.1886, 0.1886, 0.1886 ] %}
{% set netc_high = [ 0.6379, 0.6889, 0.5660, 0.2830, 0.2830, 0.2830,
0.2830, 0.2830, 0.2830, 0.5660, 0.5660, 0.5660 ] %}
{% set netc_peak = [ 1.9135, 2.0666, 1.6980, 0.7359, 0.7359, 0.7359,
0.7359, 0.7359, 0.7359, 1.6980, 1.6980, 1.6980 ] %}
{% set provider = 0.057 %}
{% set hour = now().hour %}
{% set month = now().month - 1 %}
{% set extras = transmission[month] + system[month] + elafgift[month] + provider %}
{% if hour >=0 and hour < 6 %}
{% set extras = extras+ netc_low[month] %}
{% elif hour >=17 and hour < 21 %}
{% set extras = extras + netc_peak[month] %}
{% else %}
{% set extras = extras + netc_high[month] %}
{% endif %}
{{ extras | float }}
The primary purpose of this posting is to share the additional cost part
In my part of Denmark (Radius - greater Copenhagen) the tarifs are in 3 teers. Low, High, and Peak.
They are announced for the year, but reality is that they change every month at the moment.
Tarifs consists of several layers transmission and system tarifs seems to be stable within a year but this could change. The elafgift (tax) is lowered temporarily but increases again in July 2023 unless the politicians change their minds.
The Net tarif C is the one that really change. There was a change in January. Then again in February. And I just saw that it changes again in March (getting lower again). And there are planned changes in April and October for the seasons. So a simple formula is hopeless. And my if statements got more and more complicated. So I decided to define arrays for each tarif and tax with a price for each month. This makes it easier to update the sensor without having to program each time. You just update the matrixes as new prices come in and for the new year you just start at january again.
If the tarifs level change their time intervals then we have to code again.
Note one thing. The provider fee is a fixed value per kWh. Some providers have zero and some have high fees depending on your agreement. And many providers hide these fees.
The value I have put is one I have experimented myself to the value of. The 0.057 kr/kWh is what Andel Energi charges for a “Basis El med variabel timepris”. I found the value by calculating the difference between the price in their app and the price you get with the tarifs and taxes only.
Note that all prices in the matrix are including VAT (moms).
I hope this will be useful. I tried to put all this in a template variable and then just use that in the sensor definition but that does not work.
References:
The transmission tarif and system tarif are announced here (excl moms) Aktuelle tariffer
The transport tarif for Radius is here (you can turn on moms) Tariffer og netabonnement - Radius
And taxes for Denmark: https://fm.dk/media/26367/faktaark_lempelse-af-elafgift-til-minimumssats-i-seks-maaneder.pdf
Edits: Found a mistake - had used rounded off numbers for some tarifs