Z-Wave JS Crashes HA

I have a Zooz Zen25 which has been problematic since the day I got it. I have heard that this is a problematic device in general, and have tried the recommended fixes (excluding and re-including the device, updating the firmware (I updated it to 2.10), and disabling all power reports with parameter 18).

The issue used to be that this device would cause every other Z Wave device to go offline (status == dead) about once per day, only resolving when I unplugged it and plugged it back in. This was a little over a year ago, and I stopped using it for some time.

I recently decided to try using it again, since I upgraded to a more powerful host machine, and am now using the latest ZWaveJS on Home Assistant OS, but it is as problematic as ever. The device will go offline nearly every time I use it, only working again after I physically unplug and plug it back in.

This might appear to be an improvement, as before it would bring down every other Z Wave device with it. However, sometimes it does not just go offline. I’m not entirely sure what is happening, but HA becomes completely unresponsive in the web UI and via SSH. I can ping the host machine, but cannot connect to HA in any way. The only fix has been to unplug and hard reset the host machine.

Again, this happens through normal use of the device (toggling the left/right outlets), but seems to occur more often when I toggle them both quickly together. Sometimes the device simply goes offline, sometimes it causes the crash described above. It never really worked properly, and I only recently started using it again, so there is not an update that caused this to start misbehaving.

I am in contact with Zooz to get this device replaced, but before doing so would like to better understand what is happening from ZWaveJS that could cause such a severe failure. After rebooting, I don’t see anything in the logs from before that looks problematic, but I may not be looking in the right place.

System Info:

  • Raspberry Pi 4
  • Core 2023.11.1
  • Supervisor 2023.11.3
  • Operating System 10.3
  • Z-Wave JS 0.4.1

If it’s a zwave device, updating your host system will do nothing. The device is crashing your controller, i.e. the Z-stick. Speed on your host system is meaningless.

Try to update the firmware on the device.

1 Like

Actually, I was trying to highlight that I am now using Z-Wave JS, as opposed to the old deprecated Z-Wave integration, as well as information about my system (running HA OS, instead of a container), but I realize now that I did not make this clear enough in my initial post.
I wanted to try again with the new installation and the new Z-Wave JS.

It seems you missed the first paragraph of my post.

Take a look at the TX and RX diagnostics sensors for the device (you may need to enable them first) It is possible it’s just sending a ton of data non stop and that’s causing problems.

Of course after posting about this, I was no longer able to reproduce the error for some time, and the device in question was mostly working without issue. I did enable the diagnostic sensors requested, and this morning had another failure where my entire Home Assistant instance became unresponsive. These sensors do not show anything abnormal, however.
(The “System Time” entity shown in the image is just a simple sensor that updates every minute with the current time. You can see the 30 minute period where everything had crashed, before I had to hard reset the host machine.)

Any ideas for logs or things to check that would show why Home Assistant completely locks up? This behavior is quite abnormal, and overall my setup has been very reliable. A failure of this nature is not something I have experienced from anything else, so the fact that a single bad Z Wave device can bring down my entire system is surprising.

Are you using any custom components?

No custom components

I attempted to update to Z-Wave JS 0.5 today, and had this hard crash of the OS happen upon updating. So perhaps this is not specifically device related, but rather Z-Wave JS related.
When I rebooted, I was still running 0.4.5.

Look at your supervisor logs when updating. Supervisor is what updates zwave js addon.

There wasn’t anything in it pertaining to Z Wave. It looks like it gets cleared after a reboot?
Also, my Z Wave has been completely broken since I tried to do this update. Didn’t expect this, and I don’t have time to debug it, lesson learned not to do updates unless I have free time to fix whatever it breaks.
The Z-Wave JS logs just show this over and over again:

s6-supervise zwave_js: warning: unable to spawn ./run (waiting 60 seconds): Exec format error

The integration shows this:

Failed to connect: Cannot connect to host core-zwave-js:3000 ssl:default [Connect call failed ('<ip_address>', 3000)]

Restarting the add-on and integration do not help.

Edit: Uninstalling the add-on fixed the issue. I didn’t have to reinstall…it showed it was still there after I uninstalled it, and it just worked again.

Let me guess, you are running zwave js ui? If yes, you installed the integration incorrectly when you first set it up. You missed a checkbox that you should have unchecked.

No, actually.
I am just using the official Z-Wave JS Add-on with the official Z-Wave JS integration.
The update for the add-on failed, and temporarily broke my system. When it reinstalled itself, it had created new keys for Z-Wave Long Range, which was a new feature of the update. I noticed that those were blank when it was broken.

The integration will install the addon for you, this is usually what trips people up. So if you deleted the addon, the integration added it back.

You also cannot run Zwave JS UI and Zwave JS addons at the same time. Which also trips people up.

EDIT: To clarify, the integration will tell the supervisor to add it back.

Interesting, that is good to know that the integration auto installs the add-on, and explains how it was still there after I uninstalled it. I have to say that the fix (reinstall add-on) was easier than anticipated. I didn’t even have to restore any configuration (like the keys that the add-on has).