For example, I’m able to control the device On/Off function (25).
But the multi-option one doesn’t work (26) (same problem with some other binary switches).
I have used the service> modbus.write_register.
OK, the last “feature” might of been because I was trying to use node red for troubleshooting and maybe I managed to write over some sensor values in HA directly.
I’m using sensors just to double check what HA can read from the device.
For writing registers I started out with modbus switches and later on for troubleshooting with modbus.write_register service.
I’m having FTC5 unit, which rules out the option, that my device just don’t support the features that I require.
`write_register Write register.
Requires hub, unit, address and value, fields.
value can be either single value or an array
Attribute
Description
name
Hub name (defaults to ‘default’ when omitted)
unit
Slave address (set to 255 you talk to Modbus via TCP)
address
Address of the Register (e.g., 138)
value
A single value or an array of 16-bit values. Single value will call modbus function code 6. Array will call modbus function code 16. Array might need reverse ordering. E.g., to set 0x0004 you might need to set [4,0]
Thats where you are going wrong…this is a sensor and you cannot write as you would a binary switch I believe…has to be written as a sensor using a similar method as I described above I believe? But others may correct me on that?
As I said above:
Holding Register Analogue Output
Read and write accessible register used for status information
which holds a 16-bit value (0-65535)
PS: You need to rationalise how you name entities (sensors and switches)
All those characters you are using could be causing chaos as well I believe.
Try something like: Op Mode Normal Eco
Which will produce a sensor called: sensor.op_mode_normal_eco
Ah well I can’t really explain that but thats the way I advise you to try it.
Binary (ie: 0 or 1) for switches and binary sensors.
Analog Sensors (ie: analog value) do as I advised above using an input_number to provide the value (an integer) to be written by the service to the sensor (an analog value) NOT BINARY.
You cannot write a binary value to something that is looking for an analog value.