ZWA-2 not available on reboot

Recently switched to a ZWA-2 for Z-wave control, and love it. But one problem occurs whenever I fully reboot the HA system: The zwave JS add-on fails to start because the ZWA-2 USB device isn't available yet.

Once HA is running for 10-20 seconds I can go to the add-on and start it manually because the ZWA-2 has now shown back up in the device list.

Has anyone else run into this and have a fix?
Or, as a workaround, is there a way to force an add-on to wait for n seconds before starting?

Are you using VM or docker type install?

No, it's HA OS running on a dedicated x86/64 mini-PC.

How are you adding to HA. As /dev/???

Have you tried monitoring during boot up to see if it is available at boot or after some period?

Are you sure both zwavejs and zwavejsui are not installed? Verify you do not have both addons installed.

Try another usb port.

No, just Zwave JS. The USB device does become available, but not until after the Zwave-JS add-on has already tried (and failed) to start.

You verified this?

By available, you mean on host or in UI?
I am saying check when it become available on host.

You add by /dev/device_id , /dev/ttyxxx , /dev/somethingelse?

I verified that there’s no “ZWave JS UI” App installed, if there’s something else I should check let me know.

It shows up as ‘/dev/serial/by-id/usb-Nabu_Casa_ZWA-2_1CDBD4AEC458-if00’. That setup was handled entirely by HA, I didn’t do any manual setup.

Different usb port? Usb3.0 is discouraged but overall I would just try another port.

Log messages from HA or zwavejsui? If it’s failing you should get some error pointing to cause.

Turn off “soft start” in zwavejsui.

Basically you need to confirm when it becomes available in the OS and check if it’s before the app needs it. I would expect it to be available before HA starts but there could be some delay. Logs should point this out

Okay, I think I got this sorted. Turns out I was getting a bunch of random USB errors in the CLI (but not in the HA ‘Host’ logs), such as:

device descriptor read/64, error -110
unable to enumerate USB device
device not accepting address 9, error -62

Searching on those led me to this helpful article, which suggests fully powering off the device long enough for capacitors to drain and all USB hubs/devices to appear as “new” on the next boot.

Doing so fixed the problem, no more USB errors and the ZWA-2 device shows up before the ZWave-JS add-on starts.

This may crop up again in the future, but now I have an easy fix.