Unable to install node-red-contrib-zwave-js

I have my Node-RED running perfectly in Docker, and I haven't had any problems since I installed it. But I ran into a brick wall trying to install the node-red-contrib-zwave-js node. And I have no idea how to fix it, since the node version is probably controlled by the Docker image I am pulling. Is there anything I can do here? I have seen that there's a version 10 of this node, but I have no idea how to pull that instead of version 9 within Docker.

2023-12-31T13:49:11.629Z Install : node-red-contrib-zwave-js 9.0.3
2023-12-31T13:49:11.315Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-contrib-zwave-js@9.0.3
2023-12-31T13:49:12.474Z [err] npm
2023-12-31T13:49:12.476Z [err]
2023-12-31T13:49:12.476Z [err] WARN
2023-12-31T13:49:12.476Z [err]
2023-12-31T13:49:12.476Z [err] config
2023-12-31T13:49:12.478Z [err] production Use --omit=dev instead.
2023-12-31T13:49:34.234Z [err] npm
2023-12-31T13:49:34.234Z [err] ERR! code EBADENGINE
2023-12-31T13:49:34.240Z [err] npm ERR!
2023-12-31T13:49:34.240Z [err] engine Unsupported engine
2023-12-31T13:49:34.240Z [err] npm ERR!
2023-12-31T13:49:34.240Z [err] engine Not compatible with your version of node/npm: node-red-contrib-zwave-js@9.0.3
2023-12-31T13:49:34.240Z [err] npm
2023-12-31T13:49:34.240Z [err] ERR! notsup Not compatible with your version of node/npm: node-red-contrib-zwave-js@9.0.3
2023-12-31T13:49:34.240Z [err] npm ERR!
2023-12-31T13:49:34.240Z [err] notsup Required: {"node":">=18.0.0"}
2023-12-31T13:49:34.240Z [err] npm
2023-12-31T13:49:34.241Z [err] ERR! notsup Actual: {"npm":"8.19.4","node":"v16.20.2"}
2023-12-31T13:49:34.246Z [err]
2023-12-31T13:49:34.246Z [err] npm
2023-12-31T13:49:34.246Z [err] ERR! A complete log of this run can be found in:
2023-12-31T13:49:34.246Z [err] npm ERR! /data/.npm/_logs/2023-12-31T13_49_12_364Z-debug-0.log
2023-12-31T13:49:34.271Z rc=1

It says the issue in the log requires nodejs 18, but your device seems to be 16. Update nodejs to 18+ to fix issue.

Thanks for answering, but I don't think you read the message... I said I'm running Node-RED in Docker, and as far as I know it's not possible to update nodejs there. Of course I may be totally wrong.

Yes I definately read that, I suggest you search the internet to see if it is possible. update nodejs in docker at DuckDuckGo
Or don't use docker, run node-red on a bare bones installation.

1 Like

Being the author of node-red-contrib-zwave-js I am afraid it will require Node 18.
so you will need to address the limitation of using Docker.

Node 18 is required by the upstream library I use

This is a WIP, and I am still working on V10 (still lots todo), but that will not help you in this situation.

@E1cid I see, thanks! I read in another search that it was consindered bad for the container to upgrade that, but then I'll try.

@marcus-j-davies Thanks for clearing that up!

1 Like

Which docker image are you using?

nodered/node-red:3.1-debian

I cant really add much tho this, as I am not a Docker user.

But once Node has been updated to >= 18, you will need to ensure the serial port (that your stick is assigned to) is correctly mapped in docker also, again I'm not sure of the mechanics involved in how to do that (Sorry)

Not a problem. Z-Wave-JS-UI is running it's own separate container (like almost everything on my Pi's), and that is not affected.

Yup, I work relatively closely with @robertsLando (we form part of the ZWave JS org on GH), and I think the docker image is purposely built for it.

Also bare in mind - this module is its own runtime, it's not to interact with other ZWave JS implementations (if that is what you were hoping for :grimacing: )

This will spin up the Driver runtime, exclusively running in Node RED

1 Like

Oh, damn... Then I misunderstood totally! I thought this would work over MQTT with the running ZWave JS UI container. Well, then I will stop wasting everybody's time now. :rofl:

1 Like

No worries,

There are many ZWave JS implementations / plugins

  • Home Assistant
  • MQTT
  • Node RED
  • IO.Broker

All have their own UI/way of working. Your not the first, won't be the last :smile:

Yeah, I have been using Homeassistant for several years, from the old Z-Wave integration via Open Z-Wave to ZWaveJS. It's just one thing I would like to automate with Node-RED, but I guess I will have to do it indirectly and send an MQTT to an automation in Hass instead.

All though I would like to run a newer NodeJS, mainly so I have everything with fixes and whatever happens on the versions. Kind of strange that the image I'm using (which I was told when I started running in Docker was the one to use) does not have that updated.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.