Install Node-RED palettes to groov RIO without internet connection

I am having an issue with installing palettes to my Node-RED project. Our plant network does not allow for machine devices (such as the groov RIO) to connect to the internet. I am trying to develop my Node-RED flows, but I have been unsuccessful installing palettes without being able to upload from someone else’s project. Is there a way to install new palettes without a network connection?

I have seen previous posts where the suggested course of action is to install the palettes to a groov that does have internet access and then transfer it over to the groov that doesn’t have internet access. This is not sufficient for our team, as we are constantly doing development work with these groov RIOs and starting from an existing project is not feasible.

Hi Evan. Welcome to the Opto22 forums.

This question is not unique to the groov family, but rather simply using Node-RED offline.

That said, I don’t quite follow why you cant install a wide range of expected Nodes and move that project to your offline devices via the project backup feature that groov Manage provides?

If you do find you need another node, you can simply back up your flows, install the new fresh project with the new node added and then restore your flows from that backup. Takes around 30 seconds.
Note you just back up the flows, not the project in this case, else the new node will be overwritten when the project is restored. Also this flow backup / restore process is MUCH faster than the project backup / restore process.

Just be aware that you need to move the project from the same kind of groov device. RIO to RIO, EPIC to EPIC. Since they use different CPU architecture types, you cant mix the project backup.

If I get a chance I will see if there are some other off-line Node-RED tips floating around on the Internet.

I’m pretty new to Node-RED, so forgive me if I’m not fully understanding, but I’m not sure how I would be able to install new nodes through Node-RED (as through Node-RED, I can’t reach out to the appropriate webpages to install these palettes). The “manage palette” option does not work at our facility, since our organization does not allow devices like these to reach out to the internet.

I understand the method of uploading a blank project with the necessary palettes already installed. The part that I’m not sure about is how I can create this blank project with all of the potentially useful palettes already in there.

For example, I’m currently working on a project using node-red-contrib-modbus. The only method I have found to import this palette is to find a project online that already has this palette loaded, and upload that to my Node-RED project. And again, once I have this inside of Node-RED, I am unable to add any more palettes.

Is there not a method that allows uploading of nodes without using the “manage palette” feature? Possibly downloading a .zip file and uploading that to the Node-RED editor somehow?

No problem at all. Sorry I jumped in deep from your first post…

There are two main ways to install nodes on an offline groov device.

The first is to install the nodes on a groov device via the usual Node-RED manage pallet menu.
Once you have all the nodes you think you might need, you go into groov Manage → Node-RED menu and backup the project. That will zip up all your flows and nodes and save them on your PC.
Then, copy that backup to the PC that is on the same network as the offline groov and restore the project from the same groov Manage menu page on that offline groov device.
The offline device will now have all the nodes that you just installed.
If you have no flows on the online device, its a very clean way to ‘install’ nodes in the off line device.
If you do have some flows, just delete them on the offline device after you restore the project, only takes a second to do that.
You can read about how this process works in a bit more detail in this post here:

The other way is a little more involved, but does not require a second online groov device.
In short, what you are going to do is to download the raw node files in your online computer and then install them on the offline device via a USB stick or copy.

1 Like

This link is exactly what I was looking for, as I’ve been trying to figure out how I can upload the .tgz file. However, I just tried this and got the following message:


And just to address the log, there is nothing there other than the line that shows that the unit is attempting to install it. There’s no further information after that.

Was able to reproduce the same issue here.
Digging into to it the node is pulling (or in your offline case, trying to pull) any dependencies it needs to build.
Since it cant get out out to the NPM repository, it just sort of silently fails, or as you and I saw, it just stops dead.

For the modbus node, here are its 46 dependencies.

I started loading these, but some of these have other dependencies and it ended up pretty messy.

Bottom line, the only way to install any nodes is to use the first (and only) method. Install what you need on a same type groov device and move the project over.
(I edited the post above to strike out the NPM install option).

As a somewhat interesting aside, when you Google offline Node-RED node installs there are a few other industrial automation devices and they don’t have the groov Manage Node-RED menu and so there is simply no way to back up or restore flows or the entire project and those engineers seem to be a world of shell command hell trying to do offline installs and project management.

1 Like

BTW, at the bottom of this thread here:

There is a RIO and EPIC empty Node-RED project with the following nodes:

  • Opto22 (PAC, groov View and groovIO)
  • Modbus (TCP and RTU)
  • MySQL
  • Sqlite
  • SNMP
  • Dashboard (including table and LED)
  • Serial port

Been a while since I made those projects, but might be worth a test.

1 Like

Thanks Beno, it looks like it will be a little too cumbersome to do this offline. I’ll work with our IT team to see if there’s a way we can get these units to contact the internet. And thanks for providing the project with those common nodes.