Sometimes the modbus implementation is off by 1. For example it may be you need offset 16 or offset 14. Sometimes they don't tell you a value is byte swapped etc.
What I'm saying is try stuff.
I can also assist but you would need to provide another "copy value" & a list of values you expect. Without knowing what numbers you are expecting I can not assist further.
I am not certain why you point that out? I am well aware of how devices pack data into 16bit ModBus registers - that is why I proposed you use the buffer-parser since it parses the buffer into whatever shape you need. It extracts either a bit, a byte, a WORD, a Double, a BigInt from whatever position in the input data you specify by the offset.
The manual states, for address 115 that it is a "FLOAT 4" value. It goes on to state "The Float or Real values are transferred in accordance with the IEEE754 Standard Format for 32-bit values". This is exactly what the Buffer Parser does (JavaScript/NodeJS adheres to IEEE754 format
HOWEVER, many times, what the manual says and what the firmware does are not the same. For example, often, a value is a UINT32/1000 or it is an INT16/10, sometimes the value is 16 or 32 bit swapped etc etc etc etc.
You have the data, you have the tools, all I can suggest is try different ways of parsing the data. Also, have you tried adding other items to the buffer parser (e.g. offset 26
Read the built in help - it explains what each output does.
I can help you but I need very precise info. For example, I need a snapshot of the data (from "Copy Value") AND the EXACT values they should be at the exact time the "Copy Value" was taken.
You need to provide something like ...
Snapshot of data taken at 15:22:37
*1 [ the captured data "Copy Value" output of top + bottom ]
Actual values on the device when above snapshot was taken at 15:22:37
Item
Register
Value on the pool meter when the snapshot was taken
Chlor Measure Value
100
0.512 **2
Chlor Setpoint
111
0.500 **2
pH Measure Value
115
6.8 **2
pH Setpoint
126
7.2 **2
Total chlorine Measure Value
145
0.999 **2
Total chlorine Setpoint
156
0.789 **2
Temperature Measure Value
175
21.2 **2
Temperature Lower range
182
19.5 **2
Temperature Upper range
184
24.5 **2
*1 Provide "Copy Value" data from modbus **2 Provide REAL values from the Pool Meter - written down at the exact moment that *1 was done