Martin Koksrud Bekkelund

Martin Koksrud Bekkelund

Teknologi • Samfunn • Politikk

Varmestyring i et smarthus del 2

12.12.22

I denne artikkelen forklarer jeg i detalj hvordan jeg styrer varme og varmtvann i huset.

Tidligere i år skrev jeg om hvordan jeg styrer varmen i huset. Siden den gang har jeg bygget logikken på nytt. Det føles litt som vår tids rydding i sokkeskuffen, men først og fremst ønsket jeg bedre automatisering av forbruket i en tid der strømprisen er svært volatil.

Hva du trenger

Foruten alle komponentene man trenger for å styre varme og varmtvannsbereder, trenger man en Homey med Advanced Flow og et strømabonnement fra Tibber og en Tibber Pulse. Du trenger også appen Power of the hour for Homey, som du kan lese mer om lenger ned.

Jeg har valgt å bygge logikken med mest mulig bruk av standardfunksjonalitet i Homey, selv om det finnes apper som enkelte steder kan forenkle logikken. Årsaken er at jeg ønsker å holde systembelastningen så lav som mulig ved å ha færrest mulig apper, at tredjepartsapper risikerer å ikke bli videreutviklet eller at de har sikkerhetsproblemer. Dette er ikke et stort poeng, men jeg har nå holdt meg til dette prinsippet.

Den observante leser vil også se at jeg benytter Slack gjennom Slack-appen for Homey. Jeg benytter Slack til mange ting hjemme, men i denne sammenheng gjør jeg en del logging til Slack, for eksempel hvis jeg vil se strømpriser, og jeg bruker Slack til debugging ved å legge til kort i flows. Da kan jeg se om en flow fungerer som tilsiktet. Slack har vært uvurderlig.

Faktorer

Der den gamle logikken var bygget opp rundt tider på døgnet og hvorvidt vi var hjemme eller borte, tar den nye logikken nå utgangspunkt i langt flere faktorer:

  • Strømpris: Utregning av antatt strømpris etter strømstøtte, og en automatisk vurdering av hvorvidt strømmen er dyr eller billig, sett opp mot en absolutt klassifisering.
  • Nettleie: Ny modell for nettleie ble innført 1. juli og innebærer nå en trappetrinnsmodell.
  • Utetemperatur: Påvirker hvorvidt vi trenger å bruke mye eller lite energi på oppvarming.
  • Dag og klokkeslett: Automatisk justering av temperaturen basert på hvilken ukedag det er og hva klokken er.
  • Tilstedeværelse: Om vi er hjemme eller borte.

Det er mange faktorer man kan la være styrende for oppvarming. Skal strømprisen være styrende? Forbruket for å holde nettleien lav? Eller klokken?

Hos oss er klokken den styrende faktoren, men den kan overstyres av andre faktorer. Det vil si at det er klokkeslettet gjennom døgnet som er utgangspunktet for automatisk justering av temperaturen. Når vi sover kan temperaturen senkes. Når vi står opp vil vi ha det litt varmere. Vi har valgt å la klokken være førende, fordi det er dette som er den grunnleggende faktoren for komforten vi ønsker å ha i huset.

Samtidig kan andre faktorer overstyre klokken. Dersom vi reiser vekk på ferie eller i helgen, så overstyrer vi det gjennom en fraværsfunksjon. Dersom strømprisen er spesielt høy, kan huset settes automatisk i sparemodus. Bruker vi mye strøm i løpet av en time kan vi gjennomføre tiltak for å ta ned forbruket.

Vi går her igjennom den enkelte faktor.

Strømpris

Det aller første vi trenger å finne ut av, er hva den faktiske strømprisen er. Med strømstøtten som er innført, er det ikke lenger slik at spotprisen du ser nødvendigvis er den samme som du skal betale. Du får dekket 90 % av overskytende over 0,875 kroner (0,70 kroner + mva), og du får det basert på gjennomsnittlig strømpris først etter at måneden er avsluttet.

Jeg har skrevet en logikk som kommer i en egen artikkel, der jeg time for time beregner antatt reell pris. Det er selvfølgelig svært upresist i starten av måneden, men blir mer og mer presist jo nærmere månedsslutt man kommer.

