Automatisera husets elförbrukning baserat på elpriset

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 5096
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Automatisera husets elförbrukning baserat på elpriset

Inlägg av Mickecarlsson »

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
elpriser-20251017.jpg
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 :oops:

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
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.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
kodar-holger
EF Sponsor
Inlägg: 977
Blev medlem: 26 maj 2014, 12:54:35
Ort: Karlskoga

Re: Automatisera husets elförbrukning baserat på elpriset

Inlägg av kodar-holger »

Kan det vara så att den matematiska formeln helt enkelt är glidande medelvärde? Så har iaf jag tänkt i den automation jag sitter och funderar på.

Jag har just idag på förmiddagen "diskuterat" med chatgpt om nedladdning via https://www.elprisetjustnu.se/elpris-api och fått en massa oläsbar yaml-kod. Min tanke var just att använda glidande medelvärde sen för att i varje ögonblick (iaf varje minut eller något sådant) bedöma priset för den kommande timmen eller så.

Om du vet laddningsgraden på bilen eller batteriet så kan du ju gissa hur lång tid det tar att ladda eller hur mycket som finns att sälja. Och då borde det gå att räkna ut när det är sammantaget billigast att köpa el för att ladda eller sälja el. Tänker att ett bivillkor i optimeringen bör vara tider när man önskar bilen laddad och kanske också ladda ner en sol-prognos från smhi (https://opendata-download-metfcst.smhi.se/api/) så du kan väga in när du tror det går att ladda från solpaneler om du har såna.
Användarvisningsbild
Mickecarlsson
EF Sponsor
Inlägg: 5096
Blev medlem: 15 april 2017, 18:06:15
Ort: Malmö
Kontakt:

Re: Automatisera husets elförbrukning baserat på elpriset

Inlägg av Mickecarlsson »

Med HACS Nordpool-integrationen får du dessa värden, du behöver inte ladda ner via yaml.
På sommaren kan man ladda bilen på sol-el, på vintern lär det bli när det är billigast, oftast då på natten.
Glidande medelvärde är en väg att gå, men den blir inte helt effektiv om man har fler parametrar, vilket vi har.

Här har morgondagens priser dykt upp.
IMG_6350.jpeg
Här kan man se att låga priser, med outliers, är 11:30 - 14:30, ”normala” priser 00:00 - 11:30, höga priser 14:30 - 21:30 för att sen gå till låga priser.
Då det inte blåser speciellt nu i helgen är priserna lite över normala mer utjämnade. Förra helgen var det otroligt låga priser nästan halva dagen.

Ska fundera lite mer och se om jag kommer fram till något.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar