Node-RED is a browser-based programming tool for interacting with hardware devices, online services, and other software that you may be running. Programming is done using a combination of JavaScript and a visual programming language consisting of nodes that receive some kind of data, transform or act upon the data, and then send messages out to other connected nodes. These small programs are called flows.
You can install and run Node-RED on just about any kind of computer, whether it's a centralized home server, a desktop/laptop, a Raspberry Pi or similar single-board computer, or even a cloud platform like AWS or Azure. If you want to get fancy, you can run Node-RED instances on all of the above and coordinate them with each other to perform different tasks.
Many home automation devices send and receive messages using a protocol called MQTT. Node-RED can listen and react to these MQTT messages, or send its own messages to control your devices. This makes it easy, for example, to integrate Node-RED with other software such as Rhasspy.
Installation
The specific steps for installing Node-RED will vary with your operating system and configuration. On a Debian Linux system with Node.js and npm already installed, installation is very easy:
$ sudo npm install -g --unsafe-perm node-red
...
$ node-red