Inclusion Problems after upgrade to ZWA-2 from ZStick 5+

Hi all, I’m hoping someone can help. I installed Bali Shades last year which I discuss in detail here. When I set them up, everything worked included fine, and have been working. I have nine motorized shades and one Premium Remote. I had to replace one of the shades, and as a result, had to exclude the remote (which has to have the highest node of all shades) and include the new shade and then the remote again. The shade included fine, but I’ve not been able to include the remote again. In fact, today I just received a replacement remote to try, and it, too, fails to include, which points to my ZWave network, not the remote.

Sometime prior to receiving the new shade, I upgraded my network, replacing the Aeotec ZStick 5+ with the Nabu Casa ZWA-2. I initially had significant issues with it, but after manually recalculating every single route one at a time, things seem to have stabilized. It’s been working OK for a while.

The remote has an LCD screen and menu, and I followed the instructions to include (ZWave > Learn), and the menu changes to “Joining”, and I can see a new “unknown Product” device in my ZWave UI, but it is indefinitely stuck on “ProtocolInfo”. I’ve tried it multiple times, using Default Security, No Security, and “Resending” the inclusion from the remote, or simply pressing a key, just to keep it awake. If I don’t, ZWave comes back and tells me no devices were found and times out. I can keep it alive for as long as I want and ZWave will just keep spinning, never timing out, but never getting past “ProtocolInfo” either. Every time I try it, I get a new Unknown Product Node, still spinning, with a new node number. That last shade I added was note 136 (my last) on my network, and I’m up to 154 now trying to add this remote back.

I’m at a loss as to what could be the issue. What I’ve tried in addition to the above: I’ve looked to see if there was still a device that wasn’t fully excluded before (which I did before adding the new shade); there wasn’t. I’ve followed the instructions exactly, including being within a foot of the ZWA-2 to across the room. I’ve tried new batteries.

zwavejs logs have the following lines related to the inclusion attempts:

2026-04-27 15:53:31.653 CNTRLR   Starting inclusion process with strategy Insecure...
2026-04-27 15:53:31.684 CNTRLR   The controller is now ready to add nodes
2026-04-27 15:54:03.714 CNTRLR   Adding the node failed
2026-04-27 15:54:03.721 CNTRLR   stopping inclusion process...
2026-04-27 15:54:03.731 CNTRLR   The inclusion process was stopped

z_ui logs for one of the attempts:

2026-04-27 15:54:26.170 INFO Z-WAVE: Calling api startInclusion with args: [
  2,
  { forceSecurity: false, name: 'Bali Remote', location: 'MBR' },
  [length]: 2
]
2026-04-27 15:54:26.190 INFO Z-WAVE: Controller status: Non-secure inclusion started
2026-04-27 15:54:26.193 INFO Z-WAVE: Success zwave api call startInclusion true
......
2026-04-27 15:55:41.188 ERROR Z-WAVE: Timeout while waiting for a callback from the controller (ZW0200)
ZWaveError: Timeout while waiting for a callback from the controller (ZW0200)
    at Driver.sendMessage (file:///opt/node_modules/zwave-js/src/lib/driver/Driver.ts:7267:23)
    at ZWaveController.stopInclusionInternal (file:///opt/node_modules/zwave-js/src/lib/controller/Controller.ts:2924:22)
    at ZWaveController.stopInclusion (file:///opt/node_modules/zwave-js/src/lib/controller/Controller.ts:2901:29)
    at ZwaveClient.stopInclusion (file:///opt/node_modules/zwave-js-ui/server/lib/ZwaveClient.js:2831:44)
    at Timeout.<anonymous> (file:///opt/node_modules/zwave-js-ui/server/lib/ZwaveClient.js:2730:26)
    at listOnTimeout (node:internal/timers:605:17)
    at processTimers (node:internal/timers:541:7)

Here is a screenshot of the ZWUI following two attempts. This will remain until I delete them.

I recently updated the FW on the ZWA-2, so this has been attempted now with both this, and the previous, version.

I’m hoping someone might have a clue as to what is going on here, or other things I might try to troubleshoot.

Thanks.

Cheers,
Shane

Can you set logging somewhere to more verbose?

I may not be of much help but:

  • I have a Bali remote that I paired using my Aeotec Gen5 years ago (and pairing the shade to Aeotec Gen5) and also making an association with the remote and the shade. At that time it was using the old OpenZWave based HA Integration. Flash forward when I started using ZWaveJS (also using the same Aeotec Gen5), I started seeing the same problems you’re seeing. The remote still worked with the shade, but ZWaveJS remained stuck on ProtocolInfo. The problem seems to be that ZWaveJS sees the remote (its node_id=4) which is stored inside the Gen5 stick and tries to interview it but can’t (BTW it was able to interview the shade just fine). I have tried waking up the remote, and doing several other things during the interview process, but no luck. Although the Protocol Info spinning is annoying, I’ve been able to live without ZWaveJS being able to talk to the remote as the remote’s main purpose is to control the shade which it still does.
  • Last year bought a couple of new shades, each with their own remote, all the pairing and associating worked fine, but I did make a note that when pairing, the remote has to be close to the Z-Stick like 1meter away. When it was around 3 meters away, there were lots of packet errors showing in the logs and the pairing failed.
1 Like

I just went through this. Did you properly exclude the remote before trying to add it back by doing a
Zwave exclusion or did you simply delete it. Proper exclusion is essential and then be sure to remove any trace of it in devices and nodes. You may have to reset the remote to factory and add all the shades and groups back to the remote, (not home assistant), which is what I ended up doing. That’s the only thing that worked.

I have an old SmartThings hub that I fire up and is great for excluding devices, even if they were never connected to it. I know it sounds strange but it works.

Good luck.

Hi Sammy, thanks for the response. I did do a proper exclude before adding the new shade and re-adding the remote. I never just delete devices. There is no record of the device or any of its entities in HA or ZWUI, unless it is there and not being shown by either. I have reset the remote multiple times while trying to add it back to the network. In fact, it requires you to if the previous inclusion failed.

Yeah, that sounds a lot like my issue. I don’t know exactly how the remote integrates with HA. I’m assuming that it is a device like any other, and then the remote creates scenes when you pair shades to it, IDK. I don’t think the remote connects directly to the shades, I believe it has to bed connected to the controller. So, not sure how yours is working. But I may be wrong about all of it.

I was hoping someone from the ZW team would chime in to perhaps tell me where to look behind the covers to see if any remnants of the old device are still hanging around that I’d need to delete manually, but haven’t heard from any of them yet. Perhaps there are still some scenes hanging around, or their used to be a file in storage that had a database of the devices, but I don’t know if that still exists. I used to manually edit that back in the day before ZWJS.

Cheers.

Its always been my theory that a ZWave “Association” is made between the remote and the shade. One can go into ZWaveJS with UI and can actually see this association. By clicking on the Up/Down button (for the 2-button remote) results in something like a ZWave BASIC On/Off command directly to the shade on another group number.

1 Like

Yeah, didn't think about. I do that with some light switches where one triggers the other directly, device to device. That may very well be how they work. :+1: