The one thing I want added to Node-Red is an editable, sanely git diff-able on-disk text format for its configuration. I want to be able to edit either in GUI or in text, and then view the result in the GUI (and have it work of course!).
Does anybody know if there's any plugin for or way of achieving that? When I last looked into it, people were checking in the config files (whatever format they were, perhaps proprietary) but they were a mess, may as well be binaries or PDFs etc. for all the value you'd get out of git for them.
The flows are stored as JSON and there is a setting to save them as prettified to make them more readable (`flowFilePretty: true` in the settings.js which is on by default in recent release).
But can you actually hand-write it? When I last looked IDs were UUIDs or similar, so you'd have to create a node in the GUI for a start, and even then the structure of it just clearly wasn't designed for manual editing or diffing. 'Storage' sort of sums it up really, doesn't it?
Yes, but I can also put MS Word .docx files 'in a git repo', and diff them with MS Word proprietary version control. That's not good enough for use at work, in a software project among software engineers who don't need or necessarily want no/low-code; and it's not what I want in personal 'home automation' use either, which is where I gather it's perhaps most popular and how I discovered it - and probably most of that audience does want no/low-code and doesn't know 'what a git is', but, you know, I'm a SE, I know what git is, I like it, can't bare the idea of having anything like HA outside of its control.
Or "Curated list of useful resources for Node-RED", as the subtitle is on this page. Even "awesome node-red" doesn't really say anything about the content.
I use NodeRed a lot for my smart home and local network as glue between different pieces. It works really well for “hit this API, apply this transformation, and then return it when I send you a GET at /something” or “listen for MQTT, get this key out of the message, and rebroadcast it”.
I have similar process setup as original poster, instead of MQTT, I use home assistant Node-RED pallete which exposes all home assistant entities to nodered.
Node-RED automation is SO much better than home assistant automation or Huggins, ability to deploy modified flows when nodes on same flow are kept running is AMAZING!, makes dev cycle so much faster.
I use home assistant's builtin zwave, homekit controller, homekit bridge, Sonos, and InfluxDB, everything else is commented out. It's all running on used $50 HP Prodesk G2 with Ubuntu server with HASSOS in VM, VS.Code server in docker. Uses about 7 watts/hr.
I use Node-Red for automating many work related tasks with the team I manage. One thing I wish it supported was multiple accounts that have separate flows. Even better would be support to separate where flows run from the UI, on a per users basis. I could host a worker node with our infra at work, allowing me to work with some of the more sensitive data and share it more openly with my peers.
I had worked +/- 5 months ago a lot with nodered. One thing I miss is some kind of benchmark performance for huge projects. Is something new in docs regarding this? This tool is really great.
I agree! what kind of project were you working on that you consider a 'huge project' genuinely curious to learn how other people are applying this to use-cases beyond home automation!
Does anybody know if there's any plugin for or way of achieving that? When I last looked into it, people were checking in the config files (whatever format they were, perhaps proprietary) but they were a mess, may as well be binaries or PDFs etc. for all the value you'd get out of git for them.
Also the flow storage is fully plugable (https://nodered.org/docs/api/storage/) so nothing to stop you choosing/implementing a different storage format e.g. YAML https://github.com/natcl/node-red-contrib-yaml-storage
Node-RED automation is SO much better than home assistant automation or Huggins, ability to deploy modified flows when nodes on same flow are kept running is AMAZING!, makes dev cycle so much faster.
I use home assistant's builtin zwave, homekit controller, homekit bridge, Sonos, and InfluxDB, everything else is commented out. It's all running on used $50 HP Prodesk G2 with Ubuntu server with HASSOS in VM, VS.Code server in docker. Uses about 7 watts/hr.
All in all, it’s been a great tool to use.
It's also what we're working on at https://flowforge.com
(Disclaimer - I'm the co-founder of the Node-RED project, and CTO/Founder at FlowForge)