I try to read data from a Fronius Smart Meter 63A, connected via Modbus RTU to a Datamanager via Modbus TCP using the modbus.sunspec binding.
I have a things file with
Bridge modbus:tcp:bridgemeter [ host="192.168.0.11", port=502, id=240, enableDiscovery=true ] Thing modbus:meter-wye-phase:bridgemeter:fronius "Fronius SmartMeter" (modbus:tcp:bridgemeter) [ address=40069, length=127, refresh=15 ]
and and items file
Number:ElectricCurrent Fronius_Meter_Total_Power {channel="modbus:meter-wye-phase:bridge:fronius:ac-total-current"}
But get the following errors
2020-11-29 16:37:03.015 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Try 1 out of 3 failed when executing request (ModbusReadRequestBlueprint@5d956a[slaveId=240,functionCode=READ_MULTIPLE_REGISTERS,start=40069,length=127,maxTries=3]). Will try again soon. Error was: net.wimpi.modbus.ModbusSlaveException Error Code = 3 [operation ID ea419547-7044-4fdd-ac0d-0a2862300f55] 2020-11-29 16:37:03.080 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Try 2 out of 3 failed when executing request (ModbusReadRequestBlueprint@5d956a[slaveId=240,functionCode=READ_MULTIPLE_REGISTERS,start=40069,length=127,maxTries=3]). Will try again soon. Error was: net.wimpi.modbus.ModbusSlaveException Error Code = 3 [operation ID ea419547-7044-4fdd-ac0d-0a2862300f55] 2020-11-29 16:37:03.145 [ERROR] [rt.modbus.internal.ModbusManagerImpl] - Last try 3 failed when executing request (ModbusReadRequestBlueprint@5d956a[slaveId=240,functionCode=READ_MULTIPLE_REGISTERS,start=40069,length=127,maxTries=3]). Aborting. Error was: net.wimpi.modbus.ModbusSlaveException Error Code = 3 [operation ID ea419547-7044-4fdd-ac0d-0a2862300f55]
It seems that there is an issue with the length, but from where do I get the correct block length? - As Reading data from the Fronius Symo at device ID 1 with length=52 seems to work.