A match made in heaven: Node-RED and Home Assistant

by | Home assistant

Once you installed Home Assistant, Node-RED is the next tool you should start using. This guide covers installation, initial steps, and more complicated techniques

You might also interested in my setup. See the list of 16 must-have automations I run on my $2,000 smart home based on Home Assistant.

Home Assistant is a very flexible and sophisticated smart home platform, but it has limitations. Node-RED, open source visual programming tool allows creating complicated rules to control your devices at ease. This solves one of the main challenges for people starting with Home Assistant.

At the moment, to start using Node-RED I had to spend hours looking at HA enthusiasts’ posts and Reddit. That is why I decided to create this reference material so lovely people in the same situation do not have to do the same.


Home Assistant’s main power is in the ability to interface with almost any smart device existing at the moment. But if you ask a beginner or compare to competitors, you will see that the creation of automations using YAML might be intimidating. With all its power, the creation of complicated automation rules might be very difficult and error-prone. This is where Node-RED strengths naturally compliment Home Assistant. It was originally created by IBM specifically for IoT needs. It is using the flow interface allowing the creation of complicated rules using intuitive drag and drop approach.

Basically, in this setup, Home Assistant handles all the integrations, state management, and action engine, while Node-RED utilises provided awareness of the environment to decide how to act.

Also, Node-RED can work on our picks of smart devices that work the best with Home Assistant, allowing you to create rules and play with the included seven devices.

Luckily for us, it is very easy to set-up.

TO START USING Node-RED, we will focus on four key sections:

Can you help to improve this page?

Please let me know in comments if I can update something or if I got something incorrect. I am really hoping to make this page useful and keep it relevant.