Node-RED vs. Home Assistant: Why not use both?

Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.

It's not uncommon for newcomers to the Home Assistant and self-hosting communities to ponder the age-old question – which is better, Home Assistant or Node-RED? To put it simply, it's like comparing apples and oranges. While they both share some similarities, particularly in the realm of automation, one does not necessarily negate the need for the other. Rather, it boils down to personal preference, and the community's opinion may not necessarily align with yours.

Why not have the best of both worlds?

Instead of limiting yourself to either Home Assistant or Node-RED, why not harness the power of both? Each platform excels in its own right, and in my experience, combining the strengths of Home Assistant and Node-RED yields the most effective results. Further along, I'll delve into how I utilize both of these tools to their full potential.

Comparing automation capabilities

In this comparison, our primary focus will be on how Home Assistant and Node-RED automate smart devices. However, I won't delve into the nitty-gritty of every single integration each application offers, nor will I explore the intricacies of building a user interface using Node-RED.

The benefits of embracing Home Assistant

Home Assistant boasts an impressive array of integrations that eclipse those offered by Node-RED. Many of these integrations are ready to use straight away, without the need for additional installations. In contrast, Node-RED requires the installation of numerous nodes to ensure all integrations function, and even then, it may fall short of Home Assistant's extensive component support.

Creating automations, be they simple or complex, is a breeze with Home Assistant, thanks to both YAML and the web-based editor. While the automation configuration process may not be as visually appealing as Node-RED's, Home Assistant is constantly evolving to become more user-friendly with each update.

Home Assistant automation editor
Home Assistant's automation editor

A no-code future for Home Assistant?

Home Assistant's ultimate goal is likely to enable a complete configuration experience through the user interface. A future where YAML code is minimized or eliminated entirely from automation setups is not difficult to imagine. Although YAML is not particularly challenging to use, it can be daunting for newcomers. With every version of Home Assistant released, the editor continues to improve.

Currently, Home Assistant enables the creation of linear automation flows, complete with triggers, conditions, and basic AND/OR logic functions. While templating allows for complexity in automations, there is no simple method for incorporating IF/THEN/ELSE operators. Nevertheless, you can mimic these functions by crafting multiple automations.

Home Assistant is the safer option

By committing to Home Assistant for all your automation needs, you reduce the potential for failure. While Node-RED does have a substantial community backing it, mitigating potential issues, there is always a possibility for setbacks. Opting for Home Assistant offers a more streamlined and reliable approach to home automation.

The allure of Node-RED

Node-RED, a powerful and visually appealing node-based tool for programming, offers a user-friendly experience in crafting intricate automations. Written in JavaScript, it's versatile enough to be deployed on numerous systems, including as a Home Assistant Community Add-on and through Docker, my preferred method. When coupled with Home Assistant, Node-RED excels in creating automations.

Crafting logic with ease

Node-RED simplifies the configuration of logic operators such as IF/THEN/ELSE and AND/OR. Its visual editor allows users to create complex and ingenious automations, complete with conditions, forks, and intricate details that would otherwise be cumbersome in Home Assistant automations.

A bedtime tale of Node-RED efficiency

Take my bedtime flow, for example. It effortlessly turns off the lights, switches off a couple of SONOFF switches to ensure total darkness, and initiates ambient sounds on my Google Home speaker, which gradually decrease in volume. While this automation would have required numerous lines of YAML code, Node-RED's visual nature grants me an overview of the entire process. For me, complex automations become significantly more manageable with Node-RED.

A Node-RED flow
A Node-RED flow

The joy of Node-RED

Beyond its practicality, Node-RED injects a sense of enjoyment into the process of setting up flows. Personally, I find it far more engaging than writing YAML and eagerly anticipate crafting solutions to problems using Node-RED's nodes.

Integrating Home Assistant and Node-RED: The best of both worlds

In my smart home setup, Home Assistant serves as the central nervous system, connecting and monitoring a multitude of devices. Meanwhile, Node-RED acts as the brain, orchestrating automated processes by using Home Assistant as a compatibility layer. Whenever a device's state changes, Home Assistant relays the information to Node-RED, which then executes the corresponding commands.

A Home Assistant Dashboard view

For uncomplicated tasks, I often rely on Home Assistant's built-in automation editor. For instance, scheduling all lights to switch off when everyone is asleep doesn't necessitate the use of Node-RED.

In addition, Home Assistant offers a visually appealing web interface known as Lovelace. This dashboard allows for easy observation of device states and manual control when required.

Advice for newcomers

For those new to Home Assistant, I recommend using Home Assistant, rather than Home Assistant Core, as installing Node-RED as an add-on becomes a breeze. Once you have Node-RED up and running, experiment with creating automations in both Node-RED and YAML or the editor. This hands-on approach will help you decide which method suits your automation needs best.

A portrait photo oif Liam Alexander Colman, the author, creator, and owner of Home Assistant Guide wearing a suit.

About Liam Alexander Colman

is an experienced Home Assistant user who has been utilizing the platform for a variety of projects over an extended period. His journey began with a Raspberry Pi, which quickly grew to three Raspberry Pis and eventually a full-fledged server. Liam's current operating system of choice is Unraid, with Home Assistant comfortably running in a Docker container.
With a deep understanding of the intricacies of Home Assistant, Liam has an impressive setup, consisting of various Zigbee devices, and seamless integrations with existing products such as his Android TV box. For those interested in learning more about Liam's experience with Home Assistant, he shares his insights on how he first started using the platform and his subsequent journey.

Comments

  1. You can do a lot of this out-of-the-box in Apple’s Siri shortcuts / macOS Automator too.

    And even more powerful, you can also use iPhone/mac events as triggers.

    https://imgur.com/a/Nwalkhf

    I use it in conjunction with Node-Red / Home Assistant and it’s insanely powerful since Apple give you so many automation options. macOS / iOS is an insanely powerful automation system.

    Reply

Leave a comment

Share to...