Loosing the overview over Node-RED flows

What you can do when loosing the overview over Node-RED flows

Problem

Hello Jeremy,

I have a question about NodeRed. We prototype a lot with Python and NodeRed for our plant control over Modbus (TCP). How do you guys handle larger NodeRed flows? They are getting very confusing for us. Do you have some tips for structuring and abstracting?

Best regards

Simon

Solution

A big point about structuring is not to make the flows too long and not too complicated (and especially not to store states in Node-RED). I strongly recommend always pulling data from MQTT / Kafka, doing small processing and then writing the result back (if it still makes sense in terms of content). For example, a flow just for data extraction. Then a flow that processes the raw data. And then one that does something with it again (execute actions etc).

Perspectively, we are currently going in the direction of benthos (https://github.com/benthosdev/benthos) and have just taken the step towards Kafka, in particular to increase the stability and reliability of stream processing.

btw: the Python MQTT library is very unstable (paho.mqtt). Even mention this explicitly in one of our blog articles soon.