Enkelt forklart har jeg en flow der jeg legger timeprisen inn i en database. Deretter finner jeg snittprisen så langt inneværende måned. Til slutt regner jeg ut faktisk timepris basert på nåværende snitt og lagrer prisen i en variabel jeg kaller NetPowerPrice.

Prisberegning i Homey

Fint, nå har jeg et grovt anslag for hva faktisk timepris er etter strømstøtte. Den er som nevnt svært volatil i starten av måneden, men svært presis mot slutten.

Nå som jeg vet hva strømprisen er, vil jeg si noe om hva jeg tenker er billig og dyr strøm. Når er egentlig strømmen så billig at det bare er å bruke den ukritisk? Og når er den så dyr at jeg kan leve med at det er lunkent i badegulvene?

For å få til dette har jeg laget min egen klassifisering av hva jeg anser som dyrt og billig. Det er noe så banalt som en tabell som sier at dersom strømprisen er innenfor et intervall, så blir den klassifisert. Tabellen har jeg laget basert på hva jeg selv synes er dyr og billig strøm.

I Homey benytter jeg variabelen NetPowerPrice til å sette en ny variabel jeg kaller PowerPricing.PriceCategory. Denne holder på gjeldende priskategori. Hele tabellen ser ut som følger:

Prisklassifisering i Homey

Variabelen PowerPricing.PriceCategory oppdateres hver gang NetPowerPrice er endret, det vil si hver time.

Til slutt setter jeg en variabel jeg kaller DailyPriceTreshold. Jeg har det slik at jeg kan sette huset i sparemodus dersom strømprisen passerer en gitt grense. For eksempel kan jeg si at dersom strømprisen inneværende time blir mer enn 10 % over dagens gjennomsnittspris, så kan jeg skru ned eller av lys eller varme. Denne grensen er altså relativ og styres etter tabellen ut i fra hvordan strømprisen er akkurat nå. Dersom denne grensen passeres setter jeg huset i sparemodus.

Med prisklassifiseringen i PowerPricing.PriceCategory kan jeg justere både varme og varmtvannsbereder. Når strømmen er billig går for eksempel varmtvannsberederen hele døgnet, men når strømmen er på sitt dyreste går den bare døgnets fire billigste timer. Styringen av varmtvannsberederen ser slik ut:

Styring av varmtvannsbereder med Homey

Nå har vi regnet ut estimert faktisk strømpris og vi har kategorisert strømmen på en skala mellom billig og dyr. Vi kommer straks til hvordan vi benytter dette videre.

Nettleie

1. juli ble det innført en sminket utgave av nettleien jeg skrev om før jul, kalt kapasitetsledd. Det var garantert ikke tilsiktet, men den nye modellen har noen ulemper og noen fordeler som jeg tenker å redegjøre for i en egen artikkel.

Med den nye nettleien innføres en trappetrinnsmodell der man betaler for maksimalt forbruk innenfor én time fordelt på tre forskjellige døgn i løpet av en måned. Forslaget så slik ut:

Nettleie 2022

Min vurdering så langt er at jeg ikke orker å gå kirurgisk til verks for å holde forbruket så lavt som mulig. I stedet gjør jeg heller en innsats for å barbere vekk toppene. For å få til dette benytter jeg appen Power of the hour (POTH) for Homey. Der kan man angi en forbruksgrense og så innføre handlinger automatisk dersom man står i fare for å overskride grensen.

Hos oss gjør jeg det så enkelt som at dersom vi står i fare for å overskride forbruksgrensen, så endrer huset automatisk modus fra Komfort til Eco, ref. avsnittet du kan lese lenger ned i denne artikkelen. Når timen er over går vi tilbake til opprinnelig modus.

Forbruksvarsler med Power of the hour

Videre har jeg også logikk for å endre forbruksgrensen gjennom året. Om sommeren går det fint å holde seg under 5 kilowattimer i en time, mens vi om vinteren har grensen til 10 kilowattimer. Dette endrer jeg automatisk med to flows.

Forbruksgrenser med Power of the hour

