Hvorfor prisen for dit netområde, ikke spotprisen
De fleste elpris-integrationer til Home Assistant giver dig Nord Pools spotpris for Vest- eller Østdanmark. Den er en del af svaret, men kun en del: nettariffen, som dit netselskab tager for at bringe strømmen ud til dig, skifter trin hen over døgnet og er forskellig fra netselskab til netselskab; Energinets tariffer og elafgiften kommer oveni, og så momsen. Det kvarter, der er billigst på spotprisen, er ikke altid billigst, når tariffen regnes med — især ikke om vinteren, hvor tariffen er høj i spidsen om aftenen.
Vores fil har den fulde markedspris for dit netområde pr. kvarter: spotpris, nettarif, Energinets tariffer og elafgift, inkl. moms, med delene hver for sig, så du kan se, hvad der trækker. Det er den pris, din elregning følger, hvis du har en variabel aftale — dit elselskabs eget tillæg og abonnement er ikke med, for de er ens hele døgnet og flytter ikke, hvornår strømmen er billig. Hvordan prisen regnes, står på metodesiden.
Filen, du henter
Adressen er https://elpriser.dk/data/timepris.json?sted= efterfulgt af dit sted: et postnummer på fire cifre, dk1 eller dk2 for landsdelens repræsentative netområde, eller a og en netområdekode, når dit postnummer dækker flere netområder. Svaret er JSON med prisen lige nu (now), dagens timer og kvarterer (today.hours, today.quarters) og morgendagen (tomorrow), når den er udgivet. Hvert tidsrum har start og slut i dansk tid, prisen i kroner pr. kWh og i øre, delene i øre og niveauet som level (cheap, mid, expensive) og levelWord (billig, middel, dyr). Alle felterne er beskrevet på siden med åbne data.
Sensorerne: REST-integrationen
Sæt dette ind i configuration.yaml (eller i en fil, du inkluderer derfra), og skift 8000 ud med dit eget postnummer. Hent ikke oftere end hvert femte minut — dagens priser ligger fast, og filen caches i fem minutter hos os. Genstart Home Assistant, og sensorerne er der.
rest:
- resource: "https://elpriser.dk/data/timepris.json?sted=8000"
scan_interval: 300
sensor:
- name: "Elpris lige nu"
unique_id: elpriser_pris_nu
unit_of_measurement: "DKK/kWh"
state_class: measurement
value_template: "{{ value_json.now.quarter.krPerKwhInclVat }}"
json_attributes_path: "$.now.quarter"
json_attributes:
- level
- levelWord
- start
- end
- name: "Elpris niveau"
unique_id: elpriser_niveau
value_template: "{{ value_json.now.quarter.levelWord }}"
- name: "Elpris dagens gennemsnit"
unique_id: elpriser_dag_gennemsnit
unit_of_measurement: "DKK/kWh"
value_template: "{{ value_json.today.avgKrPerKwhInclVat }}"
- name: "Elpris billigste time i dag"
unique_id: elpriser_billigste_time
value_template: "{{ value_json.today.cheapestHour.hour }}"
- name: "Elpris i morgen gennemsnit"
unique_id: elpriser_i_morgen_gennemsnit
unit_of_measurement: "DKK/kWh"
value_template: >-
{{ value_json.tomorrow.avgKrPerKwhInclVat if value_json.tomorrow else none }}
- name: "Elpriser i dag"
unique_id: elpriser_i_dag
value_template: "{{ value_json.today.day }}"
json_attributes_path: "$.today"
json_attributes:
- hours
- quarters
binary_sensor:
- name: "Strømmen er billig"
unique_id: elpriser_billig_nu
value_template: "{{ value_json.now.quarter.level == 'cheap' }}"
Elpris lige nu er kvarterets pris i kroner pr. kWh med niveauet og tidsrummet som attributter. Strømmen er billig er tændt, når kvarteret ligger i dagens billigste tredjedel — den sensor er den, de fleste regler skal bruge. Elpriser i dag bærer hele dagens timer og kvarterer som attributter, så et kort som ApexCharts kan tegne døgnet. Home Assistant skriver ø som oi enheds-id'er, så den binære sensor hedder binary_sensor.strommen_er_billig.
Vil du have tekst i stedet for et timetal, regner en lille skabelonsensor videre på den billigste time:
template:
- sensor:
- name: "Elpris billigste time i dag (tekst)"
unique_id: elpriser_billigste_time_tekst
state: >-
{% set h = states('sensor.elpris_billigste_time') | int(0) %}
kl. {{ '%02d' % h }}–{{ '%02d' % ((h + 1) % 24) }}
En regel: start, når strømmen er billig
Det klassiske eksempel: opvaskemaskinen er fyldt om aftenen, men skal først køre, når strømmen bliver billig. En hjælpekontakt input_boolean.opvask_klar siger, at maskinen er klar; når den binære sensor tænder, starter reglen maskinens stik og slår hjælpekontakten fra igen, så den ikke starter to gange. Det samme mønster virker for en varmtvandsbeholder, et husbatteri eller en ladeboks, der kan styres fra Home Assistant.
automation:
- alias: "Start opvaskemaskinen når strømmen er billig"
trigger:
- platform: state
entity_id: binary_sensor.strommen_er_billig
to: "on"
condition:
- condition: state
entity_id: input_boolean.opvask_klar
state: "on"
action:
- service: switch.turn_on
target:
entity_id: switch.opvaskemaskine
- service: input_boolean.turn_off
target:
entity_id: input_boolean.opvask_klar
Vil du hellere køre i de billigste tre timer end i det første billige kvarter, så brug today.hours i en skabelon og find de tre sammenhængende timer med den laveste sum — eller vent på integrationen nedenfor, der leverer det som sin egen sensor.
Et kort på dashboardet
Sensoren Elpris lige nu kan stå som et almindeligt enhedskort, og med Elpris niveau ved siden af har du ordet. Et historikkort på Elpris lige nu tegner dagen, som den er gået. Til et døgndiagram med farver efter niveau er ApexCharts-kortet det mest brugte i fællesskabet; det læser hours fra Elpriser i dag, hvor hvert punkt har start og krPerKwhInclVat. Og vil du have en skærm i køkkenet uden at bygge noget, er elprisdisplayet til en gammel tablet klar på fem minutter.
Regler for brug
- Filen er åbne data under Creative Commons BY 4.0: fri brug, også kommercielt, mod kildeangivelsen »Kilde: Elpriser.dk«.
- Hent højst hvert femte minut pr. installation. Dagens priser ligger fast; morgendagens kommer typisk mellem kl. 13 og 15.
tomorrowernull, til morgendagen er udgivet, ognowkan værenullet øjeblik omkring midnat — skriv skabeloner, der tåler det.- Prisen er markedets pris alt inkl. moms uden dit elselskabs tillæg og abonnement. Vil du have dem med, så læg dem til i en skabelon.
- Vi kan ændre filens form med varsel på siden med åbne data; felter fjernes ikke uden varsel.
På vej: en rigtig integration
REST-sensoren virker i dag og bliver ved med det. Næste skridt er en integration til Home Assistant, der sætter sensorerne op uden YAML — prisen lige nu, niveauet, de billigste timer og morgendagen — og som kan sende dit hjems forbrug fra din egen måler tilbage til Elpriser.dk-appen, hvis du vælger det, så appen kan vise, hvad du faktisk bruger, mens du bruger det. Det er frivilligt, og det er dig, der vælger sensoren. Skriv dig på ventelisten på ladeplanen, så får du besked, når den er klar.


