Integration of heatpump „iDM Terra ML Complete HGL“

Hi Community…
I just implemented the IDM Integration of @SimowN in Homeassistant with my idm SWM6-17
Everything up and working, great job @SimowN

I read data (e.g. temperatures) and also write the PV values via modbus.write_register
My problem:
I want to trigger the source pump seperatly via modbus…via adress 1714… and it did not work up to now.

my scripts.yaml looks like this:

idm_update_pv_values:
  alias: Update Photovoltaik values to IDM Headpump
  sequence:
  - service: modbus.write_register
    data:
      hub: idm_wp
      unit: 1
      address: 74
    data_template:
      value: >
        [ {{ unpack(pack(states("sensor.haus_pv_ueberschuss_skal")|float, ">f"), ">H", offset=2) }}, 
          {{ unpack(pack(states("sensor.haus_pv_ueberschuss_skal")|float, ">f"), ">H") }} ]

  - service: modbus.write_register
    data:
      hub: idm_wp
      unit: 1
      address: 78
    data_template:
      value: >
        [ {{ unpack(pack(states("sensor.haus_pv_aktuell")|float, ">f"), ">H", offset=2) }}, 
          {{ unpack(pack(states("sensor.haus_pv_aktuell")|float, ">f"), ">H") }} ]
  mode: single
  
idm_start_brunnenpumpe:
  alias: external start source pump IDM Heatpump
  sequence:
  - service: modbus.write_register
    data:
      hub: idm_wp
      unit: 1
      address: 1714
    data_template:
      value: >
        [ {{ unpack(pack("1"|int, ">i"), ">B", offset=2) }}, 
          {{ unpack(pack("1"|int, ">i"), ">B") }} ]
  mode: single
  
idm_stop_brunnenpumpe:
  alias: external stop source pump IDM Heatpump
  sequence:
  - service: modbus.write_register
    data:
      hub: idm_wp
      unit: 1
      address: 1714
    data_template:
      value: >
        [ {{ unpack(pack("0"|int, ">i"), ">B", offset=2) }}, 
          {{ unpack(pack("0"|int, ">i"), ">B") }} ]
  mode: single

So source pump can be started via script “idm_start_brunnenpumpe” but cannot be stopped with “idm_stop_brunnenpumpe” … I assume it has something to do with datatypes and values… it was trial and error so far, I dont know much about modbus protocoll and data types and pack and unpack :wink:

Any advice would be highly appreciated :slight_smile: