How to troubleshoot controller errors - "Jammed"

ZWave JS, Aeotec Z-Stick 7 Plus

I have a variety of devices - door sensors, temp sensors, plugs, in-wall switches - that have predominantly been working fine. More recently, I have started to witness automations that miss actions or don’t seem to trigger at all as well as seemingly random instances of errors for the USB Controller indicating that it is “jammed” and then “available”. This has also led to certain plugs in my setup to become non-responsive and act odd.

I have replaced the Z-Stick for other issues, have ensured that the replacement is “only” upgraded to 7.17.2 firmware, and the problems persist. In looking at debug logs, I have seen a couple of devices that seem to be having a communication issue right before the “jammed” error appears, but correcting any particular issues doesn’t seem to make any difference.

Other pieces of testing that have been done include ensuring that the ZWave JS is fully upgraded, changing firmware versions on the Z-Stick all the way up to 7.19.4 with zero difference in results, and adding and removing a USB extension cable. I considered switching to a ZooZ LR stick, but the NVM is zero percent compatible between that stick and the current one which would mean a complete rebuild of my entire setup.

There are others here having similar issues that are getting little or no traction on troubleshooting steps to at least understand the core of the problem and I’m wondering what the best way is to get some help with this. I’ve posted this as being tagged for Config / Zwave because I’m starting to suspect that it could at least be related to configuration AND my devices are all Zwave.

Seeing the same things here on my end - and have been for the ~6 weeks.

I used to run an Aeotec Gen 5+, and went out and purchased / upgraded (fun!) to the Zooz 800 LR stick a month ago- thinking that the old Aeotec wasn’t able to keep up any longer (had been running it just fine for a few years since June 2019 when I ditched SmartThings hub for ZWave local).

I have 29 ZWave devices running through the default Z-Wave JS add-on / integration - all running on an HP Elitedesk 800 G2 Mini i7-6700t 16gb RAM - so horsepower shouldn’t be the issue.

My ZWave issues seem to have all started a few months ago when v12.0.0 was released - and it’s been unstable since then. It’s been so bad I’ve had to stop using ‘generic’ turn_on / turn_off calls and write scripts w/ while loops, passing variables to attempt to change device states multiple times to ensure the 1st isn’t ‘lost’ and the action is not taken - unacceptable at best for a system that, at its core, is meant to turn lights / switches / devices on and off…

ensure_device_changes:
  mode: parallel
  sequence:
  - repeat:
      while:
      - condition: template
        value_template: '{{ expand(device) | map(attribute=''state'') | list | count
          | int != expand(device) | map(attribute=''state'') | select(''=='', state)
          | list | count | int }}'
      - condition: template
        value_template: '{{ repeat.index <= 5 }}'
      sequence:
      - service_template: "{% if 'group.' in device %}\n  homeassistant.turn_{{ state
          }}\n{% else %}\n  {{ device.split('.').0 }}.turn_{{ state }}\n{% endif %}"
        data_template:
          entity_id: '{{ device }}'
        continue_on_error: true
      - delay:
          hours: 0
          minutes: 0
          seconds: 3
          milliseconds: 0

I want to say that I first noticed an issue with mine roughly in the mid-September timeframe. It seemed to settle itself down about a week later but cropped back up and I have now at least gotten to the point where I understand that the issue is the controller becoming unavailable (jammed) and then resetting to start working again.

I am losing functionality as the resets seems to leave things in limbo for a while as it sort of “boots back up” and re-learns all of what’s out there.

I also about the 800 LR and returned it as soon as I learned that there was no way to back all of my stuff up and move it to the new controller due to the 800 series units have zero compatibility with the 700 and under. In fact, you can’t even back up and restore the NVM of an 800 to a new 800 as of now…

What I’m struggling with is the seeming complete lack of ability to get guidance on how to help troubleshoot this issue because it isn’t “just me” (or you) and I haven’t a clue where to even really start. I turned on debug logging to a file and have been taking the time to review those log files and locate the jammed reports. What I see leading up is not anything consistent although I do see some communications issues that appear to be drawn from a lack of ideal routing between nodes.

I would submit an issue for this in the zwavejs GitHub. I do wonder if the “jammed” detection is having some false positives. Either way they should be able to render an opinion on your log file. Once you do that, please link that github issue to this thread. I am interested in the outcome. I’m on 11.14.3 which has been stable for me (you may want to fall back to that)

Yeah, that’s another problem I frequently run into …
The default addon is called Zwave JS but it loads ZWave. ZWave JS UI loads Zwave JS. So, what am I actually running? I don’t even understand the basics of the underpinnings, I just know that once I got it to a certain point, I stuck with having the system start up the ZWave JS UI pieces mostly because Aeotec seems to completely rely on the ZWave JS UI interface for a number of their functions.

I fully suspect I and others are running different base software items and we’re both seeing similar issues. That effectively means it’s neither of these…

Both add-ons use Z-Wave JS. Z-Wave JS UI just adds it’s own UI management layer and MQTT interface. From the perspective of HA, via the Z-Wave integration, they are identical.

