LG Therma V heat pump modbus control

Did it work out? I have a LG therma hm163m u33. What is your final config?

The working yaml for u33,flow l/m dont work for me

  - name: LG therma v 
    type: tcp
    host: 192.168.0.200
    port: 502
    delay: 2
    timeout: 5
    sensors: 
    
    ##input
      - name: lg_error_code
        scan_interval: 120
        address: 0
        slave: 1
        input_type: input

      - name: lg_water_inlet_temp
        scale: 0.1
        precision: 1
        scan_interval: 15
        address: 2
        slave: 1
        unit_of_measurement: °C
        input_type: input

      - name: lg_water_outlet_temp
        scale: 0.1
        precision: 1
        scan_interval: 15
        address: 3
        slave: 1
        unit_of_measurement: °C
        input_type: input

      - name: lg_dhw_water_temp
        scale: 0.1
        precision: 1
        scan_interval: 30
        address: 5
        slave: 1
        unit_of_measurement: °C
        input_type: input        
        
      - name: lg_room_air_temp_circuit1
        scale: 0.1
        precision: 1
        scan_interval: 60
        address: 7
        slave: 1
        unit_of_measurement: °C
        input_type: input
        
      - name: lg_current_flow_rate
        scale: 0.1
        precision: 1
        scan_interval: 10
        address: 8
        slave: 1
        unit_of_measurement: l/min
        input_type: input

      - name: lg_outdoor_air_temp
        scale: 0.1
        precision: 1
        scan_interval: 60
        address: 12
        slave: 1
        unit_of_measurement: °C
        input_type: input
        
      - name: lg_Pipe_in_temp
        scale: 0.1
        precision: 1
        scan_interval: 15
        address: 16
        slave: 1
        unit_of_measurement: °C
        input_type: input
      
      - name: lg_Pipe_out_temp
        scale: 0.1
        precision: 1
        scan_interval: 15
        address: 17
        slave: 1
        unit_of_measurement: °C
        input_type: input

      - name: lg_suction_temp
        scale: 0.1
        precision: 1
        scan_interval: 15
        address: 18
        slave: 1
        unit_of_measurement: °C
        input_type: input

      - name: lg_compressor_temp
        scale: 0.1
        precision: 1
        scan_interval: 15
        address: 19
        slave: 1
        unit_of_measurement: °C
        input_type: input

      - name: lg_condensor_temp
        scale: 0.1
        precision: 1
        scan_interval: 15
        address: 20
        slave: 1
        unit_of_measurement: °C
        input_type: input
        
      - name: lg_high_press
        scale: 0.01
        precision: 3
        scan_interval: 30
        address: 22
        slave: 1
        unit_of_measurement: Bar
        input_type: input
        
      - name: lg_low_press
        scale: 0.01
        precision: 3
        scan_interval: 30
        address: 23
        slave: 1
        unit_of_measurement: Bar
        input_type: input
        
      - name: lg_inverter
        scale: 1
        precision: 0
        scan_interval: 30
        address: 24
        slave: 1
        unit_of_measurement: Hz
        input_type: input
        
        ##holding
      - name: lg_operation_mode
        scan_interval: 30
        address: 0
        slave: 1
        input_type: holding
        
      - name: lg_control_method
        scan_interval: 30
        address: 1
        slave: 1
        input_type: holding
        
      - name: lg_target_temp_circuit1
        scale: 0.1
        precision: 1
        scan_interval: 30
        address: 2
        slave: 1
        unit_of_measurement: °C
        input_type: holding

      - name: lg_room_air_temp_circuit1_holding
        scale: 0.1
        precision: 1
        scan_interval: 30
        address: 3
        slave: 1
        unit_of_measurement: °C
        input_type: holding
        
      - name: lg_shift_value_in_auto_mode_circuit1
        scan_interval: 30
        address: 4
        slave: 1
        input_type: holding
        
      - name: lg_shift_value_in_auto_mode_circuit2
        scan_interval: 30
        address: 7
        slave: 1
        input_type: holding

      - name: lg_dhw_target_temp
        scale: 0.1
        precision: 1
        scan_interval: 30
        address: 8
        slave: 1
        unit_of_measurement: °C
        input_type: holding       
        
    binary_sensors:
        ## discrete
      - name: lg_water_flow_status   
        scan_interval: 15
        address: 0
        slave: 1
        input_type: discrete_input
        
      - name: lg_water_pump_status   
        scan_interval: 15
        address: 1
        slave: 1
        input_type: discrete_input
        
      - name: lg_compressor_status   
        scan_interval: 30
        address: 3
        slave: 1
        input_type: discrete_input
        
      - name: lg_defrosting_status   
        scan_interval: 30
        address: 4
        slave: 1
        input_type: discrete_input
        
      - name: lg_dhw_heating_status
        scan_interval: 30
        address: 5
        slave: 1
        input_type: discrete_input

      - name: lg_silent_mode_status   
        scan_interval: 30
        address: 7
        slave: 1
        input_type: discrete_input

      - name: lg_error_status   
        scan_interval: 30
        address: 13
        slave: 1
        input_type: discrete_input
        
    switches:        
        ##coil
      - name: lg_enable_disable_heating/cooling
        address: 0
        slave: 1
        write_type: coil
        verify:

      - name: lg_enable_disable_dhw
        address: 1
        slave: 1
        write_type: coil
        verify:
        
      - name: lg_silent_mode_set
        address: 2
        slave: 1
        write_type: coil
        verify:
        
      - name: lg_trigger_desinfection_operation
        address: 3
        slave: 1
        write_type: coil
        verify:
        
      - name: lg_emergency_stop
        address: 4
        slave: 1
        write_type: coil
        verify:
        
      - name: lg_trigger_emergency_operation
        address: 5
        slave: 1
        write_type: coil
        verify:

    # THERMOSTATS
    climates:
      - name: "Therma V heating/cooling"
        address: 7
        slave: 1
        input_type: input
        max_temp: 60
        min_temp: 18
        offset: 0
        precision: 1
        scale: 0.1
        target_temp_register: 2
        temp_step: 1
        temperature_unit: C
        hvac_mode_register:
          address: 0
          values:
            state_cool: 0
            state_heat: 4
            state_auto: 3
            
      - name: "Therma V DHW"
        address: 5
        slave: 1
        input_type: input
        max_temp: 60
        min_temp: 40
        offset: 0
        precision: 1
        scale: 0.1
        target_temp_register: 8
        temp_step: 1
        temperature_unit: C

