ZWave JS remove Node without exclusion mode

To remove a node, there is always talk of placing the hardware in exclusion mode and then an action on the node that must be removed. Now I have some node IDs that I added incorrectly in the past. Meanwhile, the relevant nodes have been given a different node ID and are working. How can I remove the old Node IDs without involving the working node Id?

You need zwave2mqtt addon and there you can remove failed node.

I’ve tried Z-WaveJStoMQTT and although it looks promising, it is still in an experimental phase and currently I’m not able to get it to work.

It’s no more of being in an experimental phase than the built-in zwavejs add-on is. I would say it’s more advanced than the built-in since it actually contains a control panel where the built-in one doesn’t yet.

What do you mean “not able to get it to work”?

After installing and running the add-on I went on to the configuration. As suggested and expected my Z-wave USB controller is at: /dev/serial/by-id/usb-0658_0200_if00
I then get an error: Driver: Error: No such file or directory, cannot open /dev/serial/by-id/usb-0658_0200_if00 Strange thing is that the add-on is indicating it is connected.
I’ve generated the network key using the button at the end of this field.

Next I tried: /dev/ttyAMA0 (no idea what that means because I’m a noob at this) after entering and saving this, I restarted the add-on. Now it is also connected but nothing seems to happen. Because after this step the installation specifies: “If you had devices paired already, you should see the showing up slowly.” So I looked at the debug screen and waited, but nothing…

In the log I found the following error: 21-04-07 20:08:25 ERROR (MainThread) [supervisor.api.ingress] Ingress error: 400, message=‘Invalid response status’, url=URL(‘’)
21-04-07 20:13:04 ERROR (MainThread) [supervisor.api.ingress] Ingress error: 400, message=‘Invalid response status’, url=URL(‘’)

I might have to enter: ws://a0d7b954-zwavejs2mqtt:3000 in the zwave-js add-on somewhere to finalize setup but since I allready setup Zwave-JS add-on I am not sure where to do that.

Edit: is outside my subnet, this is an unknown node in my network.

I don’t think /dev/serial/by-id/usb-0658_0200_if00 is correct, it should be /dev/serial/by-id/usb-0658_0200-if00. Notice -if00 not _if00.

/dev/ttyAMA0 is the raspberry pi GPIO. That won’t work unless you have the razberry controller.

I get this error: Driver: Error Resource temporarily unavailable Cannot lock port
Thank you for explaining ttyAMA0 now that’s clear, and indeed I do not have a razberry controller.

That error usually means you have both addons, zwave-js and zwavejs2mqtt, installed and running at the same time.

Yes, that true - I have both running. Is that not the correct way? So I could uninstall Zwave-JS add-on now?

Right, each addon requires exclusive access to the stick, so you can only run one. At this current time, zwavejs2mqtt provides more functionality.

Oh my! It works, I’ve never understood that this add-on would somehow be able to manage my Zwave network also. Thank you!

Just be careful, if you installed the zwave-js addon using the Integration UI config flow, and enabled the check box, it will continually try to re-install the addon. You’ll need to reconfigure it by repeating the process to add the integration.

I’m not sure what you mean by that. I first installed the zwave-JS add-on and used that for a few weeks than today added the Z-WaveJStoMQTT add-on and uninstalled the zwave-JS add-on.
I also have this setting:

If you didn’t install using the config flow (from the integration UI) then maybe you have nothing to worry about.

“Integration UI config flow” If you mean steps taken when installing the Z-WaveJStoMQTT add-on than the answer is no. I allready had installed the zwave-JS add-on. So I think all is well now. Thanks again.

The question is did you configure the original zwavejs add-on via the integration config UI and if you did in that dialogue box did you select the box that said “Use the Z-Wave JS Supervisor add-on”?

if so then you may likely have problems because every time you restart HA it will come back.

I indeed noticed that the zwave-js add-on was installed again after reboot.

the only reasonably easy way to get rid of it is to delete the zwavejs integration and re-add it and unchecking the box. Then tell it to use the zwavejs2mqtt add-on the configuration dialogue.

You don’t need to delete it. You just add the integration a second time, and it will end up re-configuring the existing one.


I wouldn’t think that would work since we can have multiple zwavejs instances.

I would have thought it would just create a new (second) one and leave the original there also.

At least that’s the way it works in non-supervised HA.