As per their website: Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways.

With default install, you can wire up API, mostly.

I installed Node-RED on my VPS using their Docker image:

If you want to use Ansible to deploy your Node-RED (in my case behind Traefik v2):

  - name: node
      name: node
      image: 'nodered/node-red:latest'
        - name: YOURBRIDGE
      purge_networks: yes
        TZ: "Europe/Brussels"
        ansible: "true"
        traefik.enable: "true"
        traefik.http.routers.node.entrypoints: "https"
        traefik.http.routers.node.rule: "Host(``)"
        traefik.http.routers.node.tls: "true"
        traefik.http.routers.node.tls.certresolver: "letsencrypt" "1880"
        traefik.http.middlewares.node-auth.basicauth.users: "user:XXXXXXXXXX"
        - "/opt/docker/"

You can find community developed "nodes" (see them as connectors or plugins) here.

This is an example of diagram to interact with my Netatmo thermostat:

This uses four external nodes:

  • "node-red-contrib-netatmo-thermostat": "0.1.4",
  • "node-red-contrib-suncron": "1.2.2",
  • "node-red-contrib-telegrambot": "7.1.1",
  • "node-red-contrib-unifi": "0.0.6"

To install an external node from the community, connect to your container and run:

npm install NAME-OF-MODULE

Also make sure to enable projects in Node-RED, this allows you to store flows in Git repositories.

Add in your settings.js:

    editorTheme: {                                                              
        projects: {                                                             
            // To enable the Projects feature, set this value to true           
            enabled: true                                                       

Learn more about projects here.