ZWave JS with Aeotec Z-Stick S2

I’m new to Home Assistant but not new to Z-Wave as I had my own custom home automation software using OpenZWave for many years. I’m now using HA and ZWave JS and am having some issues. I’ve got about 78 Z-Wave devices with another 15 ready to be added/configured. My controller is a Z-Stick S2 and is probably from around when they came out.

My main issue right now is that my three Yale YDR110-ZW-US locks weren’t working securely in HA. I had an issue with my network key (somehow it was working in my old system with an errant “Q” in the hex). I was able to remove and re-add one of them and it works, but the others have been quite difficult. I’ve tried adding one about 15 times now and it won’t get added securely since it takes about 3 minutes between starting to add and doing the S0 security when only 15 seconds is allowed. I’m not sure how it worked the one time, but it does take quite a while to add non-secure nodes even just doing so by pressing the button on the stick. Should I just keep trying? I have the lock basically sitting on top of the usb stick and it has freshly charged batteries. Here’s a log of failing to add one securely:

2021-11-04T04:05:49.145Z CNTRLR   Starting inclusion process with strategy Default...
2021-11-04T04:05:49.178Z CNTRLR   handling add node request (status = Ready)
2021-11-04T04:05:49.179Z CNTRLR     the controller is now ready to add nodes
2021-11-04T04:05:54.497Z CNTRLR   handling add node request (status = NodeFound)
2021-11-04T04:05:54.628Z CNTRLR   handling add node request (status = AddingSlave)
2021-11-04T04:07:19.711Z CNTRLR   stopping inclusion process...
2021-11-04T04:07:20.726Z CNTRLR   Failed to execute controller command after 1/3 attempts. Scheduling next try in 100 ms.
2021-11-04T04:07:21.837Z CNTRLR   Failed to execute controller command after 2/3 attempts. Scheduling next try in 1100 ms.
2021-11-04T04:08:17.265Z CNTRLR   handling add node request (status = Done)
2021-11-04T04:08:17.268Z CNTRLR   done called for 168
2021-11-04T04:08:17.270Z CNTRLR   finished adding node 168:
                                    basic device class:    Routing Slave
                                    generic device class:  Entry Control
                                    specific device class: Secure Keypad Door Lock
                                    supported CCs: 
                                    · Basic (0x20)
                                    · Door Lock (0x62)
                                    · User Code (0x63)
                                    · Manufacturer Specific (0x72)
                                    · Security (0x98)
                                    · Version (0x86)
                                    controlled CCs: 
2021-11-04T04:08:17.274Z CNTRLR » [Node 168] Assigning SUC return route...
2021-11-04T04:08:17.290Z CNTRLR   The controller response indicated failure after 1/3 attempts. Scheduling next try in 100 ms.
2021-11-04T04:08:17.416Z CNTRLR   The controller response indicated failure after 2/3 attempts. Scheduling next try in 1100 ms.
2021-11-04T04:08:28.548Z CNTRLR   [Node 168] Security S0 bootstrapping failed, the node was not granted the S0 security class: a secure inclusion timer has elapsed.

The other issue is that on startup, I get this error for each node:

Assigning SUC return route failed: Timeout while waiting for an ACK from the controller 

I’m guessing this might be an incompatibility with the controller.

Finally, I have an Aeotec Home Energy Meter that has always been a pain but pretty much refuses to update in HA. Also some random issues like a Fibaro Flood sensor that just stopped talking to the controller, and a switch that completely removed itself from the controller today.

My main question here is whether it’s worth it or even possible to fix these issues, or if I should bite the bullet and get a Gen5+ (am on Pi4) and rebuild the network. Anyone have any thoughts or suggestions?

This might be a situation where zwavejs2mqtt might be a better option for you then zwavejs. Zwavejs2mqtt includes its own integrated control panel, with additional settings beyond what is in the Home Assistant zwavejs integration control panel.

In zwavejs2mqtt, you can set the inclusion timeout period. It defaults to 30 seconds. This might not be enough time for your Yale locks to securely include. If you changeover to zwavejs2mqtt, you can change this default to a higher value to allow more time for inclusion, which may help.

That means there is a communication problem in the zwave network preventing a route from being established between the controller and a device. There’s a lot of things that can cause that. Make sure the closest mains powered devices are paired first, then move outward. Another thing I’ve found with zwavejs is that a whole network heal doesn’t always work well, but healing individual problem nodes usually re-establishes the correct routes and fixes this. One other problem might be a mis-configured device that is flooding the zwave network with messages - like reporting power reports too frequently. Zwave is VERY low bandwidth and can be easily overwhelmed by a “chatty” node. Check your configuration parameters for notifications on devices to make sure they are not reporting too frequently.