Utetemperatur

Hjemme hos oss har vi en miks av termostater og regulatorer som styrer varmen i varmegulvene. En termostat justerer varmegulvet basert på temperaturen i rommet eller gulvet, mens en regulator kun har varmen på en gitt prosentandel av tiden, uavhengig av temperaturen i rommet.

Erfaringen med begge disse er at regulatorene naturlig nok holder gulvvarmen mer stabil enn en termostat, ettersom regulatoren går kontinuerlig i 20-minutterssykluser, mens termostaten svinger mer opp og ned. Jeg vurderer å endre dem som i dag har termostatstyring til regulator.

Men ulempen med en regulator er at den ikke tar hensyn til temperaturen i omgivelsene. Eksempelvis kjører varmegulvet på badet 35 % av tiden om sommeren, mens det i de kaldeste periodene om vinteren må opp i 65 % for å oppnå tilsvarende varme. Det vil si at jeg trenger en mekanisme for å endre prosenten når utetemperaturen endrer seg. Jeg kunne valgt å sette opp en temperatursensor som så styrte varmegulvet, men etter å ha lest andres erfaringer ser det ut til å gi samme store svingninger som jeg har med termostatene.

Ute har jeg en temperatursensor fra Netatmo. Denne oppdaterer en variabel jeg kaller Temperature.Outdoor i Homey hvert 10. minutt. På samme måte som med strømprisen, har jeg laget en tabell med temperaturintervaller. For hver gang temperaturen endrer seg blir den klassifisert som følger:

Temperaturklassifisering i Homey

Basert på utetemperaturen kan jeg dermed si at et varmegulv for eksempel skal gå 35 % av tiden om sommeren og 65 % av tiden om vinteren. Mellom disse ytterpunktene har jeg flere trinn, slik det fremgår av følgende skjermbilde med et beist av en flow med omtrent 200 kort:

Temperatursetting

Resultatet av dette er at styringen av varmegulv med regulator er dynamisk og justerer seg selv gjennom året, i takt med utetemperaturen.

Dag og klokkeslett

Livet vi lever styres dessverre av klokka. I hvert fall på hverdagene. Vi står opp til samme tid, går ut døra til samme tid, kommer hjem til samme tid og legger oss til samme tid.

Jeg har derfor laget en liste med klokkeslett der jeg ønsker å veksle automatisk mellom forskjellige modus i huset, basert på hva vi gjør og når vi er hjemme. Listen med klokkeslett er ganske kort. Det samme er listen med modus.

  • Komfort: Den temperaturen vi ønsker når vi er hjemme og våkne.
  • Eco: Den temperaturen vi ønsker å ha når vi er hjemme men sover, eller er borte i kort tid.
  • Spar: Den temperaturen vi ønsker å ha når vi er bortreist over lengre tid, eller når strømprisen overstiger en gitt verdi.

Når klokken blir ett av klokkeslettene til venstre på skjermbildet skjer det et sett handlinger. For hvert klokkeslett sjekker jeg videre om det er en ukedag eller helg og om vi er hjemme eller bortreist. Jeg sjekker også om strømmen er kategorisert som dyr.

Tidsskjema i Homey

Resten av flow-en kommer jeg tilbake til straks.

Tilstedeværelse

Homey har funksjonalitet for tilstedeværelse, men den forteller kun hvorvidt vi er tilstede der og da, og den vet ingenting om hvor lenge vi tenker å være bortreist.

Derfor har jeg tre flows som kjøres manuelt og som sier hvilken modus som skal gå inntil vi enten setter den tilbake manuelt eller den endres automatisk.

Jeg har en tilstand som heter «Ferie». Denne kjører vi manuelt og setter huset til Spar helt til vi manuelt endrer den tilbake til «Hjemme».

Videre har vi en tilstand som heter «Borte i helgen». Den kjører vi også manuelt og setter huset til Eco inntil søndag ettermiddag, da skrur den det til Komfort automatisk.

Felles for fravær er at de deaktiverer flow for tidsskjema, slik at huset står permanent i samme modus.

En kompleks målfunksjon

