Node-red is an open source, flow based development tool for visual programming, originally developed by IBM. It allows users to wire together hardware devices, APIs, and online services in ways without writing code. Node-red provides a browser-based flow editor for wiring together flows using a wide range of nodes.
On your first visit to the site, you will be presented with the login/signup screen.
When your instance is first created, an account is created for you with the email you chose. You can get the password for this account by going to your Elestio dashboard and clicking on the "Show Password" button.
Enter your username and password and click the "Sign in" button.
Flow is a collection of interconnected nodes that represents a particular application or process. Each node in a flow performs a specific task, and data flows between the nodes along the connections (wires) between them. A flow can be as simple as a single node that performs a single task, or as complex as a large network of nodes that perform a multistep process. Flows are created using Node-red's visual editor, where nodes can be dragged onto a canvas and connected by drawing wires between them. Once a flow is created, it can be deployed to the Node-red runtime with a single click, where it will start processing data. Flows can be modified, copied, imported, and exported, making it easy to share and reuse workflows.
Importing nodes in Node-red involves adding new nodes to your Node-red palette from an external source. This can be done by installing Node-red packages, which are collections of nodes contributed by the community and found in the Node-red library or the npm registry. Nodes can also be imported as part of a flow by copying a flow's JSON from an external source and using the "Import" option in the Node-red editor. This process allows you to extend Node-red's functionality with new capabilities and reuse nodes and flows created by others.
Debugging a flow in Node-red involves identifying and fixing issues within your flow. Node-red provides tools like the Debug node, which captures and displays data as it passes through the flow, and the Debug sidebar, where messages from Debug nodes are displayed. The Catch node can catch and handle errors from other nodes, often used in conjunction with a Debug node to display error messages. The Status node can display the status of other nodes, helping track data flow and identify issues. These tools collectively assist in stepping through your flow, inspecting data at each step, and pinpointing where issues arise.
In Node-red, a filter is a condition or function applied to control the flow of messages based on certain criteria. This is typically implemented using a Switch node, which checks a property of each incoming message and routes it to different outputs based on its value, or a Function node, where custom JavaScript code can be written for more complex filtering operations. Filtering in Node-red allows for the selective processing of messages based on their content.
Actions are operations performed by nodes in response to incoming messages. Each node type has a specific action it performs. For example, an Inject node's action might be to inject a specific payload into the flow at regular intervals, a Function node's action could be to execute a piece of JavaScript code, and a Debug node's action is to output the message payload to the debug sidebar. Actions are triggered when a node receives a message, and the result of the action, often a new or modified message, is then passed on to the next node in the flow.
Keyboard shortcuts in Node-red are key combinations that provide quick access to certain functions within the Node-red editor. These can include actions like deploying a flow, opening the palette, toggling the debug sidebar, copying and pasting nodes, and many others. Keyboard shortcuts can significantly speed up the process of creating and editing flows by reducing the need for mouse clicks. The full list of available keyboard shortcuts can be found in the Node-red editor under the menu option "View" -> "Keyboard Shortcuts".