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 
Any advice would be highly appreciated 