Nå som det er laget logikk for alt dette, skal det sys sammen til det min bedre halvdel kaller en kompleks målfunksjon. Det vil si at vi kan ikke lage en logikk som optimaliserer for alle faktorene samtidig.

Hvis strømmen er svært billig en time eller tre om natten ønsker vi å utnytte dette til å lade bilen, varme opp varmegulvene, kjøre varmtvannsberederen, men da blir det vanskelig å holde seg under et gitt kapasitetsledd med nettleien. Du kan balansere dem opp mot hverandre, men du får ikke utnyttet begge faktorene — altså lav strømpris og lavt kapasitetsledd — fullt ut.

Vår vurdering er at vi heller fokuserer på strømprisen og heller er litt raus med nettleien, siden trinnene er ganske romslige og prisforskjellen mellom dem er ganske liten. Om vinteren holder vi oss under 10 kWt per time, om sommeren 5 kWt. Jeg skal se om jeg får regnet litt på hvor lenge man må utnytte lav strømpris for at det skal lønne seg med et romslig effektledd.

Sammenstilling av funksjoner

Dette skjermbildet har du sett før, og med utgangspunkt i dette sjekker jeg at ikke strømmen er klassifisert som dyr, ref avsnittet om strømpris, og deretter setter jeg ønsket modus til Komfort, Eco eller Spar i en variabel jeg kaller Temperature.Modus:

Tidsskjema i Homey

Dersom strømmen faktisk er klassifisert som dyr, så har jeg en annen variabel jeg kaller Temperature.Modus.Placeholder. Denne benytter jeg til å lagre det som skulle vært gjeldende modus, mens huset står i Spar som følger av dyr strøm. Når strømmen så blir billig (nok) igjen, aktiverer jeg modus basert på hva som står i Temperature.Modus.Placeholder.

Når Temperature.Modus er endret så sjekker jeg klassifisering av utetemperatur og setter så temperaturen eller prosenten til varmegulvet i en variabel. Dette skjer i det digre beistet av en flow vi så tidligere.

Temperatursetting

Som det fremgår av skjermbildet benytter jeg en variabel til å holde tallet som skal til varmegulvet.

Til slutt har jeg nok en flow som sier at når variabelen til varmegulvet endres, så oppdateres varmegulvet.

Endre temperatur i varmegulv

Oppsummering

Resultatet av det som står i denne artikkelen er at huset nå styrer seg selv gjennom hele døgnet, hele uken, året rundt, der det hensyntas antatt reell strømpris, utetemperatur og våre daglige rutiner.

I skrivende stund er det fortsatt under prøving og feiling, men det virker som at logikken er rimelig vanntett. Jeg tar uansett forbehold om feil i flows og logikk. Det er også en suppe av logikk for navngivning av variabler. Men, nå fungerer det sånn rimelig.

Var denne artikkelen nyttig for deg? Som leser må du gjerne gi et lite bidrag. Jeg bruker mye tid og penger på å lage gode artikler og bidrag hjelper meg med å skrive flere.

Hvor nyttig er denne artikkelen for deg?

Hva kan bli bedre?

Jeg blir veldig glad hvis du legger igjen noen stikkord om hva du tenker!

Smarthus

Som leser kan du gi et bidrag til produksjonen, til driften og til å skaffe utstyr til testing for å sikre regelmessige, uavhengige artikler, tester og vurderinger av høy kvalitet.

Gi et bidrag

Husk å abonnere på nyhetsbrevet, det er gratis og du får alle artikler rett i innboksen.

 

Flere artikler

Enda flere artikler? Besøk arkivet.

Om Martin

Martin Koksrud Bekkelund

Dette er Martin Koksrud Bekkelund sitt private nettsted, hvor han skriver om forbrukerteknologi, teknologiledelse og hvordan teknologi, samfunn og politikk påvirker hverandre. Martin er innehaver av konsulentselskapet Nivlheim. Les mer...

 

Mastodon Facebook LinkedIn Thingiverse GitHub Ko-Fi PayPal

© 1995-2024 Martin Koksrud Bekkelund
OpphavsrettRSS og abonnementKontaktPersonvern og informasjonskapsler