Nodes are triggered by either receiving a message from the previous node in a flow, or by waiting for some external event, such as an incoming HTTP request, a timer or GPIO hardware change. They process that message, or event, and then may send a message to the next nodes in the flow.
A node can have at most one input port and as many output ports as it requires.
For example, the MQTT In and Out nodes use an MQTT Broker config node to represent a shared connection to an MQTT broker.
Config nodes do not appear in the main workspace, but can be seen by opening the Configuration nodes sidebar.
The term “flow” is also used to informally describe a single set of connected nodes. So a flow (tab) can contain multiple flows (sets of connected nodes).
There are three types of context;
By default, Node-RED uses an in-memory Context store so values do not get saved across restarts. It can be configured to use a file-system based store to make the values persistent. It is also possible to plug-in alternative storage plugins.
msg
within the editor.
By convention, they have a payload
property containing the most useful information.
They can be used to reduce some visual complexity of a flow, or to package up a group of nodes as a reusable component used in multiple places.
Extra nodes can be installed into the palette using either the command-line or the Palette Manager.
The workspace has a row of tabs along the top; one for each flow and any subflows that have been opened.
Node-RED: Low-code programming for event-driven applications.
Copyright OpenJS Foundation and Node-RED contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
The OpenJS Foundation | Terms of Use | Privacy Policy | OpenJS Foundation Bylaws | Trademark Policy | Trademark List | Cookie Policy