Install older version/specific version of a node-red node?

I updated to the latest version of node-red-contrib-modbus on my groov RIO and it seems to have broken the flex-write node?

Is there a way to install the older version of node-red-contrib-modbus again?

It was working fine with v5.13.1 of the modbus node, but I get the following error since installing v5.14.0.

Error: Modbus exception 4: Slave device failure (device reports internal error) at ModbusRTU._onReceive (/home/dev/.node-red/node_modules/modbus-serial/index.js:348:21) at TcpPort.emit (events.js:198:13) at Socket.<anonymous> (/home/dev/.node-red/node_modules/modbus-serial/ports/tcpport.js:77:20) at Socket.emit (events.js:198:13) at addChunk (_stream_readable.js:288:12) at readableAddChunk (_stream_readable.js:269:11) at Socket.Readable.push (_stream_readable.js:224:10) at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)

Yes.
If you don’t have shell access on your RIO, you will need to get a shell license.
https://www.opto22.com/products/product-container/groov-lic-shell
Apply it to your RIO and install PuTTY (if you are on Widows).

First, remove the node that is not working via the ‘Manage Pallet’ menu option.
Then restart Node-RED via the groov Manage menu.
That will flush the old non-working version.
Then from shell…
Log in to your RIO.
Type the following commands

sudo su
cd /home/dev/.node-red
npm install node-red-name-of-node@n.n.n

Where n.n.n is the version you want to install.

Lets know how you get on.

3 Likes

Actually, I just figured out that the error was caused because the PLC wasn’t in a “ready” state… so the updated v5.14.0 node-red-contrib-modbus node is working fine.

But thanks for the instructions :+1:

2 Likes

Sometimes its necessary to downgrade a node version or install a specific version and you may not have shell or may not want to add shell to your groov device just to do this Node-RED node version change.

Good news. If you are running Node-RED version 1.2 or newer (ie, anything since August 2020) you can install specific versions of a node right from the manage pallet interface.

First, you need to get the node version you want.
You can look at the npm page and find older versions there.

Here is an example:

Once you click on the versions you will see the list of old ones, take a note and then make the registry URL following this example: Take the name, then the version and paste it into your URL bar or word editor. Once you have it assembled, put it in your web browser on your computer and download the file.
Keep a note of where it is saved to.

https://registry.npmjs.org/node-red-contrib-mssql-plus/-/node-red-contrib-mssql-plus-0.5.1.tgz

Once you have the node package downloaded, go to your Node-RED on your groov device and click on the burger menu, then ‘Manage Pallet’, then click install, lastly click the upload module icon.

That will open your usual file browser dialog, navigate to where you saved the file, then select it and upload the node package.

That should load that exact version of the node you need, all without shell.

5 Likes