Stoppa elpatronen innan den startar
Värmepumpen räknar själv ut när elpatronen behövs. Läs samma siffra i Home Assistant, så kan en luftvärmepump ta toppen tjugo minuter innan, med tre gånger bättre verkningsgrad.
- Nivå
- Avancerad
- Lästid
- 12 min
- Uppdaterad
- 5 november 2026
- Verktyg
- Home Assistant, NIBE S735 (lokalt API), Luft-luftvärmepump, Claude
Gradminuter på en minut
En NIBE-pump, och många andra värmepumpar, håller räkningen på hur mycket värme huset saknar. Siffran kallas gradminuter och blir mer negativ ju längre framledningen legat under det den borde ha. Pumpen använder den för att bestämma när kompressorn ska gå och, när det inte räcker, när elpatronen ska hjälpa till.
Hos mig startar elpatronen någonstans mellan −400 och −700. Det betyder att gradminuterna är en varning med god framförhållning. Rumstemperaturen är det inte: rummet kan kännas helt okej medan underskottet byggs upp i golvet.
Därför styr elpatronskyddet på gradminuter, inte på temperatur.
Det här behövs
En värmepump som visar gradminuter och elpatronens effekt, helst via ett lokalt API. En luftvärmepump som Home Assistant kan styra. Närvaro i Home Assistant, och gärna en väderprognos med molnighet.
Behovet är en egen sensor
Logiken för när skyddet behövs ligger i en egen sensor, inte i automationen. Det gör den lätt att visa på en panel och lätt att testa. Sensorn slår till i två fall.
Fall 1, djupt underskott. Gradminuterna ligger under gränsen. Gränsen är −550 när någon är hemma och −650 när huset är tomt, eftersom komforten då inte spelar roll, bara elpatronen. Väntas sol samma förmiddag krävs −700, eftersom solen ofta löser problemet gratis inom ett par timmar.
Fall 2, pumpen vid taket. Någon är hemma, ingen sol väntas, gradminuterna är under −350 och rummen ligger under den temperatur vi vill ha. Då går pumpen redan på max och klarar inte jobbet, även om elpatronen inte hotar än.
Sensorn har en fördröjning på 20 minuter, så att en kort dipp inte startar något:
template:
- binary_sensor:
- name: "Elpatronskydd behov"
delay_on: "00:20:00"
state: >
{% set dm = states('sensor.nibe_gradminuter') | float(0) %}
{% set hemma = is_state('binary_sensor.huset_bebott', 'on') %}
{% set grans = -550 if hemma else -650 %}
{% set sol = is_state('binary_sensor.solvarme_vantas', 'on') %}
{% set rum = states('sensor.rum_medel') | float(99) %}
{% set taket = hemma and not sol and dm < -350 and rum < 21.8 %}
{{ (dm < grans and (not sol or dm < -700)) or taket }}
Fördröjningen satt först i automationen. Men automationen har också en kontroll var 15:e minut, och den hoppade över väntan. När fördröjningen flyttades in i sensorn gäller den för alla vägar in.
När väntas sol?
En egen liten sensor säger ja när molnigheten de närmaste fyra timmarna är under 40 procent, solen är på väg upp och står högre än tre grader under horisonten.
Starten
Automationen startar luftvärmepumpen när behovssensorn slår till, eller när elpatronen redan dragit ström i tre minuter. Det andra är en reservväg som alltid gäller.
Innan den startar kontrolleras att:
- luftvärmepumpen är avstängd och inte mitt i ett kylpass
- kaminen inte brinner, eftersom brasan redan värmer
- det är under 8° ute
- vardagsrummet är under 22,5°
- det är dagtid, 05:30 till 23:00, eller att elpatronen redan går
Det sista villkoret har en historia, och den syns tydligt i grafen nedan. Natten mot 4 november passerade gradminuterna startgränsen redan före fyra. Elpatronen startade 04.36, men skyddet väntade snällt på att klockan skulle bli 05.30. Då hade elpatronen redan dragit en timme, och den fortsatte sedan att trappa upp till 2,5 kW ända till strax före nio, trots att luftvärmepumpen var igång.
Nu gäller tidsfönstret bara när elpatronen inte redan är igång. Två nätter senare startade luftvärmepumpen tre minuter efter elpatronen i stället för 54. Det löser inte allt. Skyddet startar fortfarande först när elpatronen redan har gått in, eftersom luftvärmepumpen inte startar på behov mellan 23 och 05.30.
Själva starten är kort: en flagga som säger att elpatronskyddet äger pumpen, värmeläge på 24°, fläkt 3 (fläkt 2 nattetid så ingen väcks) och luftriktningen rakt ner. Pumpens egen givare sitter för högt för att lita på, så det höga börvärdet betyder bara “kör”. Home Assistant bestämmer när det räcker.
Stoppet är svårare än starten
Den viktigaste lärdomen: ett skydd behöver många vägar ut, men bara några vägar in. Pumpen stannar när något av detta inträffar:
| Stopp | Varför |
|---|---|
| Gradminuterna över −250 i 30 minuter | Värmepumpen klarar sig själv igen |
| Vardagsrummet över 22,5° i 10 minuter | Annars känner värmepumpens rumsgivare värmen och stryper golvvärmen |
| Kaminen tänds | Brasan tar över |
| Över 10° ute i 30 minuter | Underskottet löser sig snart av sig självt |
| Sol väntas och underskottet är grundare än −600 | Solen tar över, med marginal mot startgränsen −700 |
| Rummen är varma | Snittet en halv grad över önskat, eller något rum över 23,5° |
| Klockan 23:00 och 23:30 | Skyddsnät inför natten |
Gränsen för vardagsrummet sänktes från 23 till 22,5 efter några dagar. Varmt vardagsrum lurade värmepumpens rumsgivare, som då drog ner golvvärmen. Luftvärmepumpen orsakade alltså mer av problemet den skulle lösa.
Stoppet för varma rum kom till i slutet av oktober. Fall 2 i behovssensorn startar på kalla rum, men när pumpen står kvar på max når gradminuterna aldrig upp till −250. Då körde luftvärmepumpen tills allrummet var nästan 24°. Nu stannar den när rummen är varma, så länge elpatronen inte hotar.
Varje stopp har också en kontroll var 15:e minut. Samma problem som överallt i Home Assistant: en trigger på ett värde slår bara till när värdet passerar gränsen. Låg det redan fel vid en omstart missas stoppet.
Så byggde jag det med AI
Det mesta av logiken ovan kommer från att läsa historik tillsammans med Claude. Ett samtal kan börja med “elpatronen gick i natt, varför?” Claude hämtar gradminuter, elpatronens effekt och luftvärmepumpens läge för natten, hittar luckan och föreslår en ändring. Varje ändring fick en säkerhetskopia och en rad i kommentaren ovanför automationen med datum och skäl. Kommentarerna är i dag den bästa dokumentationen av varför systemet ser ut som det gör.
Det jag skulle göra annorlunda
- Logga först, styr sedan. Två veckor med gradminuter, elpatronens effekt och utetemperatur i samma graf hade sparat flera omtag.
- Lägg logiken i en sensor. Då syns den på en panel, och automationen blir kort.
- Skriv ner varför varje gräns har sitt värde. Om tre månader minns du inte varför det är −550 och inte −450.
Gör det själv
Startprompt
Klistra in i Claude, ChatGPT eller en annan AI-assistent. Byt ut det som står inom hakparentes mot det som gäller hos dig.
Jag vill att en luft-luftvärmepump startar innan min värmepumps elpatron slår till. Hjälp mig bygga det i Home Assistant.
Mitt hus:
- Värmepump: [märke och modell]
- Sensorer jag har i Home Assistant: [gradminuter, elpatronens effekt, utetemperatur, rumstemperatur – stryk det som saknas]
- Luft-luftvärmepump: [märke, och hur den styrs från Home Assistant]
- Närvaro i Home Assistant: [ja/nej, och hur]
Gör så här:
1. Hjälp mig först ta reda på vid vilka gradminuter min elpatron brukar starta. Föreslå en graf eller en mall-sensor som visar det.
2. Bygg en binary_sensor "behov" med fördröjning, och olika gränser när någon är hemma och när huset är tomt.
3. Skriv en startautomation och en stoppautomation. Stoppet ska ha flera vägar ut: underskottet borta, rummet för varmt, varmt ute, och en kontroll var 15:e minut som skyddsnät.
4. Förklara varje gränsvärde så att jag förstår vad jag ska justera.
Gissa inte entitets-id:n. Fråga mig, eller be mig klistra in dem.