Modbus node not working

Hi all,

I have a flow trying to get some Modbus readings. I have 2 modbus devices, one of which seems to work fine. The other one is intermittent and fails most of the time. Can anyone tell me what this error message means and what to do about it?

  • Error: FSM Not Ready To Read At State INIT

[{"id":"864f82e3.64c7e","type":"tab","label":"SI6 Modbus","disabled":false,"info":""},{"id":"21eec4d6.8d0f8c","type":"debug","z":"864f82e3.64c7e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":610,"y":100,"wires":[]},{"id":"3f0d89a7.eb4176","type":"modbus-read","z":"864f82e3.64c7e","name":"SI6 Battery Voltage","topic":"SI6 Battery Voltage","showStatusActivities":true,"logIOActivities":false,"showErrors":true,"unitid":"3","dataType":"HoldingRegister","adr":"30851","quantity":"2","rate":"2","rateUnit":"s","delayOnStart":true,"startDelayTime":"5","server":"933ad670.8b8e58","useIOFile":false,"ioFile":"","useIOForPayload":false,"x":170,"y":140,"wires":[["490ee8b0.924658","2614ce9.c1cc932"],[]]},{"id":"490ee8b0.924658","type":"function","z":"864f82e3.64c7e","name":"SMA Battery Voltage","func":"var msg1 = { payload:\"output\" };\nvar voltage = parseInt(msg.payload[1]);\nmsg1.payload = voltage.toString();\n\nreturn msg1;","outputs":1,"noerr":0,"x":420,"y":140,"wires":[["21eec4d6.8d0f8c"]]},{"id":"2614ce9.c1cc932","type":"debug","z":"864f82e3.64c7e","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":570,"y":60,"wires":[]},{"id":"933ad670.8b8e58","type":"modbus-client","z":"","name":"SI6","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"tcpHost":"192.168.1.22","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"3","commandDelay":"1","clientTimeout":"1000","reconnectTimeout":"2000"}]

Hi,

I have some modbus TCP units also and when you setup a device (change its IP, modbus address etc)
there is an INIT (on, off) switch on the unit that if ON it sets the unit to program mode. After configuring these settings, you need to set the INIT switch to off.

Thanks. That actually made sense because my troubles started only a after some other seemingly unrelated networks issues.

Since this is a battery inverter, I didn't have much control, but I just did a hard reboot. Turned out off and back on. After that it all started working just fine.

Thanks for the pointer @UnborN

Cheese