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.

1 Like

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.

Having this problem myself. Plug my stick into my unit, then hop onto HA and all the info auto-populates but then when I go to start it it always fails…
I’ve tried different USB ports.
But every time I get:


Failed to start the Z-Wave JS add-on.

Any ideas on how to use. Using Nortek HUSBZB-1 stick.

Very new to all this so I don’t know if I’m missing something obvious or not.

Here’s what my log shows:

[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] executing... 
[21:20:50] INFO: Both 'network_key' and 's0_legacy_key' are set and match. All ok.
[21:20:52] INFO: Virtual Machine detected, disabling soft-reset
[cont-init.d] exited 0.
[cont-init.d] executing... 
[cont-init.d] exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[21:20:53] INFO: Successfully send discovery information to Home Assistant.
2022-01-07T05:20:56.444Z DRIVER   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—    β–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—   β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—             β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
                                  β•šβ•β•β–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘    β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β•β•β•             β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β•β•β•
                                    β–ˆβ–ˆβ–ˆβ•”β•  β–ˆβ–ˆβ•‘ β–ˆβ•— β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—      β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
                                   β–ˆβ–ˆβ–ˆβ•”β•   β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•”β•β•β•   β•šβ•β•β•β•β• β–ˆβ–ˆ   β–ˆβ–ˆβ•‘ β•šβ•β•β•β•β–ˆβ–ˆβ•‘
                                  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β•šβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘  β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—        β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘
                                  β•šβ•β•β•β•β•β•β•  β•šβ•β•β•β•šβ•β•β•  β•šβ•β•  β•šβ•β•   β•šβ•β•β•β•   β•šβ•β•β•β•β•β•β•         β•šβ•β•β•β•β•  β•šβ•β•β•β•β•β•β•
2022-01-07T05:20:56.452Z DRIVER   version 8.9.2
2022-01-07T05:20:56.452Z DRIVER   
2022-01-07T05:21:05.562Z DRIVER   Failed to open the serial port: Error: I/O error setting custom baud rate of 1
Unable to start driver ZWaveError: Failed to open the serial port: Error: I/O error setting custom baud rate of 115200 (ZW0100)
    at Driver.openSerialport (/usr/src/node_modules/zwave-js/src/lib/driver/Driver.ts:913:9)
    at Immediate.<anonymous> (/usr/src/node_modules/zwave-js/src/lib/driver/Driver.ts:799:5) {
  code: 100,
  context: undefined,
  transactionSource: undefined
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.

I can’t say how many times I have had to deal with similar issues. From what I see, the /dev is not pointing to the correct device. I was using a device for most of 2021 but it had so many problems. One day I could connect using /ttyxxx/blah/blah then after an OS update it wouldn’t work so had to change to /dev/by-id/blah/blah. Then the next update it would never worked again.

In the end I bought a Zooz controller and so far, 0 problems.

I know this is not what you want to hear but has major problems IMO when it comes to Zwave devices and retaining its information.

I sure hope when Matter becomes a thing none of us will have to deal with this crap.

Thanks for replying. I’ll look into Zooz. I liked this one because it had both Z-Wave and Zigbee.
What is Matter?

Matter is a proposed new β€œunified” standard for how smarthome devices communicate

In theory, any device made by any manufacturer that β€œworks with matter”, will communicate with other devices by different manufacturers using matter.

Zigbee is on board with it, but zwave is not. Therefore,
I really dont see matter helping zwave issues all that much.

The zwave alliance posted some article about how matter will β€œsupposedly” still make zwave better, but if they’re not on board with full interoperability across the standard, I don’t see how it would.

The article didn’t make much sense to me, but here it is