I am looking for the modbus code responsible for controlling (turning on/off) the circulation pump for DHW, which is it? I have therma v monoblock 9kW u44.

So since we know

  • inlet temperature
  • outlet temperature
  • current energy consumption

how can we calculate current COP?

You also need flow.

Flow(m3/h) * Delta T * 981 (sm water) * 4.2 (sh water)
Answer is in Joule devide bij 3600 for kWh.

Now you can devide the outgoing energie by incomming energie = COP

Hello everyone,
Does anyone have LG hm161m u32? I am trying to use the waveshare RS485 to WiFi and PoE with no luck

must enable dipswitch for modbus and on controler must be modbus addres 1

on first look you have older non wifi / non modbus / older style remote so you cant updated

Yes, I have the U32,

the control is this one (without the CH01 error :smile: )

And I am using the bellow LG IP485 Interface in order to get modbus A and B

img0206

Where I am sending the AB to the bellow waveshare 485 to WiFi POE

There is one PCB in the heat pump (the inverter pcb) where the IP485 LG interface is connected and flashing normally but I cant make waveshare converter to work with home assistant.

if you use china zlvircom you have same dev ip and dest ip and work mode tcp server? sometime you must go in waveshare web interface and than in zlvircom. In HA must add yaml with same IP to work


I have the same device.
Did you find a solution?

Hi Slawek,
I am in the same situation. Were you able to get a modbus map? I have the same shifted addresses (compared to the manual). My heat pump Hydrosplit R32 16kW IWT 200L HN1616Y+HU163MRB