https://www.home-assistant.io/integrations/zwave_js/#whats-the-benefit-of-using-z-wave-js-ui-add-on-over-the-official-add-on

https://www.home-assistant.io/integrations/zwave_js/#advanced-installation-instructions

4 Likes

Appreciate the comment here… This makes total sense, but is not terribly “obvious” to understand for me based on what I see in the UI.

How does one collect the logs for the actual node-zwave-js piece, then? Is that what I am getting from within the “logs” folder of the ZWave JS UI? It does not appear to be formatted like the logs I’ve seen posted in other threads…

As a third-party application, Z-Wave JS UI has its own documentation independent of Home Assistant. Here’s the section for getting driver logs: https://zwave-js.github.io/zwave-js-ui/#/troubleshooting/generating-logs?id=driver-logs

Yes, that’s what I’ve done. I just want to be sure that the log data I’m seeing is actually for the underlying ZWave JS. Seems that it is.

I also have a ZooZ 800 LR with firmware versions 7.17.2 and, more recently, 7.17.3. The issue of jammed controllers and eventual freezing occurs with both versions. Occasionally, the stick also hangs, mostly noticed during the night. I’ve initiated a routine that restarts the ZWAVE JS UI Addon (currently once daily). I encountered significantly more problems with the 700 series variant.

I’ve actually contemplated reverting to Aeotec’s 5 series. However, I’ve come across Markus99 - Mark mentioning that he also had issues before. I would appreciate it if I could gather more information on this matter here.

If it was stable before the 12.x jammed feature, there is now a setting that allows you to revert to the prior behavior.

1 Like

That linked comment states “This is meant as a last resort.” I’ll also add that the recovery option seems to bring the controller back from a dead status, but an overly chatty network or generally poor communications with certain nodes can put it pretty much back to a dead state again.

After a -significant- amount of reconfiguration of all of the nodes on my network that support reducing / disabling reporting, the issue occurs far less frequently. At this point, the most common reason for an issue seems to be related to “distant devices” not responding in a timely fashion, likely due to poor communications between it and the controller. And repeaters are not addressing the overall issue.

I’ve been considering relocating my HA system to be more centrally located in the house but haven’t yet been able to find a location that will work properly.

I have reset my routes.
Set less priority routes.
The question is, can I really do better than Z-Wave? I dont think so.
I haven’t had any jammed in the last few hours. Let’s see what it brings in 1 to 2 days.

Thanks for All the ideas :+1:

I don’t have any priority routes set anywhere.

For me, Zwave gives me functionality without the cloud (I’m not depending on any services / WiFi) and a separate network with decent transmission capabilities within my home. The mesh nature of it also helps the overall network to “support itself” so long as no devices go rogue and flood the network with useless packets of data (which I did have some level of that happening). I also like the ability to support S2 alongside devices without security on the same network (so long as I have properly placed devices capable of functioning as S2 repeaters for more distant nodes).

I’m currently at 21 hours without an issue (since I restarted). My last large window without a problem was somewhere around the 1-1.5 day mark if I remember correctly.

Hello,
Same configuration for me. And exactly same problems.
I’ve read many threads about this now, like :

or

But this last one is about Z-Wave JS (original addon, not community addon) and with Aeotec Gen5 . But they have exact same errors in logs, as far as I understand.

Another issue seems relevant here :
Github , addon-zwave-js-ui, issues 602 (I cannot post more than 2 links as a new user…)

Some of them have Gen5, other have Gen7 stick.
Maybe there’s a solution with Gen5, to disable soft-reset option in Z-Wave JS UI. But there’s a note below this option :

NB: Disabling this functionality only affects 500 series and older controllers

I guess it will not help with my Gen7 Aeotec stick… :frowning:

So now my question : is there somewhere an issue logged with this accurate situation :

  • Aeotec Gen7 with firmware 7.17.2
  • Z-Wave JS UI v9.3.2 with Z-Wave Server v12.3.0

Or should we create one ?

I have that exact setup and have logged tickets with both node-js and core teams.

and

I finally pulled the plug on ZWave via USB w/ HA.

Bought a Hubitat C8 and switched all 30 of my ZWave devices over to that. Knock on wood, so far so good.

Real shame it’s been 2+ months of headaches, zero wife-approval factor, and $200+ in spend only to have to switch back to external hub…

1 Like

Thank you so much to point me to these issues ! That’s also point me to Z-Wave JS - Z-Wave driver written entirely in JavaScript/TypeScript , which really helps my situation.
Mostly, I had two nodes that were too chatty… and S0 security did not help.

“jammed” still happens ~once per day, but that always seems true : there’s too much load on Z-Wave network sometimes.

Hi did anyone tried to download the last driver from Aetoc for the 700 stick ?
Link
I will go down this road and let your know, otherise best solution would be to restore before the update of Z-Wave 12.X

That isn’t the latest driver… not even close. It is, however, the version that I have been running for weeks and the problem persists.