3 ms·
I tried to use node red a few times to automate my devices at home. It is limited in what it can do but the ui is ok. This until you want to change something, o
by BrandoElFollito 5y ago
I tried to use node red a few times to automate my devices at home. It is limited in what it can do but the ui is ok. This until you want to change something, or duplicate, or arrange several items - the code is not really editable.
I understand that the target population are not programmers, but even using the built in Hole Assistant automation is better.
Of course moving to pyscript or appdaemon opens new world.
To be clear: I am not trying to be dismissive of node red users, it is just that one will quickly hit its limitations for anything more fancy.
- vorpalhex 5y agoUsing subflows and such I've not had any issues with even relatively complex flows, though I would recommend using the unsafe code execution block for any macros, since then you have the full power of node.
- MrBuddyCasino 5y agoMy experience is similar: if you're already a programmer, you'll hate it. Almost any language will be better suited.
- JeremyTheo 5y agoFully agreed! Being a programer I really dislike using Node-RED for complicated calculations as you land up pretty quick into the limitations of "low-code" like version control (some is available in Node-RED but not that good), documentation, other best-practices. However, for smaller stuff or connecting APIs this is absolutely great as it saves a lot of time around boilerplate stuff like package management, setting up a repo or Docker. We only do this smaller stuff also known as "customer specific configuration" and let our proper programs handle the rest. Main target group is, like you said similarly, mechanical or industrial engineers with very limited IT knowledge, but still huge process expertise.
- rcarmo 5y agoI've had the opposite experience: the newer versions are very flexible, reliable, and miles better than Home Assistant for my setup (which is Homekit-based with Node-RED doing dashboards and device characteristics handling). And it even supports git now via the projects feature, which I am using to build an RSS feed fetcher that does translations and aggregations for 200+ feeds. - https://taoofmac.com/space/blog/2019/01/13/1900 https://taoofmac.com/space/blog/2019/01/13/1900 (home automation stuff, before I adopted projects and Git versioning. Has most of the links to previous applications).
- gerdesj 5y agoI've just switched to one of my pinned Home Assistant tabs. One of my Node-RED flows has a function node with a wodge of JavaScript in it. The editor JS is simple but has colour syntax highlighting. I'm using it to send settings to some quite complicated Zwave devices. There is a Zwave set node that does the complex stuff that I really don't need to worry about, I just pump settings into it. Another flow I did unlocks an AD account via LDAP! I used a function node to build up a quite horrific looking command line that is passed through a ssh connection to the host system (HA and NR are containers) to run against AD. You can do an awful lot with NR out of the box and with all the contrib stuff it rapidly becomes even more impressive. Just enough programming for me. I write a program or two as needed and no more and it doesn't detract from the flow thing either.
- outworlder 5y agoI've had the opposite experience. In my day job I already write plenty of YAML, so I didn't want to do the same for Home Assistant. Setting up a simple flow such as "Turn on the robot vacuum at 10PM unless the 3d printer is running, in which case please wait for it to be done and then continue" it's as simple as connecting two nodes together. The main issues I had were: * If there's no node that does what you want, it can become messy very quickly to replicate the functionality. Either that, or you use a script node (which kinda defeats the purpose) * In particular for Home Assistant, it can be annoying if there's no entity already defined in HomeAssistant and you have to hunt down some field inside a message payload. Or maybe you have to craft some special json to do what you want. * There doesn't seem to be a lot of logic on what nodes available out of the box. For example, if one wanted to have a 'for loop'. It doesn't really exist out of the box (but there are libraries for this). It seems to have evolved organically, rather than something that was designed * You can connect anything to anything even when it doesn't make sense * Debugging seems to be mostly done by adding a debugging node and looking at logs. Being an event-driven and message passing environment, the graphical debugging capabilities should be way better than they are.
- canadaduane 5y agoI'm curious if anyone has tried [huginn](https://github.com/huginn/huginn https://github.com/huginn/huginn) or [beehive](https://github.com/muesli/beehive https://github.com/muesli/beehive) or similar, and whether or not these work well for programmers?
- rcarmo 5y agoI tried both and was turned off by the amount of clicking and steps involved in doing anything. Node-RED just lets you drag and write code inside custom nodes with much less friction.
- canadaduane 5y agoThanks, good to know!