In zwavejs2mqtt, you can set the inclusion timeout period. It defaults to 30 seconds. This might not be enough time for your Yale locks to securely include. If you changeover to zwavejs2mqtt, you can change this default to a higher value to allow more time for inclusion, which may help.

Interesting! I will definitely give that a try.

Make sure the closest mains powered devices are paired first, then move outward.

Huh! So does that mean lower id devices should be closer to the hub? I didn’t know that. I have very few battery powered devices, but also a very large home. The first two devices are in the same room as the controller within about 10 feet. The next few are in different parts of the house though.

One other problem might be a mis-configured device that is flooding the zwave network with messages - like reporting power reports too frequently.

Is there a way to track this down? After startup, things usually respond almost instantly. Occasionally there’s a 5-10 second lag, but with HA, that’s been pretty rare.

Thanks so much for the help!

Not necessarily, and probably not worth redoing everything and starting over, but when you redo a mesh network like zwave with a new controller or setup that needs re-inclusion, you should always start with the closest devices first and work your way out. I believe you said you still have some devices to include. If any are close to the hub and mains powered, I would include those now to help build a solid mesh. The node ID numerical order does not influence routing - the physical location of the device and their “neighbors” will.

Yes, monitor the logs in zwavejs and look for nodes that continuously send messages

Go to the zwavejs integration then click “configure”

Screenshot from 2021-11-04 20-12-36

At the top right, click “logs”, then change them to “debug”. Change them back to warn when you are done. Look for a node that is posting a lot of info.

Unfortunately, that didn’t help. What happens is the inclusion starts, the lock flashes its keypad for about 20 seconds, then it makes an unhappy noise. I suspect the timeout is on the lock side. Meanwhile my controller stops doing anything for a few minutes. It’s been about 15 minutes now this time and the controller is unresponsive.

Any other ideas? I did check debug logs and there’s barely any network traffic. The one sensor that would normally be pretty spammy isn’t working right now (it’s the home energy meter I mentioned before that just doesn’t report anything any more).

They may have included without security or still have some info from the old configuration.

Try to exclude them first, even if they don’t show included. Just go action, manage nodes, exclusion. Even if they are included with another controller, doing an exclusion with the current one will clear it.

Also, you can try a factory reset.

You also might be dealing with compatibility issues with the zstick and rpi4. Take a look at this thread for more info on that.

For what it’s worth, I too started with the Gen 2 stick. And a whole load of Gen 2 sockets. The network was reasonably stable, but sometimes things would drop off the network for no obvious reason, and response times could be problematic.

I eventually replaced the Gen 2 stick with a Gen 5 (ZWave+) when I managed to get a whole load of Domitech light bulbs for a bargain price. The light bulbs are Gen 5, and essentially now form the backbone of my ZWave network. ZWave+ brought massive improvements with it, including dropping the need for polling the network. I rarely have any problems with my network now, the garden light can sometimes take a few seconds to respond - but it is at the very limit of what ZWave can handle in terms of hops.

If you are considering upgrading to the Gen5, I say absolutely, provided that you have at least some devices that can take advantage of it. Otherwise, you won’t gain any real benefit.

1 Like

Quick question: What version of the Z-Wave JS you are using? I did have hickups w/0.1.46 - skipped that version. Just that I had similar errors like “…controller response indicated failure…”; maybe irrelevant - just worth checking tho.

In addition, you might consider adding another stick w/for example remote home assistant integration in place. You do have a lot of nodes there.

Yeah. They don’t let you include without excluding first if they’ve already been included. I think it’s just the ZStick S2 is too slow with this many nodes. It got slower and slower to include nodes as I added them.

I think that’s just the ZStick 5? I have an S2, though. I’ve given up and just bought a 5+ (which has the fix for the issue you mentioned) and plan to just rebuild the network as annoying as that is.

The current state of things after the last inclusion attempt using ZWave JS to MQTT is pretty bad. About 20 nodes aren’t pinging for some reason even though I can get most of them to send updates to the controller that come out in the logs. This has definitely been very frustrating.

I think most of my nodes would support it. I have a lot of HomeSeer 200 series switches/dimmers.

Z-Wave JS to MQTT version: 0.28.0 Or do you mean the integration?

As a separate Zwave network or on the same one? I don’t know a lot about either of those options.

Thanks for all the help everyone! I’m really hoping the Zstick 5 solves the issue though I’m not looking forward to redoing the whole network. I don’t know that I want to try the trick of adding the new one as a secondary (and 10+ other steps). That seems just as much work and more risk.

1 Like

I just finished re-adding all but 3 devices (they’re outside and it’s cold out there) to the Zstick Gen 5+ and everything seems to be working. The Yale locks included securely the first try. The S2 stuff was a bit wonky and sometimes worked and sometimes didn’t. I think it was more reliable scanning the barcode first instead of entering the code during inclusion.

Thanks again for the help!

1 Like