Input Nodes

Estimated reading time: 8 minutes

Basic input nodes are defined to satisfy the needs of almost all standard IoT applications. A brief explanation of each input node is listed here.


Inject Node

Used this node to inject timestamp or user defined parameters into a payload. It can be configured to inject at a defined interval or can be done manually.

The Inject node has a timestamp defined in milliseconds since 1970\. The node also can inject various JavaScript parameters. Also, the user can inject a string, number, Boolean, or JSON schema into a message. The Repeat interval can be set to between two times or at a specific time.

Inject
[
    {
        "id": "ea431baa.b2d16",
        "type": "tab",
        "label": "Flow 1"
    },
    {
        "id": "a201cdf.fe1163",
        "type": "inject",
        "z": "ea431baa.b2d16",
        "name": "",
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "repeat": "",
        "crontab": "",
        "once": false,
        "x": 440,
        "y": 180,
        "wires": [
            []
        ]
    }
]


Status Node

As the name implies, use this node to report status on all nodes or specific nodes.

[
  {
    "id": "28a47eb0.f0cf92",
    "type": "tab",
    "label": "Test"
  },
  {
    "id": "d620f255.768df",
    "type": "status",
    "z": "28a47eb0.f0cf92",
    "name": "",
    "scope": null,
    "x": 320,
    "y": 100,
    "wires": [
      []
    ]
  }
]


Catch Node

This node is used to catch any errors that a flow may cause. If the node provides an error while handling a message, the catch node catches it and returns the error message with the required details.

Catch
[
    {
        "id": "ea431baa.b2d16",
        "type": "tab",
        "label": "Flow 1"
    },
    {
        "id": "973f1926.654d08",
        "type": "catch",
        "z": "ea431baa.b2d16",
        "name": "",
        "scope": null,
        "x": 420,
        "y": 200,
        "wires": [
            []
        ]
    }
]


MQTT Node

MQTT Node is used to listen to a topic and receive the messages that are being published on the topic. The user can connect to a broker with the basic authentication and define the topic to listen on. This node also supports quality of service (QoS).

MQTT
[
    {
        "id": "ea431baa.b2d16",
        "type": "tab",
        "label": "Flow 1"
    },
    {
        "id": "bbd360f1.c9e31",
        "type": "mqtt in",
        "z": "ea431baa.b2d16",
        "name": "MQTT",
        "topic": "HPE/devices/project",
        "qos": "2",
        "broker": "5fb9e11d.1939d",
        "x": 420,
        "y": 180,
        "wires": [
            []
        ]
    },
    {
        "id": "5fb9e11d.1939d",
        "type": "mqtt-broker",
        "z": "",
        "broker": "liveiot.mq.litmusloop.com",
        "port": "1883",
        "clientid": "ab2bsnjasdalflak",
        "usetls": false,
        "compatmode": true,
        "keepalive": "60",
        "cleansession": true,
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": ""
    }
]


HTTP Node

This node acts as a web server and receives all the HTTP requests. Output message with HTTP body is delivered along with any response. The message can be an encoded message or a JSON file.

HTTP
[
    {
        "id": "ea431baa.b2d16",
        "type": "tab",
        "label": "Flow 1"
    },
    {
        "id": "e3f36a7c.20c3d8",
        "type": "HTTP in",
        "z": "ea431baa.b2d16",
        "name": "HTTP",
        "url": "",
        "method": "get",
        "swaggerDoc": "",
        "x": 440,
        "y": 200,
        "wires": [
            []
        ]
    }
]


Web Socket Node

This node provides an endpoint for a browser to set up a web socket connection. It offers different combinations of browsers and servers.

Web Socket
[
    {
        "id": "ea431baa.b2d16",
        "type": "tab",
        "label": "Flow 1"
    },
    {
        "id": "3fdc2b7d.114304",
        "type": "websocket in",
        "z": "ea431baa.b2d16",
        "name": "Web Socket",
        "server": "46fd1826.e79f68",
        "client": "",
        "x": 480,
        "y": 240,
        "wires": [
            []
        ]
    },
    {
        "id": "46fd1826.e79f68",
        "type": "websocket-listener",
        "z": "",
        "path": "/flows/api",
        "wholemsg": "false"
    }
]


TCP Node

Use this node to connect to a TCP port or accept any TCP request on a particular port. Messages can be sent over TCP in various formats: single or stream of buffer, string or base64.

TCP
[
    {
        "id": "ea431baa.b2d16",
        "type": "tab",
        "label": "Flow 1"
    },
    {
        "id": "eae466b7.a1aee8",
        "type": "tcp in",
        "z": "ea431baa.b2d16",
        "name": "TCP",
        "server": "server",
        "host": "",
        "port": "1883",
        "datamode": "stream",
        "datatype": "utf8",
        "newline": "",
        "topic": "litmusloop/device",
        "base64": false,
        "x": 480,
        "y": 200,
        "wires": [
            []
        ]
    }
]


UDP Node

Use this node to connect to a UDP port and receive messages that are being sent on the same port. A UDP message can be generated with data in the output of a buffer, string, or base64 string.


UDP
[
    {
        "id": "ea431baa.b2d16",
        "type": "tab",
        "label": "Flow 1"
    },
    {
        "id": "fcadf1ae.22c68",
        "type": "udp in",
        "z": "ea431baa.b2d16",
        "name": "UDP",
        "iface": "",
        "port": "5683",
        "ipv": "udp4",
        "multicast": "false",
        "group": "",
        "datatype": "utf8",
        "x": 520,
        "y": 200,
        "wires": [
            []
        ]
    }
]


Serial Node

Use this node to read data from a serial port.

[
  {
    "id": "28a47eb0.f0cf92",
    "type": "tab",
    "label": "Test"
  },
  {
    "id": "2fd601dd.b10d6e",
    "type": "serial in",
    "z": "28a47eb0.f0cf92",
    "x": 260,
    "y": 200,
    "wires": [
      []
    ]
  }
]