Skip to main content

Common Basic Nodes in IIoT

Beyond the 엣지 category, these are the nodes shipped with vanilla Node-RED that matter most in IIoT flows, ordered by how often they are used.


1. inject — Trigger / Scheduler

The starting point of a flow. Trigger once with a button, or automatically on a fixed interval or at a set time.

OptionDescription
Repeat: intervalFires every N seconds/minutes/hours (e.g. poll every second)
Repeat: interval between timesFires only during a specific time window (e.g. 09:00–18:00)
Repeat: at a specific timeAt a fixed time each day (e.g. 07:00 daily)
Repeat: cron-likecrontab format (e.g. 0 7 * * * — 07:00 daily)
Inject once afterWhether to fire once right after Deploy, plus a delay

It can also inject msg.payload and msg.topic, so a single node serves as both "schedule" and "input data."


2. debug — Sidebar Log

Outputs msg or msg.payload to the debug tab in the right sidebar. Switching the output target to "the complete msg object" reveals every field that would otherwise stay hidden — essential for debugging.


3. function — Free-Form JavaScript

Takes a block of JavaScript code. Transform msg and return msg; it to pass it on to the next node.

// 예: payload 가 숫자라면 100배 해서 출력
msg.payload = parseFloat(msg.payload) * 100;
return msg;

To branch into multiple outputs, raise Outputs: 2 (or more) in the node settings and return an array return [a, b];.


4. change — Set/Copy/Delete Fields (No Code)

Simple transformations such as msg.topic = "abc" or msg.payload = msg.payload.value are handled by a single change without a function node. Four actions are available: set / change / move / delete.


5. switch — Conditional Branching

Inspects msg.payload or any other field and routes to a different output port. Options are checking all rules or stop after first match.

┌─ ≥ 80 ─▶ Slack 알림
read ──▶ switch ─┤
└─ < 80 ─▶ 정상 라인

6. join — Collecting Multiple Messages

Merges the results of several parallel nodes (태그값 읽기 ×3 and so on) into a single array or object. mode manual, count N, key msg.topic.


7. delay — Delay / Rate Limit

  • Pause: Holds messages for N seconds/minutes (e.g. suppress re-sending for 5 minutes after an alarm)
  • Rate Limit: Caps throughput, e.g. "1 message per second" — protects external API polling and MQTT publishing

8. trigger — Combining State and Timers

Patterns such as "send a start message when a message arrives, and an end message if nothing updates for N seconds" — frequently used for detecting data dropouts.


9. http request / http in / http response

NodePurpose
http requestCalls an external REST API (e.g. a weather API, in-house ERP)
http in + http responseCreates a new HTTP endpoint on Node-RED itself (e.g. receiving /myreport POST)

10. file / file in

  • file (write/append): Saves to a file on disk (CSV logging, etc.)
  • file in (read): Reads file contents

11. csv / json / xml

String ↔ object conversion. csv offers a rich set of header and delimiter options.


12. template

Renders a template using mustache syntax. Most convenient for composing emails, Slack messages, and report bodies.

🔥 [경보] {{tag_id}} = {{value}}{{unit}} (한도 {{threshold}})

"Virtual jumps" within the same workspace. Used to clean up a tangle of wires.


14. catch / status / complete

When an error occurs anywhere in the flow, catch catches it, and status reports node status (e.g. mqtt connected/disconnected). Essential for stable operation.


Next Steps