Med Shelly-elmätningen i realtid kan jag nu dagligen ordna rapporter om vad medelpriset blev på elen genom energipanelen i Home Assistant. Därmed får jag facit på dag för dag om jag via timdebiteringen sparar på elpriset, men kan också konstatera att avgörande för utfallet på en månad kan snarare vara att styra konsumtionen till dagar med lågt pris än att optimera varje enskild dag.
![]() |
Energipanelen i Home Assistant för fredagen. Några kWh elbilsladdning nattetid. Drygt tio procent av den mycket blygsamma solelen såldes. |
Alla priser exklusive moms, elhandel, elnät och skatter.
Än så länge har jag tre hela dygn sedan Shelly-installationen i torsdags.
Via Nordpoolpluginen kan få elkostnaden uträknad per timtaxan, och detta redovisas i energipanelen.
![]() |
Elförbrukning, samt elpris uträknat utifrån timpriserna. Som synes förbrukar den tredje fasen L3 minst energi. Det var även på den som det matades ut 0.26 kWh från solkraften. |
Medelpriset i fredags i SE3 var 56.56 öre enligt Nordpool. Då elen var billig stora delar av dygnet körde vi värmen med värmepumpen.
Det egna snittpriset blev uträknat utifrån Home Assistants summering för dygnet 3015/55.88=54 öre per kWh. Ingen enorm förbättring.
Medelpriset i lördags i SE3 var 128.25 öre enligt Nordpool. Själva gjorde vi av med 74.17 kWh genom att inte elda med ved och detta till en kostad om 81:89 SEK för ett medelpris om 8189/74.17=110 öre per kWh eller en besparing på 14.6% på elpriset.
Igår söndag var elen mycket billig eftersom det för ovanlighetens skull rådde kulingvarning och stormbyar, så vindkraften producerade nästan lika mycket som om vi inte hade lagt ner sex kärnreaktorer. Vilket visar hur elpriserna hade varit om vi behållit kärnkraften.
På grund av de låga priserna vidtogs inga energibesparande åtgärder och vi eldade inte heller, utan värmde med värmepump även i bostaden. Elförbrukningen landade då på 71.83 kWh till ett timbaserat pris om 13:58 SEK totalt.
Medelpriset hos Nordpool i söndags var 18.19 öre. Vårt medelpris blev dock 1358/71.83=18.91 öre per kWh, eller något högre än medelpriset för dygnet. Dock kommer denna högre förbrukning till detta låga pris bidra till totalt sett lägre medelpris för månaden, och visar att det inte bara är utfallet per timme som avgör, utan även utfallet dygn för dygn. Man ska styra förbrukning till billiga dagar som lördagen och söndagen, t ex köra tvätt de dagarna, eller spara på veden.
Vedeldningen är för oss med värmepump lönsam vid ett pris runt 50 öre per kWh för elen. Är elpriset lägre är det bättre att spara på veden, även om det är egen så kallad gratis ved (inget är gratis – arbete och utrustning kostar). Alternativet är att som gårdsägare sälja veden vilket styr alternativkostnaden.
Nu återstår att konfigurera upp en template och sensor som i realtid rapporterar vad man uppnått för medelelpris per dag. Exakt hur vet jag inte än, då den dagliga kostnaden inte finns som egen sensor i Home Assistant.
Förloppet är att man ligger väldigt bra till på morgonen när man enbart konsumerat nattpriser och sedan ligger måttligt bra till framåt kvällen, men sedan tar tillbaka mycket de sista timmarna när elpriset rasar igen.
Idag ligger vårt elpris än så länge på 45.67 öre per kWh mot Nordpools 83.55 öre per kWh. Dock återstår de verkligt höga priserna till ikväll när vinden mojnat och aktuellt snittpris är därmed missvisande.
Nedanstående är innehåll från bloggens samarbetspartner Compricer.
16 kommentarer
Har du hittat något smidigt sätt att klassificera nuvarande timmens elpris som lågt/medel/högt? För att styra laddboxarna. Använde NibePi till det tidigare men den fungerar inte längre.
Kör Nordpools peak, average, low 1 och low 2 beroende på till vad. Peak är medelpriset dagtid, average är dagsmedel och är lägre än peak oftast, low 2 är medelpriset på kvällen och är näst lägst generellt och low 1 är medelpriset på natten, generellt allra lägst. Ska t ex köra VVB på under average om inte elpriset är under 50 öre, då struntar jag i det och kör dygnet runt.
Det gör du enkelt i HA, och en value_template.
Då kan du kalla olika värden för vad du vill.
Sätter man dessutom en binary_sensor kan man göra mycket kul automatisering. Jag satte min så att det är "lågt elpris" om
(nuvarande pris < off_peak_1) or (nuvarande < 0.4 and nuvarande > 0.01) or (nuvarande < 0.0)
(Vill inte att 0.0 skall trigga lågt elpris, kan ju vara problem med API:et)
Jag ville få lite bättre kontroll på billigaste till dyraste timmarna och har nedan binary sensor:
binary_sensor:
– platform: template
sensors:
billigaste_el:
value_template: >-
{% set l=state_attr('states.sensor.nordpool_kwh_se2_sek_3_095_0.state', 'raw_today')|sort(attribute='value') %}
{{ (now() >= l[0].start and now() <= l[0].end)
or (now() >= l[1].start and now() <= l[1].end)
or (now() >= l[2].start and now() <= l[2].end)
or (now() >= l[3].start and now() <= l[3].end)
or (now() >= l[4].start and now() <= l[4].end)
or (now() >= l[5].start and now() <= l[5].end) }}
– platform: template
sensors:
medium_low_el:
value_template: >-
{% set l=state_attr('states.sensor.nordpool_kwh_se2_sek_3_095_0.state', 'raw_today')|sort(attribute='value') %}
{{ (now() >= l[6].start and now() <= l[6].end)
or (now() >= l[7].start and now() <= l[7].end)
or (now() >= l[8].start and now() <= l[8].end)
or (now() >= l[9].start and now() <= l[9].end)
or (now() >= l[10].start and now() <= l[10].end)
or (now() >= l[11].start and now() <= l[11].end)
or (now() >= l[12].start and now() <= l[12].end) }}
– platform: template
sensors:
medium_high_el:
value_template: >-
{% set l=state_attr('states.sensor.nordpool_kwh_se2_sek_3_095_0.state', 'raw_today')|sort(attribute='value') %}
{{ (now() >= l[13].start and now() <= l[13].end)
or (now() >= l[14].start and now() <= l[14].end)
or (now() >= l[15].start and now() <= l[15].end)
or (now() >= l[16].start and now() <= l[16].end)
or (now() >= l[17].start and now() <= l[17].end)
or (now() >= l[18].start and now() <= l[18].end)
or (now() >= l[19].start and now() <= l[19].end)}}
– platform: template
sensors:
dyraste_el:
value_template: >-
{% set l=state_attr('states.sensor.nordpool_kwh_se2_sek_3_095_0.state', 'raw_today')|sort(attribute='value') %}
{{ (now() >= l[20].start and now() <= l[20].end)
or (now() >= l[21].start and now() <= l[21].end)
or (now() >= l[22].start and now() <= l[22].end)
or (now() >= l[23].start and now() <= l[23].end) }}
Intenderingen blir inget vidare 🙂
Användningen av YAML är listat i fjärde Genèvekonvention som ett synnerligen elakt brott mot mänskligheten.
Haha, sant!
Tips för att trimma din nordpool integration med kWh och SEK. Byta valuta kan vara lite trixigt eftersom statistiken lagrad i databasen kommer gnälla – finns hjälp på community om hur man kan pilla till detta. Dock bättre att bita i det sura äpplet nu istället för sedan med mycket data lagrat.
– platform: nordpool
VAT: False
currency: "SEK"
low_price_cutoff: 0.95
region: "SE3"
precision: 3
price_type: kWh
friendly_name: "Power"
Precis, när jag bytte valuta (Euro till SEK) så blev det en konflikt i databasen och då slutade HA energy räkna priset. Lösningen var att gå in i Utvecklarverktyg och klicka Statistik tabben. HA har upptäckt konflikten och här kan man då välja att klicka på "Åtgärda Problem". HA uppdaterar då databasen med korrekt valuta (SEK) och livet leker igen!
Cool. Jag har kört SQLite Web add-on:et för att fixa detta, men nu ser jag att det finns smidigare sätt. Det blir ju helt galna värden "före" och "efter" fixen, men gör man det tidigt så kan man ju leva med det.
För att göra en sensor som räknar ut ditt medelpris per dag kan du ta nuvarande förbrukning gånger nuvarande pris och sedan integrera dessa (platform: integration). Sedan tar du en utilitymeter på integralen som går både på daglig och månadsbasis för att få ut hur mycket elen kostat idag, igår och denna och förra månaden. Du kan också summera förbrukningen på samma sätt och då få ett bra medelvärde. Jag har gjort samma sak samt en sensor som räknar ut det viktade medelpriset per dag som jag jämför med min egna förbrukning.
electricity_price_today_weighted_average:
friendly_name: "Elpris idag viktat medel"
value_template: >-
{{
state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'today')[0]*(state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'today')[0] / (24 * state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'average'))) +
state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'today')[1]*(state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'today')[1] / (24 * state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'average'))) +
…
state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'today')[22]*(state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'today')[22] / (24 * state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'average'))) +
state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'today')[23]*(state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'today')[23] / (24 * state_attr('sensor.nordpool_kwh_se3_sek_3_10_025', 'average')))
}}
unit_of_measurement: "sek"
Den här kommentaren har tagits bort av skribenten.
Jag har nedan template för att lägga till de rörliga avgifterna + skatterna + moms.
Denna entity lägger jag till i HA Energy istället för Nordpools entity.
Kolla i elräkningen för att lägga till de kostnaderna som gäller för er.
– platform: template
sensors:
electricity_price_with_tax:
value_template: "{{((states('states.sensor.nordpool_kwh_se2_sek_3_095_0.state') | float) * 1.25 + (0.216 + 0.356) * 1.25) | round(2)}}"
friendly_name: "Electric price including tax"
unit_of_measurement: "SEK/kWh"
Den här lägger till elbolagets påslag eller hur? Kör du då den i Energy läget för att se kostnad? Med solceller borde jag isf göra en lika dan med fradrag på spotpriset. Hur gör du med överföringsavgift? Var lägger man in den för att få den med i beräkningen på energyfliken?
Någon som har en bra template för att ändra till ören istället för kronor på Nordpool priset?