I went and did it… yaaaaaaaaaa…
Was able to create a test automation which allowed me to write an array as below…
service: modbus.write_register
data:
hub: solis
unit: '1'
address: '43143'
data_template:
value: [00, 00, 0, 0, 21, 26, 21, 30]
Which means that it will discharge between 21:26 to 21:30.
If you try and write each individual registry to set the charge and discharge times the inverter dose not work e.g. the inverter dose not respond to the times set. HOWEVER if you set the times using an array in the example above the inverter acts on the times!
Once you have the times set it is then possible to change the charge and discharge rate to control flow as single registry updates.
As @Markg says you have to also set the “Storage control switch value” value to 35 to force charge mode e.g.
service: modbus.write_register
data_template:
hub: solis
unit: '1'
address: '43110'
value: '{{ trigger.to_state.state | int }}'
Thanks @Markg for pointing me in the right direction… would buy you a beer sir, if your ever in NI
cheers