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.

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.
2. Arkitekturen
Løsningen ble delt i tydelige lag:
- CN105 i varmepumpen gir strøm og seriell kommunikasjon.
- Arduino Nano ESP32 kjører ESPHome og oversetter varmepumpens protokoll.
- Home Assistant håndterer tilstand, tjenester, brukere og historikk.
- 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
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:
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å mikrokontrolleren, mens mikrokontrolleren 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
- Dokumenter hvilken side av kontakten pinnekartet viser.
- TX og RX må møtes i riktig retning.
- En grønn statusprikk kan beskrive feil lag av systemet.
- Direkte signaltilkobling bør erstattes av dokumentert nivåtilpasning i permanent versjon.
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.

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:
- temperaturen varmepumpen rapporterer
- temperaturen fra en separat romsensor
- lokal utetemperatur
- måltemperatur, modus og vifte
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
- montere dokumentert nivåtilpasning/beskyttelse på serielinjene
- lage et endelig koblingsdiagram basert på den faktiske installasjonen
- montere Nanoen ryddig og mekanisk sikkert
- samle temperatur- og stabilitetsdata over tid
- vise intern og ekstern romtemperatur i Høiland Varme
- publisere del 2 med målinger, automasjoner og langtidstest
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.