Workflow and new flows etc

Guys,

Interested in how others manage change control, new node introduction, upgrades etc

I run my Node-red on a Virtual machine that interfaces to sensors and screens etc with MQTT.

I have a reasonable sized NodeRed that controls the heating systems in my house. This interfaces through MQTT to Arduino Micros that control the sensors throughout the house as well as the heat sources etc.

Each time i make a change to the flows i obviously have to redeploy and that potentially can muck up processes that are communicating with the Arduinos etc.

How do people with complex flows manage this process i.e. do you have a seperate development instance somewhere that you tinker with before moving it into the production system ??

Craig

Craig,
are you using the Projects feature?

Even a full redeploy shouldn't really mess anything up & I would never rely on my HA system not needing a reboot. The only time you might get an issue is when a scheduled event is about to trigger. Otherwise, the worse that should happen is missing one or more sensor events and that really shouldn't have any impact.

If, however, you have ended up with a flow that is impacted by a restart, assuming you can't refactor it, I would split it to a new instance of Node-RED and then have one instance that contains stable, sensitive code and another that is less sensitive and so can be changed more often.

Personally, I do also have a development instance that I keep on my laptop where I can mess about. That, of course, doesn't have access to any of the hardware my live instance has (mainly an old CIESCO wireless serial module and my RFXtrx433E USB transceiver. But that is fine because I take data from the hardware and use dedicated flows to immediately create fairly raw MQTT data. Those flows enhance and standardise the incoming data.

I keep the processing flows separate so it actually doesn't matter what system they run on. In fact, I am slowly moving things off my old Pi2 onto a newer Pi3 but I'm trying to refactor and simplify the flows as I go so it will take a while.

I no longer use Arduino's for my sensors (apart from 1 that uses the CIESCO connection), they've all been replaced with ESP8266's instead so that they can also communicate directly to MQTT.

Disaggregation is a wonderful thing! :wink:

I am still not using a git repo for my flows. I do make a complete copy whenever I update Node-RED itself - got caught out a few times in the past with that where something broke badly. Thankfully, that doesn't generally seem to happen much now. I also have a NAS which uses a backup app to backup key folders from the Pi automatically.

Nope - never even realised there was one !! WIll check that out - thanks

Craig

Yep thats my plan longer term to move everything out to smaller discrete units (like ESP8266) - i am in the process of migrating from an old Picaxe Basic system to an Arduino and then got sidetracked with Node-Red and putting a nice interface on it all !!

Winter is nearly over here in OZ so should be able to start ripping it all apart and getitng seriously stuck in soon

Craig

1 Like