
The LG ThermaV (2021+ models) is an air-to-water heat pump that communicates with TapHome via Modbus RTU over RS-485. The template provides heating/cooling mode control, domestic hot water (DHW) on/off switching, five temperature sensors (water inlet, water outlet, room air, DHW tank, solar collector), and two target temperature setpoints for space heating and DHW.
The heat pump connects directly to TapHome Core via RS-485 without requiring the PMBUSB00A Modbus gateway — the outdoor unit has a built-in Modbus RTU slave interface.
Hardware connection
RS-485 wiring
Connect the RS-485 A and B signal lines from the outdoor unit PCB to TapHome Core:
- A (RS-485+) → A+/D+ on TapHome RS-485
- B (RS-485-) → B-/D- on TapHome RS-485
Use shielded twisted pair cable for the A/B signal lines.
Important — Register type swap in LG documentation
The official LG installation manual has the holding register and input register function codes swapped. What the manual labels as “Holding register (0x03)” is actually an input register, and vice versa. Community sources have confirmed and corrected this. The TapHome template uses the correct register addresses.
Technical specifications
- Protocol: Modbus RTU Slave, RS-485
- Baud rate: 9600, no parity, 1 stop bit, 8 data bits
- Default Slave ID: 1 (configurable via thermostat display)
Configuration
Enabling Modbus communication
Modbus communication must be enabled via the DIP switch SW1 located inside the outdoor unit:
- Power off the outdoor unit
- Open the outdoor unit electrical panel
- Locate DIP switch SW1 on the PCB
- Set the following DIP switch positions:
- DIP 1: ON — enables Modbus interface
- DIP 2: ON — slave mode
- On SW2, set DIP 1: ON — slave designation
- Power on the outdoor unit
Slave ID configuration
The default Slave ID is 1. To change it, navigate to the thermostat display settings. When importing the template in TapHome, enter the matching Slave ID in the import parameters.
The Slave ID can also be set to 2 on some model variants. If communication fails with Slave ID 1, try Slave ID 2.
Modbus settings in TapHome
Configure the TapHome Modbus RTU module with:
- Baud rate: 9600
- Parity: None
- Stop bits: 1
- Data bits: 8
- Slave ID: 1 (or as configured on the heat pump)
Device capabilities
Heating and cooling mode
Heating & Cooling Mode (C:0 + H:0) — a combined multi-value switch that controls both the power state and operation mode of the heat pump. The switch reads coil register C:0 for the on/off state and holding register H:0 for the active mode.
Available modes:
| Value | Mode | Description |
|---|---|---|
| Off | Stop | Heat pump turned off (C:0 = 0) |
| Auto | Automatic | Automatic heating/cooling selection (H:0 = 3) |
| Heating | Heating | Space heating mode (H:0 = 4) |
| Cooling | Cooling | Space cooling mode (H:0 = 0) |
The write logic handles the power state transition: when switching from Off to any mode, the template first enables the operate coil (C:0 = 1) before setting the operation mode.
Domestic hot water control
DHW On/Off (C:1) — enables or disables domestic hot water production. This is a simple on/off switch using coil register 1. When enabled, the heat pump heats the DHW tank to the target temperature.
Temperature monitoring
The template provides five temperature sensors, all using automatic /10 conversion (raw register value divided by 10 to get °C):
- Water Inlet Temperature (Input 2) — water temperature entering the heat pump from the heating system
- Water Outlet Temperature (Input 3) — water temperature leaving the heat pump to the heating system
- Room Temperature (Input 7) — room air temperature from heating circuit 1, polled every 15 seconds
- DHW Tank Temperature (Input 5) — domestic hot water tank temperature
- Solar Collector Temperature (Input 6) — solar collector temperature, available only on AWHP models with a solar collector installation, polled every 15 seconds
Target temperature setpoints
Two temperature setpoints allow direct control from TapHome:
- Target Temperature (Circuit 1) (H:2) — heating/cooling target temperature for the primary heating circuit. Range 30–50°C for heating. The register uses Int16 with /10 scaling (value × 10 for write, /10 for read).
- DHW Target Temperature (H:1) — domestic hot water target temperature. Range 45–60°C. Uses the same /10 scaling.
The target temperature setpoints can be adjusted directly from TapHome and will be reflected on the heat pump thermostat display.
Additional capabilities
The LG ThermaV heat pump also supports silent mode (reduced outdoor unit noise), DHW tank disinfection (anti-legionella cycle), emergency stop, and emergency operation (backup heater only) via additional coil registers. The system provides extensive read-only status information through discrete input registers, including water flow, compressor, defrost cycle, DHW heating, solar pump, and backup heater status. Additional sensor registers for outdoor air temperature, water pressure, compressor RPM, and refrigerant pressures are available. A second heating circuit with independent target temperature is also supported. These can be added in a future template update.
Troubleshooting
No Modbus communication
- Verify DIP switches: Confirm SW1 DIP 1 and DIP 2 are both ON, and SW2 DIP 1 is ON
- Check RS-485 cables: Ensure A and B are correctly connected and not swapped
- Confirm Slave ID: Default is 1 — verify TapHome import parameter matches the heat pump setting
- Check baud rate: Must be 9600 baud, no parity, 1 stop bit in TapHome
Register type confusion
The official LG installation manual has holding and input register function codes swapped. The TapHome template already uses the correct (community-verified) register addresses. If referencing the LG manual directly, swap the register types.
Temperature readings showing incorrect values
All temperature registers use a scale factor of 0.1 (divide by 10). If raw values appear in TapHome, verify the template is correctly imported with the /10 conversion scripts.
Communication intermittent or unstable
- Some LG ThermaV model variants or firmware versions have limited Modbus support
- USB RS-485 adapters must explicitly support Modbus RTU protocol
- “Cleanup recv buffer before send” errors indicate configuration issues — verify baud rate and parity settings
