Automatisera husets elförbrukning baserat på elpriset
Postat: 18 oktober 2025, 11:23:25
Jag behöver lite hjälp med ett matteproblem, just matte är inte min starka sida och jag tenderar krångla till det i onödan. Programmering är inget problem så länge jag har algoritmen på plats.
Förutsättningar (för mig, YMMV):
Elområde SE4
Gå över till timpris (kvartspris), har idag rörligt månadspris.
Vi har solpaneler med peakeffekt på 15kW, batteri på 10 kW, solproduktion på ca 12,5 MWh (12 500 kWh) per år.
Kör HomeAssistant som kan styra EV-laddaren med Modbus (CTEK CS2) och växelriktaren med Modbus (Ferroamp EH14) och Niben med Modbus (S735). Inget aktivt än, har testat med lite manuella knappar och det fungerar.
Köpt el:
2023 var ca 11 000 kWh
2024 var det 11 200 kWh
2025 hittills ca 6 600 kWh.
Förbrukad el, köpt + egenanvändning av solenergi var:
2023 ca 16 835 krWh
2024 ca 17 100 kWh
2025 hittills 11 800 kWh
Vi har sänkt energiförbrukningen för huset med ca 10 000 kWh genom att kasta ut gaspannan och en gammal Nibe (Fighter 300P) och ersätta detta med Nibe S735, detta gjordes i januari 2024.
Så förbrukningsmässigt ligger vi rätt, med vill sänka lite kostnader.
Att gå över till timpris/kvartspris gör att vi troligen kommer att köpa in mer el, men till lägre pris.
Att få detta att snurra mer eller mindre automatiserat är målet.
Så, lite tankar:
Köra all automation i Home Assistant.
Jag vill räkna ut lite olika värde för elpriserna från Nordpool, samt hur länge dessa varar. Använder HACS Norpdool.
Denna integration har en array på 96 poster för dagens elpriser (today_prices) samt en för morgondagens elpriser (tomorrow_prices), också 96 poster. Morgondagens priser kommer ca 13:30 varje dag.
Priset kan vara negativt.
Idag (18 okt 2025) är priset som högst i SE4 1,50 kr (utan moms,skatt eller överföring) och som lägst 0,41 kr
Snittet för dagen är 76,4 öre Jag har markerat sk. Outliers, dessa ska kunna hanteras i matteformeln, jag tänker mig att dessa inte ska påverka algoritmen alltför mycket, är det bara en kvarts outlier, skippa den i beräkningen så man inte får tokiga triggningar på sensorerna, t.ex. ladda bilen i 14 minuter
Så, till mitt lilla matteproblem, hur räkna ut detta effektivt (eller någorlunda effektivt/användbart)?
Tanken är att ha ett par binära sensorer (on/off) som håller reda på de olika varianterna.
Tänkte mig dessa sensorer
extreme_low_price ska användas till minuspriser, och/eller priser upp till xx öre?
Bestämma vilken nivå xx ska vara, en variabel eller en konstant?
Sätt en binärsensor (norpool_bs_extreme_low_price) till true
Sätt en sensor till ett värde på det antal kvartar som denna nivå är på, extreme_low_price_length.
Ska denna sensor baseras på ental kvartar, eller antal timmar?
När denna sensor är aktiv, starta automationer som:
Ladda bilen om den är ansluten sätt flagga att inte ladda ut solar_battery
Ladda batteriet om bilen inte är ansluten, sätt flagga att ladda solar_battery fullt om detta behövs, kolla SoC.
Sätt en visuell flagga så WiH kan se att det är lämpligt att tvätta, köra diskmaskin etc.
low_price ska användas när det är lågpris på el
Bestämma vilken nivå detta ska vara, är det om priset är under medelpriset?
Sätt en binärsensor (norpool_bs_low_price) till true
Sätt en sensor till ett värde på det antal kvartar som denna nivå är på, low_price_length.
Ska denna sensor baseras på ental kvartar, eller antal timmar?
När denna sensor är aktiv, starta automationer som:
Ladda bilen om den är ansluten, sätt flagga att inte ladda ut solar_battery
Ladda batteriet om bilen inte är ansluten, sätt flagga att ladda solar_battery fullt om detta behövs, kolla SoC.
Sätt en visuell flagga så WiH kan se att det är lämpligt att tvätta, köra diskmaskin etc.
normal_price ska användas för elpriser som inte är billiga, men inte heller dyra
Eller ska denna sensor bakas ihop med low_price?
Sätt en binärsensor (norpool_bs_normal_price) till true
Om det är solproduktion, se till att batteriet laddas på överskottselen
Sätt solar_battery till att kapa effekttoppar t.ex. hämta från solar_battery om huskonsumptionen är över 3 kW, detta är en förberedelse för effekttariff
Om batteriet har SoC
high_price är när det är dyra elpriser.
Bestämma vilken nivå detta ska vara, är det om priset är över medelpriset? Eller räkna ut topparna med ett delta?
Sätt en binärsensor (norpool_bs_high_price) till true
Sätt en sensor till ett värde på det antal kvartar som denna nivå är på
När denna sensor är aktiv, starta automationer som:
Stäng av Ladda bilen om den är ansluten
Sätt flagga att börja använda solar_battery
räkna ut hur lång tid denna nivå är, kolla med batteriets SoC om det räcker denna periond.
Sätt en visuell flagga så WiH kan se att det är dyrt att använda el.
Förutsättningar (för mig, YMMV):
Elområde SE4
Gå över till timpris (kvartspris), har idag rörligt månadspris.
Vi har solpaneler med peakeffekt på 15kW, batteri på 10 kW, solproduktion på ca 12,5 MWh (12 500 kWh) per år.
Kör HomeAssistant som kan styra EV-laddaren med Modbus (CTEK CS2) och växelriktaren med Modbus (Ferroamp EH14) och Niben med Modbus (S735). Inget aktivt än, har testat med lite manuella knappar och det fungerar.
Köpt el:
2023 var ca 11 000 kWh
2024 var det 11 200 kWh
2025 hittills ca 6 600 kWh.
Förbrukad el, köpt + egenanvändning av solenergi var:
2023 ca 16 835 krWh
2024 ca 17 100 kWh
2025 hittills 11 800 kWh
Vi har sänkt energiförbrukningen för huset med ca 10 000 kWh genom att kasta ut gaspannan och en gammal Nibe (Fighter 300P) och ersätta detta med Nibe S735, detta gjordes i januari 2024.
Så förbrukningsmässigt ligger vi rätt, med vill sänka lite kostnader.
Att gå över till timpris/kvartspris gör att vi troligen kommer att köpa in mer el, men till lägre pris.
Att få detta att snurra mer eller mindre automatiserat är målet.
Så, lite tankar:
Köra all automation i Home Assistant.
Jag vill räkna ut lite olika värde för elpriserna från Nordpool, samt hur länge dessa varar. Använder HACS Norpdool.
Denna integration har en array på 96 poster för dagens elpriser (today_prices) samt en för morgondagens elpriser (tomorrow_prices), också 96 poster. Morgondagens priser kommer ca 13:30 varje dag.
Priset kan vara negativt.
Idag (18 okt 2025) är priset som högst i SE4 1,50 kr (utan moms,skatt eller överföring) och som lägst 0,41 kr
Snittet för dagen är 76,4 öre Jag har markerat sk. Outliers, dessa ska kunna hanteras i matteformeln, jag tänker mig att dessa inte ska påverka algoritmen alltför mycket, är det bara en kvarts outlier, skippa den i beräkningen så man inte får tokiga triggningar på sensorerna, t.ex. ladda bilen i 14 minuter
Så, till mitt lilla matteproblem, hur räkna ut detta effektivt (eller någorlunda effektivt/användbart)?
Tanken är att ha ett par binära sensorer (on/off) som håller reda på de olika varianterna.
Tänkte mig dessa sensorer
Kod: Markera allt
extreme_low_price
low_price
normal_price
high_price
average_price
Bestämma vilken nivå xx ska vara, en variabel eller en konstant?
Sätt en binärsensor (norpool_bs_extreme_low_price) till true
Sätt en sensor till ett värde på det antal kvartar som denna nivå är på, extreme_low_price_length.
Ska denna sensor baseras på ental kvartar, eller antal timmar?
När denna sensor är aktiv, starta automationer som:
Ladda bilen om den är ansluten sätt flagga att inte ladda ut solar_battery
Ladda batteriet om bilen inte är ansluten, sätt flagga att ladda solar_battery fullt om detta behövs, kolla SoC.
Sätt en visuell flagga så WiH kan se att det är lämpligt att tvätta, köra diskmaskin etc.
low_price ska användas när det är lågpris på el
Bestämma vilken nivå detta ska vara, är det om priset är under medelpriset?
Sätt en binärsensor (norpool_bs_low_price) till true
Sätt en sensor till ett värde på det antal kvartar som denna nivå är på, low_price_length.
Ska denna sensor baseras på ental kvartar, eller antal timmar?
När denna sensor är aktiv, starta automationer som:
Ladda bilen om den är ansluten, sätt flagga att inte ladda ut solar_battery
Ladda batteriet om bilen inte är ansluten, sätt flagga att ladda solar_battery fullt om detta behövs, kolla SoC.
Sätt en visuell flagga så WiH kan se att det är lämpligt att tvätta, köra diskmaskin etc.
normal_price ska användas för elpriser som inte är billiga, men inte heller dyra
Eller ska denna sensor bakas ihop med low_price?
Sätt en binärsensor (norpool_bs_normal_price) till true
Om det är solproduktion, se till att batteriet laddas på överskottselen
Sätt solar_battery till att kapa effekttoppar t.ex. hämta från solar_battery om huskonsumptionen är över 3 kW, detta är en förberedelse för effekttariff
Om batteriet har SoC
high_price är när det är dyra elpriser.
Bestämma vilken nivå detta ska vara, är det om priset är över medelpriset? Eller räkna ut topparna med ett delta?
Sätt en binärsensor (norpool_bs_high_price) till true
Sätt en sensor till ett värde på det antal kvartar som denna nivå är på
När denna sensor är aktiv, starta automationer som:
Stäng av Ladda bilen om den är ansluten
Sätt flagga att börja använda solar_battery
räkna ut hur lång tid denna nivå är, kolla med batteriets SoC om det räcker denna periond.
Sätt en visuell flagga så WiH kan se att det är dyrt att använda el.