Do you guys use Home Assistant itself for automations, Node Red or both?

I have been using HA for a number of years, now.

When I first set up everything, I followed a guide on YouTube and that particular person suggested I use NodeRed for all my automations. As such, I only ever automated with Node Red.

I was just wondering whether I am missing out on not using HA’s built in automations.

Do most people use just one method or the other or are there times when you would use one method over the other?

Is it confusing to potentially have two different places for your automations?

I was under the impression that Node Red makes fault finding much easier to solve but that might not be at all true.

Would be interesting to hear what your thoughts are.

I’ve never had the need. I’ve always been able to automate what I need using core automations.

I started out like you.

I find NR no harder or easier. Different.. And it has its own issues..

My answer will be in my ZenOS 2026.9 build where I finally port my last NR flows to HA automations and turn off NR on my install.

(it’s not a minor port. Friday's Party: Creating a Private, Agentic AI using Voice Assistant tools - #691 by NathanCu)

The latest issue where the upgrade killed the system by deprication of a dashboard component and killing the build was my kick to get off my butt and finish the port.. . By end of month I’ll be done with NR for good

I use both and it´s not confusing at all. I have all the complex heating, cooling, air ventilation, media etc. autimations in Node Red but I keep all the simple automations (like lock the doors if they´re not locked when everybody is sleeping etc.) in the build in automations.

The base automation engine in HA can do almost anything if you embrace templates. If you avoid them, you’ll likely struggle with complex automations.

I personally do not like node red. It over complicates simple tasks and forces you to learn/understand JSON/JS. If you’re going to get that deep into structures and data, there’s no reason to use it when you can do the same thing in native automations with templates. You’re just shifting the learning curve from JSON/Jinja to JSON/JS while adding another point of failure.

I have used NR in the past but for the most part I just started leveraging templates and understanding YAML more and more and now I only have a few odd modbus automations happen in NR.

Thanks for all this - really helpful.

petro - I think that your point about another point of failure is really important and something I hadn’t really thought about.

I am at least very willing to have a go at creating all my Node Red automations from scratch inside Home Assistant itself. At the end of the day, there is no harm in having the same automation in both and just enabling one and disabling the other for testing.

In practice, what is the best way to start automating without Node Red?

For example, I have quite a complicated automation that keeps an eye on my hotwater tank temperature and sets it to come on so that it is ready for a specific time. I am able to have two timers for each of the day of the week, all with different times.

I would have no idea where to start without using Node Red.

Set up a weekly schedule helper with the times required (multiple times available per day). Trigger when the schedule changes state (on or off) make your heater switch follow that state in the automation actions. Use temperature numeric state conditions if required.

I have also never had the need to explore Node Red - I started with built in automations and only ever needed them.

I have found that I had to put time into learning two systems:

  • The core automations/YAML
  • Python/Jinja2/Templates system.

In addition there is a question how you edit the configuration:

  • Using the GUI.
  • Switching the GUI to YAML mode.
  • Directly editting the configuration files.

Sometimes there are 1-to-1 equivalents in all of the above, other times only some of the variants provide a way to achieve a particular solution - that includes some options which are only available through the GUI.

Hence I would argue even using vanilla HA you are still learning more than one system.

I think that once you know the core HA systems it’s not that hard to figure out whats going on (traces are your friend), but it may be more challenging for a newbie to understand whats happening.

More generally I have found HA to be very “quirky” meaning that there are a lot of quirks/special cases you just kinda have to run into and become familiar with.

It may also be the case that HA is simply exposing the quirks of the underlying hardware in which case I would rather know about said quirks, than have a layer trying to hide them from me.

I use both. Home Assistant for relatively simple automations in YAML, and Node Red for the complex ones. For example, I have one flow with 30 nodes that would be a nightmare on Home Assistant.

I’m a user since 2019 or something. I know people that rave about NR. I’ve never had a need for it. For me, simplicity is also staying with one system and paradigm. I also don’t like configuring these things via a GUI. A lot of this is personal preference and not technical by nature.

With the improvements to the native HA automation engine over the past few years, there is no longer a technical reasons argument that favors NR. That said, some folks, including myself, find that NR is easier for us to use and maintain. I find it easier to grok complex automations, and intuitive to create simple ones. I find maintenance and remembering what I set up last year much easier in NR.

Bottom line: it’s all personal preference. If you like NR there’s no reason to switch. If you find it cumbersome, switch. If you’re new, try a few automations in each and see which feels better to you. Choice is good!

I’m not that expert, I have both but atm NR has no automation in it, it runs other services that would be a nightmare to create with a regular programming language given that a monkey has more ability than me in writing code.

I planned on using NR to create complex automation where the simplicity and flexibility of drag and drop greatly surpass the “mechanical” way HA treat automations.
But…I’ve never had the need, and lately a copule of project (C.A.F.E. and flode) brought visual editor to HA so I may never have to use NR for HA automation, who knows…

NR has the great pro of having variables that can be stored and manipulated in a much simpler way that HA has so my use case would be automation where I need to store and manage some value in the long run.

I started with HA automations but after I discovered Node Red I started building everything in it.

  • HA automations have Blueprints, but I find the node-red-contrib-xxxx palette nodes so simple to just drag-'n-drop and start using. Much more granular than a blueprint that fits what someone else designed.
  • I have some Node Red flows (automations) that I’ve spent many hours tweaking to get them to do exactly what my unique situation requires. I can’t imagine trying to to troubleshoot or tweak some of those without the visual, graphical interface of Node Red.
  • I love being able to add multiple debug nodes to a flow and see what’s happening.
  • I have a flow labeled “Examples” with short flow examples like how to write to a log file or how to increment a counter variable that I can copy/paste for use in a new flow.
  • I like being able to search for any entity in Node Red and having it not only show me every flow that uses it, but the exact node and the ability to jump directly to it.
  • I’ve got 10 automations in HA and 52 in Node Red.

I’ve looked at NR a couple of times but I find the visual programming that it does confusing! I’m more text oriented so the native HA functionality has always been what I’ve used. It sits in my brain easier :wink:

All in NR, very little in HA. More than 20 pages full of nodes, even “upped” the memory for it in NR. started years ago and wouldn’t know how to go back…

I prefer my good documented YAML Code, because in a GUI (HA as well as NR) I am loosing the overview.

Only HA for me, for all the same reasons stated above. I do rely on template entities a lot. Those help make automations self explanatory (the entity names tell the story) so the automation itself stays simple and I haven’t felt the need to document much.

For instance, I have an entity “Is the dishwasher waiting for autostart”. That is a template checking if the dishwasher is set to remote start, with the door closed, and some more tests. I also have an entity “Are we producing excess solar energy” doing the math. I also have an entity saying if I’m about to charge the car using solar soon. Car charging makes more efficient use of solar production.

So the automation to start the dishwasher is: if the first two entities are on and the latter is off: start the dishwasher. That is easy to read, as are the template entities to help guide it all. (ok, the one doing the car charge planning is a wole thing on its own, using a dozen of helper entities :slight_smile: )

I used to use NR a lot, as I was more comfortable with Java Scripting.

Nowadays most are converted to HA automation, except one…

I use a single flow to control my lights based on motion in toilets and hallways; (2 toilets, 2 hallways), and it uses specific time windows to set a specific brightness (i hate to be blinded if i need to pee during the night); i guess I could transport it to HA, but I don’t think I would understand it anymore… (also because it does quite a lot by (re-€using the entities name)

Also never had the need to try Node Red. HA GUI helps me work out the rough bones for an automation or script and then I just copy it out to a package to work out the details employing templates, template entities, and YAML created helpers. I just find it easier to get what I’m doing when it’s organized that way, YMWV.

I also try to keep my automations to just working out the trigger/condition logic and just pass the results to scripts unless they’re one ofs’, keeps things a lot cleaner for me.

FML, I did not know this existed. That can simplify quite a bit of my trigger/condition logic I think.