Introduction to Node Red

node-red-iconWhat is Node Red? –Node red is a Open Source flow based tool and IOT platform and Dashboard developed by IBM and written in Node.js.

Node-red lets you easily applications by joining together black box functions (nodes) using a web interface and requires very little, if any, programming knowledge.

Because of its flexibility and ease of use node-red is ideally suited for building IOT and Home control dashboards and automations as well as many other applications.

Node-red can be installed locally on Windows and Linux and also because of its small size also on the raspberry Pi.

It is also available as a cloud server from IBM and others like FRED

Node-Red Overview

Here is a the official introductory video from the node-red team which give you a good overview of what node-red is.

Node-Red Tutorials – Quick Links

Getting Started

Before you can use node-red locally you will need to install it and start it running.

This tutorial Installing and Starting Node-Red explains how to do that.

The next step is to become familiar with the admin interface and learn how to create and manage flows.

Node-red works by passing messages between nodes and this is critical to understand before you start wiring nodes together and is explained in Understanding The Node-Red Message Object

Node-Red Install and Setup Quiz

This quiz is for beginners to node-red and test basic knowledge

Node-Red Install and Setup Quiz

This quiz is for beginners to node-red and test basic knowledge

Node-Red Administration

Like all applications there is a certain amount of administration and configuration that needs to be done. These tutorials cover the main administration aspects.

Tutorials

Node-Red Nodes and Programming

Tutorials

Node-Red Dashboards

You can create node-red dashboards for IOT and Home automation and for a myriad of other applications.

However the nodes that allow you to do this aren’t part of the core nodes and need to be installed.

Tutorials

Node-Red IOT and Home Automation

Industrial IOT and home automation applications will generally use one or more of the following protocols.

  • MQTT
  • HTTP

Nodes for these protocols are part of the core nodes.You can find out how to use these nodes in the following tutorials:

Tutorials

 

However Industrial IOT projects also use modbus and there are modbus nodes available that you will need to be installed.

Tutorials

 

Node-Red Data Storage

Tutorials

Storing IOT data in a SQLite Database

Videos

 

Useful Tools

Summary Of Terms

Note: These are the terms and meanings used in tutorials and videos.

Workspace – Contains all of your flows

Flow – A collection of nodes and wires

Flow Canvas – The Flow Edit screen

Node – A packaged JavaScript function with data.

Wire – A connection between nodes.

Resources

Please rate? And use Comments to let me know more
[Total: 16   Average: 4.1/5]

20 comments

  1. Hi Steve, I love your site, it’s very helpful. but I’ve a problem. I can read Data from an UDP Server with NodeRed . Its a buffer and with your help, I managed it to chanche to Int.
    Now I would like to send an Int from NodeRed to the UDP Server. But I don’t know how. The Data from the UDP is a buffer[36]

    Can you help me?

    greetings from Switzerland
    Pascal

  2. I’m going my first steps with nodered.
    KNXin might listen to KNX datagrams and delivers nice datagrams with 5 fields.
    For example:
    {
    “srcphy”: “1.0.251”,
    “dstgad”: “2/0/9”,
    “dpt”: “no_dpt”,
    “value”: “0”,
    “type”: “event”
    }
    How do I get this in a table (possible headerless) and lines of data in the dashboard, to display all KNX datagrams as they were coming in on the LAN.
    “srcphy”,”dstgad”,”dpt”,”value”,”type”
    “1.0.251”, “2/0/9″,”no_dpt”,”0″,”event”
    “1.2.125”,”1/5/50″,”no_dpt”,”1″,”event”
    Neither node-red-node-ui-table doesnt seem work properly,
    nor node-red-contrib-tableify.
    Maybe change is the node, that possibly may convert the msg.payload in my intended way ?

    1. Can you send me your current flow using the ask steve page and I’ll put in a template node that should work for you
      rgds
      steve

  3. Hi Steve,
    I was trying to store some output into the file but I cannot find the proper node dealing with storing data into the file. Could you tell me what is the full name of the package regarding file out which you use in your youtube video [1] please? I do not have those nodes in my Node-REDI assume that this package has to be install before it is used.
    Thank you for your answer in advance
    Regards,
    Ondrej

    [1] https://www.youtube.com/watch?v=bI0bQ7pO1kA&feature=youtu.be

  4. I’m looking to create a Dashboard that self configures itself from the datasource.
    So rather than pre-defining the look and layout of the page at creation time, the data source will drive the layout. E.g. I may have just one sensor – of type A, I will only want to display a single Guage widget Labeled type ‘A’. If I have more – then the dashboard will auto fill with appropriate guages and labels.
    Is this possible?

  5. Hello Steve,
    I looked into your tutorials and are really good and worthful. Can i just know whether you have any prior knowledge or work experience with Bacnet device and Bacnet servers?
    I’m working on interfacing Bacnet with Nodered. It will be great help if you could share your views on this.
    Thank You..!!

  6. Hi Steve,
    Can you please help me with something.

    I’m trying to figure out the syntax for assigning a node’s array element to a variable in a function node.

    I’m reading a modbus register with a modbus node. The nodes payloading is “array[1]”. I’m interesting in extracting the array element [1] in a function node and assigning the element value to a variable, for logic operation.

    Thank you

    Tom

  7. Hello,
    You can disable the flow by going to Menu>Flows>Rename. In this window change the Status from Enabled to Disabled. This applies to a single flow.

  8. Hi Steve, you say that you need to update npm – this is incorrect and can be very damaging. You should use the version of npm that comes with the version of Node.JS you have installed. Other versions may not work in the same way and may cause issues with installed modules.

  9. Hello. I’m not keen to join a Google group to post my newbie questions, and found your Oct 3 YT video with link here… First, I don’t have a smartphone (SP), and don’t see getting one any time soon. Seems the SP is all the rage with IoT/Home Automation – which directly leads to Node-Red/MQTT etc. I would consider getting a SP if it was ONLY for IoT/HA around my property (and not for any phone communication). Might you know if this is workable? If not, I’m guessing there’d be a way to use a hand-held sort of esp8266/esp32 to act in place of a SP – do you think that’s viable? Appreciated.

    1. If you are primarily interested in Home automation then Amazon echo devices are likely to become more popular than smart phone apps. I don’t use my smart phone very much and although currently most smart devices are designed to work with a smart phone/tablet I don’t think that is going to be the future.
      You can use any computer to interface with node red. I’m not that familiar with the esp devices but if they are like the Raspberry Pi then you should be OK.

      1. The ESP8266 & ESP32 are microprocessors and not single board computers (like the Pi). The are programmed at a low level, typically using C++. They are similar to the popular Arduino but have embedded Wi-Fi. As such they will not run Node.JS and so cannot run Node-RED.

        They are very commonly used in DIY home automation though because of their low cost. Also, they do have MQTT client libraries available (there is even an example MQTT broker library!) and so can publish data direct to a broker.

    2. Hi rjm, if you are into Slack, there is also a Node-RED Slack group. Node-RED uses Node.JS which will not run on the heavily constrained microprocessors you mention. However, you could use them to post direct to MQTT – there are direct MQTT mobile clients you could use to consume the data.

      However, the cost of a small single-board computer such as a Raspberry Pi is tiny and these are more than enough to run multiple services. For example, on my own HA setup I run Node-RED, Mosquitto, InfluxDB, Telegraf & Graphana easily on a single Pi 2. Node-RED can then be used to create Dashboards that will work on your SP.

Leave a Reply to y g Cancel reply

Your email address will not be published. Required fields are marked *