node-red-contrib-modbustcp 1.2.1

Node-RED nodes for communicating with a MODBUS TCP Server.

npm install node-red-contrib-modbustcp


Node-Red Modbus TCP nodes for communicating with a Modbus TCP server.

Based on jsmodbus.


Run the following command in the root directory of your Node-RED install

npm install node-red-contrib-modbustcp


modbus read

alt tag


In addition, you can pass in a msg with one or more payload settings to initiate additional modbus read events.

msg.payload = {
    "name": "Name1", // Should be a unique name
    "topic": "topic1", // Override default topic 
    "dataType": "FC3", // can be format 3, "FC3", or "Coil"
    "address": 0, // starting address
    "quantity": 4, // # of units to read
    "interval": 3000, // polling interval in milliseconds
    "ieeeType": "off", // valid values are "off", "single" or "double"
    "ieeeBE": true // Big Endian format, true/false. false = little endian

Most of the values are optional and server to override the defaults set in the nodes config.

Values for dataType inlcude:

  • "Coil", "FC1", "FC 1", 1
  • "Input", "FC2", "FC 2", 2
  • "HoldingRegister", "FC3", "FC 3", 3
  • "InputRegister", "FC4", "FC 4", 4

If you pass in a msg with a that is the same as one previously passed in, the new values will replace the old. For example, it is possible to change the polling interval of an existing event by passing in the same msg structure with a different "interval" setting.

Note: The IEEE 754 formatting is not applied to binary data types such as "Coil" and will be ignored for those.

Note: Setting ieeeBE = false will for the node to read the inputs as "little endian".

Stop/Kill You can stop or kill the polling of a modbus item by passing in the following:

alt tag

The polled event with the same name given will be stopped if the kill=true is also passed in.

example single input

alt tag

example multiple input

alt tag

modbus write

alt tag


In addition to passing in a payload value for writing, you can also pass in the following in your msg to override the configured defaults:

  • dataType
    • "Coil", "FC5", "FC 5", 5
    • "HoldingRegister", "FC6", "FC 6", 6
    • "Coils", "FC15" "FC 15", 15
    • "HoldingRegisters", "FC16", "FC 16", 16
  • address

example message input:

msg = {
    address: 8,
    dataType: "Coil",
    payload: 1


Node Info

Version: 1.2.1
Updated 6 days ago
License: BSD-3-Clause


26 in the last day
259 in the last week
761 in the last month


  • modbustcp-server
  • modbustcp-write
  • modbustcp-read


  • node-red
  • modbus
  • modbus tcp
  • modbus client


  • jayharper