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.
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.
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.
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 (home automation stuff, before I adopted projects and Git versioning. Has most of the links to previous applications).
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.
One of the OOTB things on the Edge stack was a customized version Node-Red. It was one of the most popular components for customers and used a lot in factories.
Yes, it's true that you don't want to use it as the thing that connects your industrial controller/PLC to a Python script (running in a container on the Edge PC) that decides if a machine should be turned off for safety reasons.
But there are a lot of use cases if you think about it as a low/no-code development environment for streaming data. It provides a way to automate a lot of boring manual processes around data. Being able to use Javascript code snippets also means a lot of developers have an easy way to deploy small blocks of codes. It's easier to learn JavaScript than trying to figure out something with a PLC or a SCADA system.
The dashboarding was also pretty nice - especially compared to the Dashboards you'd see on a machine HMI (basically a touchscreen that controls a machine).
It wasn't perfect of course. If your sensor data is streaming at 1Khz you'd need to use something else. But the data from a lot of factories is a lot more mundane than that. And a lot of fancy factories have mundane things they need done simply and quickly.
> However, we strongly recommend NOT using it to intervene in the production process, e.g., process control or ensuring safety mechanisms
I would not move it between Node-RED and the PLC but I see other applications of a data diode. We usually create a very small DMZ around each machine and a data diode can additionally protect it (see also a very old article from us: https://docs.umh.app/docs/getting-started/usage-in-productio... ) You could place the data diode as a "firewall" between the internet and the edge PC.
We had used node-red in non-GMP environments before, but this was very much a GMP environment. What we figured out was that it would be impossible to qualify and validate the code base by any means that would satisfy QA.
So…great for labs and pre-manufacturing (development) where you have a bunch of skids or equipment that talk different protocols, but a difficult to use in any validated environment.
Now, being open source, it would be great if someone took the base application and built the other tools around it that would make it great for manufacturing where there are more strict regulations. Maybe Siemens is headed that way since they are rolling it.
Node-RED: Low-code programming for event-driven applications - https://news.ycombinator.com/item?id=28985268 - Oct 2021 (90 comments)
Prior related threads:
Node-RED 2.0 - https://news.ycombinator.com/item?id=27892226 - July 2021 (62 comments)
How-to normalize home volume levels with Node-RED - https://news.ycombinator.com/item?id=23349902 - May 2020 (28 comments)
Node-Red – Flow-Based Programming for the Internet of Things - https://news.ycombinator.com/item?id=18859019 - Jan 2019 (77 comments)
Replacing a Pool and Spa Controller with Raspberry Pi, Arduino, Node Red - https://news.ycombinator.com/item?id=18142335 - Oct 2018 (3 comments)
Node-RED: A visual tool for wiring the Internet of Things - https://news.ycombinator.com/item?id=13495156 - Jan 2017 (6 comments)
Node-Red, a tool for wiring together hardware devices, APIs and online services - https://news.ycombinator.com/item?id=8419984 - Oct 2014 (8 comments)
Node-RED - https://news.ycombinator.com/item?id=8310536 - Sept 2014 (1 comment)
Node-red, a visual tool for wiring the Internet of Things - https://news.ycombinator.com/item?id=8217664 - Aug 2014 (3 comments)
Programming the Missing Links in the Internet of Things - https://news.ycombinator.com/item?id=6459564 - Sept 2013 (1 comment)
Here's the post on the Project:
https://medium.com/@tuffluver/control-an-industrial-robot-wi...
It is building a low-coding development platform fit for the enterprise with Node-RED at its heart.