node-zwave-js: ZWave Devices Fail to Interview, Network Stability Issues, Most devices assume within range of controller

Is your problem within Home Assistant (Core or Z-Wave JS Integration)?

NO, my problem is NOT within Home Assistant or the ZWave JS integration

Is your problem within ZWaveJS2MQTT?

NO, my problem is NOT within ZWaveJS2MQTT

Checklist

Describe the bug

This is really hard to describe, but I’m totally lost when it comes to stabilizing my ZWave Network. The issue I am having is that I can’t reliably interview any nodes on the network, and even if I do succeed, 50-60% of the time, commands are delayed 30-60s(ex. In home assistant, click turn on light, and a minute later it turns on). Some devices in the deployment work flawless everytime, but I have probably 7-8 switches that are not stable at all. Contacting Zooz Support and they typically point the finger at ZWaveJS, so I figured I would ask here if anyone had ideas or maybe had seen this before.

Description of Deployment:

  • ~33 Powered Dimmers / Wall Switches as repeaters
  • Home Layout: Basement + Living Floor + Bedroom Floor + Attic (4 stories total) typical US wood / drywall Colonial
  • Each floor is approximately 900 sqft
  • ZWave Stick is centrally located in the basement, about 1ft below the ceiling(3ft USB 3.0 Extension from UGREEN)
  • There are 3 switches on the same floor approximately 4’ from the stick, and another 2 at the top of the stairs to the first floor
  • 2 Battery multi sensors, and 2 battery locks are present, but those seem to all work really well
  • Switches are mostly a mix of Zooz Zen27, Zen 76, Zen77
  • Only the Locks were added secure, the rest were added insecure

Overall: Controller placement is sub-optimal, but I would have expected the mesh nature of ZWave to make this a non-issue.

Server Environment:

  • Rack mounted Ryzen system
  • Ubuntu 20.04 w/ HAOS VM via KVM
  • Only other connected USB device is a Cyberpower UPS which is monitored with APCUPSD in a docker container on the Ubuntu Host OS

Observations:

  • Almost every device in the home thinks it has a strong connection to the controller, very few use the switches as repeaters. Including switches that are in the Attic, they are using a direct connection to the controller and are fairly unstable
  • Polling is disabled on the entire network, and no excess traffic is observed while interviewing nodes
  • Attempted to replace ZST10 500 series with a ZST10 700 series stick, and results are actually worse
  • Network Wide Healing often fails, but I have been able to succeed in healing each device a few times and see no improvement
  • All of this behavior is consistent across the two sticks. When migrating from one to the other, I factory reset each ZWave switch and then included it again on the new stick

I guess my first question, is there any way I could designate which nodes are within range of the controller manually? Or manually exclude certain nodes, and force them to use a hop. I feel my issue is involving range, but ZWaveJS is paring their return routes directly to the controller even though they aren’t able to reliably communicate that way.

Device information

Zooz ZST10 700 series Stick

How are you using node-zwave-js?

  • zwavejs2mqtt Docker image (latest)
  • zwavejs2mqtt Docker image (dev)
  • zwavejs2mqtt Docker manually built (please specify branches)
  • ioBroker.zwave2 adapter (please specify version)
  • HomeAssistant zwave_js integration (please specify version)
  • pkg
  • node-red-contrib-zwave-js (please specify version, double click node to find out)
  • Manually built from GitHub (please specify branch)
  • Other (please describe)

Which branches or versions?

HA Integration Version: 0.1.40 Z-Wave JS Version: 8.3.0

Did you change anything?

no

If yes, what did you change?

No response

Did this work before?

No, it never worked anywhere

If yes, where did it work?

No response

Attach Driver Logfile

out3.log

Note: These logs were taken after the controller was unplugged and replugged and then ZWaveJS started, but still receiving controller ack issues. Command failures, heal failures, etc.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 30 (24 by maintainers)

Most upvoted comments

Ok, server rack under a staircase is not the place for a zwave stick lol. I put it back down there to see if it would work, and my whole network went haywire again. Rebooted the house and moved it back upstairs and all is good again. That was likely the main issue

Ok, progress? Last night I used zniffer to detect any nodes totally misbehaving, and I excluded / included those nodes. After the network heal today, all seems well. I had a couple routing errors, but the commands still executed perfectly fine, and I’m able to interview pretty much any node on the network with no issues.

Overall, it seems my controller was getting paired with nodes that it didn’t have a strong signal with, which caused a lot of my initial issues. Relocating the stick to a better location a floor up seems to resolve most of the issues. I’ve seen a few other users do deployments of zwavejs2mqtt on a pi then linking that to home assistant, I may try and go that route, just need to find a good place to put the controller where it won’t get disturbed.

I also have one node I might have fried(its connected to a fluorescent light, manufacturer says don’t do that). So I also removed that for the later half of the testing and will replace it plus the light fixture this weekend. That may have been the cause of some of the interference, but it was still not resolved until re including the nodes corrupted by that interference.

@AlCalzone and @blhoward2 Thank you a ton for sticking with me to try and debug these, I’ll keep you posted if anything else comes up, but I think I’m good to go.

To end the tangent of Zniffer setup, you can get the Zniffer_v4_60.zip from the search box in Simplicity v4. I did a search for zniffer and then went to Miscellaneous, and it was listed as Z-Wave Zniffer 4.60. That contains the tool, programming driver, and firmware. I then used the programmer which you can still find on the silabs website (or also grabbed via the simplicity v4 search under Z-Wave Programmer. Search for programmer and look under Miscellaneous)