Home Assistant custom integration for kurvestyring av tilluftstemperatur på ventilasjon (primært Flexit), basert på utetemperatur — slik en varmekurve / værkompensering fungerer.
Kald ute → varmere tilluft, varm ute → kjøligere tilluft, med lineær overgang mellom konfigurerbare knekkpunkter.
Tilluft
22°C │●─────╮
│ ╲
10°C │ ╰──────●
└──┬────────────┬────► Utetemperatur
5°C 20°C
- Funksjoner
- Krav
- Installasjon
- Oppsett
- Entiteter
- Grafisk kurve-kort
- Tjenesten
ventireg.set_curve - Slik virker reguleringen
- Feilsøking
- Begrensninger
- Lisens
- Multipunkt-kurve (minst 2 punkter), lineær interpolasjon, flat (clamp) utenfor ytterpunktene.
- Alt konfigurerbart i UI — utesensor, climate-entitet, kurvepunkter, intervall, toleranse, avrundingssteg.
- Grafisk kort med dra-i-punktene-redigering (auto-registreres, ingen byggesteg).
- Auto-pause: endrer noe annet enn VentiReg settpunktet, stopper reguleringen automatisk (overskriver aldri en manuell endring).
- Varsling: persistent notification i Home Assistant 24 timer etter at auto-pause inntraff.
- Switch for på/av, statussensor (
På/Av/Auto pauset) og sensor for beregnet settpunkt. - Avrunder settpunktet til 0,5 °C (Flexit-steg).
- Home Assistant med HACS installert.
- En climate-entitet (
climate.*) der target-temperaturen styrer tilluften — typisk fra Flexit Nordic (BACnet) eller en Modbus/ESPHome-løsning. Sjekk atclimate.set_temperaturefaktisk flytter tilluftssettpunktet på ditt aggregat (se Feilsøking). - En utetemperatur-sensor (
sensor.*) med numerisk verdi i °C.
- HACS → Integrasjoner → tre prikker oppe til høyre → Custom repositories.
- Lim inn
https://github.com/oleost/VentReg, velg kategori Integration, og legg til. - Søk opp VentiReg i HACS og installer.
- Start Home Assistant på nytt.
- Innstillinger → Enheter og tjenester → Legg til integrasjon → VentiReg.
HACS → VentiReg → Update → start HA på nytt. Gjør en hard refresh i nettleseren (Ctrl/Cmd+Shift+R) så det nye kortet lastes.
Kopier custom_components/ventireg/ til config/custom_components/ i HA, og start på nytt.
Ved «Legg til integrasjon» (og senere via Konfigurer) setter du:
| Felt | Beskrivelse | Default |
|---|---|---|
| Utetemperatur-sensor | sensor.* som måler ute |
– |
| Ventilasjon (climate) | climate.* der target = tilluftstemperatur |
– |
| Kurvepunkter | ute:tilluft, skilt med komma/linjeskift, f.eks. 5:22, 20:10 |
-5:23, 5:20, 10:18, 20:10 |
| Oppdateringsintervall | Minutter mellom hver beregning | 15 |
| Toleranse | °C-avvik som regnes som ekstern endring | 0,5 |
| Avrundingssteg | Steg settpunktet rundes til | 0,5 |
Kurvepunkter-format: hvert punkt er utetemperatur:tilluftstemperatur. Desimaler bruker
punktum. Punkter skilles med komma, semikolon eller linjeskift. Eksempler:
-5:23, 5:20, 10:18, 20:10 # fire punkter (default)
5:22, 20:10 # enkleste, to punkter
-20:23, -10:23, 0:22, 10:21, 20:15, 25:15 # multipunkt
Innstillingene kan endres når som helst via Konfigurer på integrasjonen — uten å installere noe på nytt.
Integrasjonen lager én enhet med følgende entiteter (faktisk entity_id kan variere med
HA-språk — sjekk under Enheter og tjenester):
| Entitet (typisk id) | Type | Beskrivelse |
|---|---|---|
switch.ventireg_regulation |
switch | På = aktiv regulering. Av = stoppet (manuelt eller auto-pauset). |
sensor.ventireg_status |
sensor (enum) | På / Av / Auto pauset. |
sensor.ventireg_beregnet_settpunkt¹ |
sensor (°C) | Settpunktet kurven gir akkurat nå. Har attributtene curve_points, outdoor_temp og status (brukes av kortet). |
¹ Entitets-id-en følger HA-språket ditt. På norsk blir den sensor.ventireg_beregnet_settpunkt,
på engelsk sensor.ventireg_calculated_setpoint. Sjekk den faktiske id-en under Innstillinger →
Enheter og tjenester → VentiReg, og bruk den i kort-/tjeneste-konfigurasjonen under.
Integrasjonen registrerer kortet automatisk som en Lovelace-ressurs (slik HACS gjør) — du trenger ikke legge til en dashboard-ressurs manuelt. Det skjer like etter at Home Assistant har startet. (Krever omstart av HA første gang; bruker du YAML-dashbord, se Feilsøking.)
Rediger dashboardet → + Legg til kort → søk VentiReg Kurve, eller bruk YAML:
type: custom:ventireg-card
entity: sensor.ventireg_beregnet_settpunkt # bruk din faktiske entitets-id (se note ¹)
title: Utekompensert kurve| Felt | Påkrevd | Beskrivelse |
|---|---|---|
type |
ja | Må være custom:ventireg-card. |
entity |
ja | Beregnet-settpunkt-sensoren (den med curve_points-attributtet). |
title |
nei | Overskrift på kortet. Default «Utekompensert kurve». |
min_outdoor |
nei | Fast venstre kant på X-aksen (°C). Default ca. -25. |
max_outdoor |
nei | Fast høyre kant på X-aksen (°C). Default ca. 30. |
x_step |
nei | Snapping på utetemperatur ved dragging (grader). Default 1. |
- Dra hvert punkt fritt — venstre/høyre endrer utetemperatur, opp/ned endrer tilluft.
- Et punkt kan ikke krysse naboene sine (kurven holder seg i stigende rekkefølge). Y snappes til
0,5 °C, X til
x_step(default 1°). Mens du drar vises punktetsute° / tilluft°. - Endringen lagres når du slipper via
ventireg.set_curve. - Den stiplede linja viser nåværende utetemperatur, og prikken viser gjeldende settpunkt («ARB SP»).
Kortet er bare en penere måte å redigere kurven på — den kan også endres via Konfigurer (tekstfelt) eller tjenesten under. Alle tre veiene skriver til samme innstilling.
Overskriv kurvepunktene fra en automasjon, et skript eller utviklerverktøy.
| Parameter | Påkrevd | Beskrivelse |
|---|---|---|
entity_id |
nei | En VentiReg-entitet for instansen. Kan utelates hvis du bare har én instans. |
curve |
ja | Streng ("5:22, 20:10") eller liste av [ute, tilluft]-par. |
service: ventireg.set_curve
data:
entity_id: sensor.ventireg_beregnet_settpunkt # din faktiske entitets-id
curve: "0:23, 10:18, 20:10"Hvert 15. minutt (konfigurerbart), og kun når switchen er på:
- Les utetemperaturen og regn ut tilluft fra kurven (lineær interpolasjon, clamp utenfor ytterpunkt).
- Rund av til 0,5 °C.
- Sjekk først: avviker climate-settpunktet fra det VentiReg satt sist (≥ toleranse)?
- Ja → noen andre har endret det → auto-pause (switch av, status «Auto pauset»), skriv ingenting. Etter 24 t i pause sendes en persistent notification.
- Nei → skriv kurveverdien til climate-entiteten og husk den.
Gjenoppta: slå switchen på igjen. Da nullstiller VentiReg referansen og skriver kurveverdien umiddelbart (venter ikke 15 min), slik at den ikke pauser seg selv på nytt.
Manuelt av (du slår switchen av selv) gir ingen varsling — varslingen gjelder kun auto-pause.
Kortet vises ikke / «Custom element doesn't exist: ventireg-card».
Start HA på nytt etter installasjon/oppdatering. Kortet registreres som Lovelace-ressurs rett etter
oppstart; sjekk Innstillinger → Dashbord → Ressurser — /ventireg/ventireg-card.js skal stå der.
Gjør så en hard refresh (Ctrl/Cmd+Shift+R). Bruker du et YAML-dashbord (mode: yaml), styres
ressurser i YAML — legg da til ressursen selv:
# i konfigurasjonen for dashbordet (eller lovelace: resources:)
resources:
- url: /ventireg/ventireg-card.js
type: moduleSettpunktet på aggregatet flytter seg ikke.
Bekreft at climate.set_temperature på din Flexit faktisk styrer tilluft. Test i
Utviklerverktøy → Tjenester: kall climate.set_temperature på entiteten og se om tilluften endres.
Hvis aggregatet ditt styrer tilluft via en number.*-entitet i stedet, opprett en issue.
Den går i «Auto pauset» uventet. Da har noe annet (app, annen automasjon, manuell endring på panelet) endret settpunktet med ≥ toleranse. Øk eventuelt toleransen, eller slå switchen på igjen for å gjenoppta.
Ikke noe skjer / status står stille.
Sjekk at utesensoren har en gyldig numerisk verdi (ikke unavailable/unknown), og at switchen
er på. Se loggen for «VentiReg»-meldinger.
_last_set(referansen for pause-deteksjon) holdes i minne og lagres til disk, men en ekstern endring gjort mens HA var nede oppdages ikke før neste normale syklus.- Kortet lar deg dra punktene fritt (ute + tilluft), men kan ikke legge til/fjerne punkter i grafen ennå — bruk tekstfeltet under Konfigurer for å endre antall punkter.
- Interpolasjonen er lineær og clamper utenfor ytterpunktene (ekstrapolerer ikke).
Se CLAUDE.md for arkitektur og designvalg.