Comment by mystraline

Comment by mystraline 2 days ago

5 replies

I was an early adopter of NodeRed. Earlier, it worked exceptionally well.

Now? Not so much.

Well, that's not exactly true. Base NodeRed works as well as before. But the libraries of modules to interface with all sorts of websites, APIs, hardware, and other stuff is rotten to the core.

Most plugins/js modules either just don't work, or 'successfully fail'. The easier fail case is where the module can't be installed due to ancient (6mo or older JS, sigh) modules.

I abandoned NR because its basically a hyper-speed bitrot due to terrible library module versioning. And I didn't want to reinvent the wheel on every system I wanted to touch.

Towaway69 2 days ago

I wrote an article about this[1] and you are definitely right: a lot of packages are rotting away a bit however, because NodeRED does a lot to stay backward compatible, older packages still work. The oldest ones I'm actively using are five or more years old, i.e., haven't been touched nor updated - still work.

What I tried to say in the article is the same as you say: base NodeRED, the core works really well and has great features - no questions. And even if packages die, the core will still remain usable and that makes a difference.

Its a bit like saying Linux is a pile of broken bits because the ls command has been updated in ten years: Linux will always work and those commands that are based on the core will continue to work becausae the Linux kernel will largely remain backward compatible. Packages fail when they have external dependencies that change but code that is solely based on the core will continue to work.

[1] https://blog.openmindmap.org/blog/crunchy-numbers

01100011 2 days ago

Not surprising. Whenever you have a project like NR or HA you have a ton of barely working glue code written by people who just want to get it working and move on without any sort of commitment to maintenance. It allows these projects to rapidly expand their support but then that support quickly rots unless the core team assumes responsibility for maintenance. I really want to mess with home automation again but this sort of low software quality and resulting instability and maintenance hassles makes it not worth the effort.

wslh 2 days ago

I don't think this is easily to solve, in general. Similar orchestrators (e.g. n8n) have the same issues because there are a lot of components dependencies that change with time and there is no real cohesion between the core and all kind of plugins. Probably a future "contracts/manifests" linking orchestrators with components could help.

anonzzzies a day ago

I think it's a fundamental flaw for such project that will never get out of the niche regions and will only have a few fanatic users and collaborators to use the JS/npm ecosystem which is known, as you say, for having breaking changes every release of every module and modules having updates every day because of grifting for stars/relevance/whatever on github/npm. I would like to see this based on something that's stable for very long times because module devs are not being bothered by the github issues 'is this project dead? there have been no updates for 7 hours?!?!?!? whats going on', with people responding with alternatives as happens every day with at least 1 js module. Scheme, Lisp, Perl, a Prolog etc maybe.