Prosjektlogg · del 1

En varmepumpe fra 2010 fikk sitt eget lokale API.

Mitsubishi MSZ-FD25VA, CN105, Arduino Nano ESP32, ESPHome, Home Assistant og en mobilapp som ikke trenger produsentskyen.

13. august 2026Ca. 12 min lesetidPågående langtidstest
Styrekortet i Mitsubishi-varmepumpen med en rød fempolet CN105-kontakt
Styrekortet i innedelen. Den røde fempolede kontakten er merket CN105. Fem pinner. Fem blå ledninger. Farger var tydeligvis for nybegynnere.

1. Målet: lokal styring uten unødvendig sky

Varmepumpen er en Mitsubishi Electric MSZ-FD25VA produsert i 2010. Den fungerer fortsatt fint, men den kom fra en tid da «smart» betydde at fjernkontrollen hadde klokke.

Målet var å hente ekte driftsdata og styre pumpen lokalt gjennom Home Assistant. Ikke IR-blasting, ikke en ekstern skytjeneste og ikke et kamera som forsøker å lese displayet på fjernkontrollen.

Planen var enkel: finn kontakten, koble fire ledninger og bli ferdig. Planen hadde ikke lest resten av denne artikkelen.

2. Arkitekturen

Løsningen ble delt i tydelige lag:

  1. CN105 i varmepumpen gir strøm og seriell kommunikasjon.
  2. Arduino Nano ESP32 kjører ESPHome og oversetter varmepumpens protokoll.
  3. Home Assistant håndterer tilstand, tjenester, brukere og historikk.
  4. Høiland Varme er en lokal, mobiltilpasset PWA for den daglige styringen.

Lokalt først: Appen og styringen er kun tilgjengelig på hjemmenettet. Home Assistant er sikker backend, og ingen permanent tilgangsnøkkel er bygget inn i frontend.

3. Jakten på CN105

Den offisielle servicemanualen og bilder fra det faktiske styrekortet ble brukt til å identifisere kontakten. På kortet viste silketrykket både CN105 og pinnenumrene: 5 på den ene siden og 1 på den andre.

Utfordringen var at kabelpluggen blir speilvendt når man ser inn i kontaktåpningene. I tillegg hadde kabelen fem identiske blå ledere. Det er en effektiv måte å gjøre et enkelt pinnekart til et mindre forskningsprosjekt.

Pinnefunksjonene vi arbeidet etter

1Forsyning, omtrent 12 V. Testet til Nanoens VIN i dette oppsettet.
2Felles jord.
35 V-forsyning, ikke brukt som direkte 3,3 V-forsyning.
4Seriedata i én retning.
5Seriedata i motsatt retning.

Sikkerhet: Dette er en prosjektlogg, ikke en universell koblingsfasit. Varmepumper inneholder nettspenning, kortrevisjoner kan variere, og ESP32-GPIO er 3,3 V. Gjør modellen strømløs, verifiser kontakten og mål signalnivåene før du kopierer noe.

4. ESPHome og Home Assistant

Nano ESP32 ble først flashet og testet via USB, før den fikk lov til å møte varmepumpen. ESPHome-oppsettet bruker kryptert API, OTA-oppdatering og seriell kommunikasjon mot CN105. Byggingen ble lagt til en egen ESPHome-buildserver slik at Home Assistant-maskinen slapp å gjøre alt tungarbeidet.

Da enheten kom på nett, opprettet Home Assistant blant annet en klimaentitet, tilkoblingsstatus og Wi‑Fi-signal. Men dette ga oss en viktig lærdom:

«ESPHome tilkoblet» betyr at Home Assistant ser ESP32-en. Det betyr ikke automatisk at ESP32-en snakker med varmepumpen.

5. Det lyste. Det var ikke nok.

Første forsøk ga strøm til Nanoen og stabil Wi‑Fi-forbindelse, men ingen temperatur, modus eller måltemperatur fra pumpen. Home Assistant så altså mikro­kontrolleren, mens mikro­kontrolleren sto ved siden av varmepumpen og lot som de ikke kjente hverandre.

Etter kontroll av pinneorientering og serieretning begynte de ekte dataene å komme inn: kjølemodus, vifte, romtemperatur og måltemperatur. Da kunne vi endelig skille mellom «kortet er på» og «systemet virker».

Det vi tar med oss

6. Høiland Varme

Home Assistant er en glimrende backend, men den daglige kontrollen skulle være enklere. Derfor ble det laget en egen PWA med temperatur, av/på, modus og vifte – uten administrasjon, diagnostikk eller menyer som bare gjentar hovedknappene.

Mobilvisning av Høiland Varme med mørk blå bakgrunn, oransje temperaturbue og kontroller for temperatur, modus og vifte
En tidlig mobilversjon av Høiland Varme. Mørk blå, korallfarget temperaturbue og akkurat de kontrollene som trengs. Fargevalget er midlertidig endelig frem til øverste designledelse prøver appen.

Appen bruker Home Assistants innlogging og lagrer økten lokalt på telefonen. Av/på-knappen måtte også rettes: første versjon sendte alltid varme når pumpen ble slått på. Det fungerte teknisk, men var en uventet funksjon midt i kjølemodus.

7. Hvor varmt pumpa tror det er

Den største gevinsten er ikke bare fjernstyring. Vi kan nå se temperaturen varmepumpens interne sensor rapporterer. Sensoren sitter høyt ved innedelen, der luften ofte er varmere enn i oppholdssonen.

Hvis pumpen tror rommet er 24 °C mens en separat romsensor måler 22 °C, reduserer eller stopper den varmen tidligere enn ønsket. Neste steg er å samle samtidige målinger av:

Da kan vi avgjøre om avviket er stabilt, eller om det endrer seg med luftstrøm og utetemperatur. Først måler vi. Deretter automatiserer vi. Det er billigere enn å automatisere en antakelse med stor selvtillit.

8. Videre arbeid

Status akkurat nå: CN105-kommunikasjonen fungerer, Home Assistant mottar ekte varmepumpedata, og mobilappen styrer pumpen lokalt. Langtidstesten har begynt. Ingen er mer overrasket enn oss.

← Tilbake til bloggen