Failed to start the Z-Wave JS add-on

On 22 Sept. 2021, after updating the Z-Wave JS add-on from 1.37 to 1.39 and then1.40, HA Core to 2021.9.7, and HA OS to 6.4 from what was current on 4 Sept. 2021, I lost all Z-Wave functionality getting the error message “Failed to start the Z-Wave JS add-on”.

Removing both the Z-Wave JS add-on and integration, then installing the integration with its automatic installation of the add-on gives the same error. Doing many variations/iterations of removing both Z-Wave components and rebooting, HA automatically discovers my Aetec Z-Stick Gen 5 and installs the integration but fails to start the add-on saying “Aborted. Failed to start the Z-Wave JS add-on”, then it automatically removes the integration. Restoring my 4 Sept. 2021 full backup does not fix this.

The Z-Wave log mentions the following driver issue but I don’t know how to provide the “valueDB” that apparently is missing:
“2021-09-23T00:32:25.297Z DRIVER Failed to initialize the driver: Cannot read property ‘valueDB’ of undefined
Error in driver ZWaveError: Failed to initialize the driver: Cannot read property ‘valueDB’ of undefined
at Immediate. (/usr/src/node_modules/zwave-js/src/lib/driver/Driver.ts:793:6) {
code: 5,
context: undefined,
transactionSource: undefined”

I simply did a routine update and lost Z-Wave. How do I restore Z-Wave JS functionality short of wiping my SSD and reinstalling everything?

I am running the standard HA OS installation on a NUC. Prior to these updates it was working fine except that after every reboot after an update I had to re-interview each Z-Wave device that I have added since switching from Classic Z-Wave.


I have the exact same problem on my Odroid N2+ Home Assistant Blue Bundle runing OS 6.4.

Se this Issue i have created on github:

Why create an issue starting zwavejs in the HA repo instead of node-zwavejs? That is a totally separate project.

I think either discussions or issues here is more appropriate for that.

Because the issue has to do with the OS version in HA, not zwavejs.

Try specifying the path to the usb stick in the settings for the addon by /dev/serial/by-id instead of the ttyACM0 path. The ttyACM0 path can change around depending on moving the zstick to different usb slots, or if you have other devices. Specifying the usb path by /dev/serial/by-id will not change on you.

You can set this path in the addon configuration in the supervisor tab.

Likely an addon issue then

This issue is likely not the from the zwavejs addon. It was caused by the Linux kernel update to the os impacting the usb mapping order.

See this github issue for more context

The shifting around of tty mappings for usb devices has been an issue for years across different linux distributions. Specifying the path by id or creating a symlink to your usb will keep the mapping straight by setting a “static” name for your usb device that won’t change around on you. This article may help.