Warmtepomp via Modbus

Doorsnede van een huis met lucht-water-warmtepomp, tapwatervat, vloerverwarming beneden, radiatoren boven en een kleine thuisserver

De warmtepomp is een LG Therma V R290 monobloc van 9 kW, met één verwarmingscircuit (vloerverwarming beneden en radiatoren boven op dezelfde aanvoertemperatuur) en een tapwatervat van 300 liter. Home Assistant leest hem uit en stuurt hem via Modbus. Deze pagina beschrijft hoe, en welke meldingen van de LG je niet blind moet geloven.

De aansluiting

Modbus RTU is een eenvoudig seriële protocol over twee draden (RS485). De LG heeft die aansluiting op de Control Unit, klem 23 (A) en 24 (B). Instellingen: slave-adres 33, 9600 baud, 8N1.

De LG Meter Interface gebruikt dezelfde klemmen en kan dus niet naast Modbus bestaan. Het elektrisch verbruik meet ik daarom extern, met een Shelly Pro 3EM op de 3-fasegroep van het buitendeel.

Om Modbus aan te zetten moeten op de Control Unit enkele DIP-schakelaars om (onder andere Modbus slave en open protocol). Let op: bij deze unit was de labeling omgekeerd ten opzichte van de documentatie. De Control Unit zit aan netspanning; het openen en aansluiten laat je over aan een erkend installateur.

Twee bussen, twee adapters

De Deye en de LG hebben elk een eigen USB-RS485-adapter. Twee integraties op één adapter geven Errno 11: exclusively lock port.

De poort staat in secrets.yaml, op het vaste /dev/serial/by-id/-pad. Een package-update die de poort terugzette, kostte drie dagen aan bevroren waarden, omdat HA de laatste bekende waarden bleef tonen. Sindsdien is er een sensor die meldt of de Modbus-verbinding leeft: de laatste melding moet jonger zijn dan 2 minuten.

Welke registers ik gebruik

Adressen zijn 0-gebaseerd. Input registers lees je met functie 04, holding registers met functie 03. Controleer ze tegen de Modbus-documentatie van jouw model.

TypeAdresBetekenis
Input0Foutcode
Input2 / 3Retour- / aanvoertemperatuur
Input5Boilertemperatuur
Input8Debiet
Input12 / 13Buitentemperatuur / waterdruk
Holding0Bedrijfsmodus (0 koelen, 3 auto, 4 verwarmen)
Holding4Shift circuit 1
Holding8Tapwaterdoel
Coil0Hoofdschakelaar ruimteverwarming
Coil1 / 3Tapwater / desinfectie

Wat de LG wel en niet betrouwbaar meldt

  • Tapwaterbedrijf. Het statusbit bleek onbetrouwbaar: de boiler ging van 21 naar 49 °C met het bit uit. Tapwater wordt nu herkend aan het bit of aan een boiler die sneller dan 3 K/h opwarmt terwijl de compressor draait.
  • Elektrisch element. Het bit gaat aan tijdens desinfectie, ook zonder aangesloten element; de LG stuurt alleen het relais. Een schakelaar in HA bepaalt of dat bit ergens meetelt.
  • Koelen. Het koelbit staat altijd aan, ook met koelen niet vrijgegeven. De bedrijfstoestand kijkt naar de bedrijfsmodus, niet naar dat bit.
  • Geen communicatie met het buitendeel. Dan geeft de LG 1200 °C voor aanvoer en retour. Die waarden zijn als nan_value gemarkeerd, zodat ze niet in grafieken en COP-berekeningen belanden.

De stooklijn

Een stooklijn bepaalt de aanvoertemperatuur bij een gegeven buitentemperatuur. Met de fabrieksstooklijn 50/40 en zonder kamerterugkoppeling stookte de LG het huis van 22,5 naar 24 °C, en draaide de compressor 39 keer in 24 uur.

Nu staat hij op 42/28: 42 °C aanvoer bij −10 °C buiten, 28 °C bij 18 °C buiten. Daarop pendelt hij niet meer. Het plan is om de bovenkant elke week een graad te verlagen, zolang het boven warm genoeg blijft.

Een kamerthermostaat in Home Assistant

De Honeywell-thermostaten zijn niet bedraad op de LG. Home Assistant schakelt het verwarmingscircuit via Modbus aan en uit, op basis van de temperatuur beneden en boven:

  • hysterese van 0,5 K, omdat de thermostaten in stappen van 0,5 K meten;
  • minimaal 60 minuten aan en 60 minuten uit;
  • een vangnet: onder 16 °C gaat de verwarming direct aan, met een melding;
  • valt de woonkamersensor kort weg, dan valt de thermostaat eerst terug op de bovensensor, en grijpt pas in als beide langer dan 15 minuten weg zijn;
  • zonder Modbus-verbinding doet de thermostaat niets.

Wat ik anders zou doen

  • Vanaf het begin elke bus een eigen adapter, de poort in secrets.yaml, en een verbondenheidssensor vóór ik dashboards bouw.
  • De fabrieksstooklijn meteen verlagen in plaats van eerst een week te pendelen.
  • Elk statusbit eerst naast een meting leggen voordat ik er een berekening op bouw.

De incidenten achter deze lessen staan op Lessen uit de praktijk.


Deze waarden gelden voor één installatie. Controleer ze tegen je eigen documentatie; werk aan 230/400 V laat je over aan een erkend installateur. Stand: oktober 2026.