Z-Wave: network structure looks like frozen in the past and no more updatable with OH

Hello,

My Z-Wave stick has its battery dead and I can no more move in the house with the stick in the hands to pair and unpair nodes. I have now no other choice than pairing/unpairing nodes using software (openHAB).

Few weeks ago, I unplugged/disconnected a Fibaro dimmer device that was in my wall. I am very surprised to see that several weeks later my thing still appears as ONLINE in openHAB and this node is still present in the map (node 15):

I had in mind that there was, at least in the past, an automatic network health check run every night. Is it a feature that was removed ? If not, I would have expected my node being detected as not reachable and probably rejected from the network after a certain time ?

If I try to remove the node from openHAB using the action “Remove device from controller”, I get a popup to confirm but then looks like nothing happens. But then, when I try to go back to the things page, I got a popup saying “Do you want to leave this page without saving” which is a little strange as I have changed nothing, I just run an action.

If I try to set my device as failed using the action “Set device as FAILed”, I get a popup to confirm but then again looks like nothing happens.

Looks like Main UI actions are doing nothing and can’t impact my Z-Wave network, a Z-Wave network that looks like frozen in the past as not able to detect unreachable nodes.

Pinging @apella12 for a potential help.

For additional information, I am running OH 5.2 snapshot and actions are present in Main UI.

I am moving slowly to Matter and I would like to remove Z-Wave nodes each time one device is replaced by a Matter device.

But my node 15 now no more appears in the middle of the mesh network but rather just connected to the controller. So maybe the mesh network was automatically properly adjusted and this node will not disturb the full mesh network. I am just asking myself why it is still in the network while the physical device does no more exist.

If you just remove the node before actively unpairing it first , you end up with a Zombie node. Often introduces 5s retransmission delays.

The procedure of using PC tool SW as described repeatedly. Search for Zombie nodes.

Generally, this looks answered by @sihui . IIRC the problem in 2024 was that the actions were not shown in the UI. This time the actions are shown, but don’t work. What is happening is that activating the action resets the controller. What needs to happen is the binding needs to send a ZW message to the controller to change into exclude mode. With the controller reset that never happens. If you look at the code tab you will see controller_exclude: true So this is being handled like a parameter update. Since you are a maintainer the code; (the command is sent and the parameter goes back to false.)

               if (cfg[1].equals("softreset") && value instanceof Boolean && ((Boolean) value) == true) {
                    controller.requestSoftReset();
                    value = false;
                } else if (cfg[1].equals("hardreset") && value instanceof Boolean && ((Boolean) value) == true) {
                    controller.requestHardReset();
                    value = false;
                } else if (cfg[1].equals("exclude") && value instanceof Boolean && ((Boolean) value) == true) {
                    controller.requestRemoveNodesStart();
                    value = false;
                } else if (cfg[1].equals("sync") && value instanceof Boolean && ((Boolean) value) == true) {
                    controller.requestRequestNetworkUpdate();
                    value = false;

As to the online device, that should go offline with a restart, but probably not just over time. Might depend on the poll parameter.

The network picture is not diagnostic, it shows neighbors, not routing. There could be problems when a powered node is not online. Should be removed with Simplicity studio as noted by @OMR

@appledapple : I am not sure to follow you. Where should be something fixed ? In Main UI or in the Z-Wave binding ?

Regarding Simplicity Studio 6, the software was not able to detect my USB Aeotec Stick on Linux Mint. Will try to install it on Windows 10.

It is in the way the UI is handling the parameter group actions of the ZW binding (and possibly others). IMO The right person is aware of the problem, but for now use Simplicity to remove.

Not better on Windows!

Is there something special to do to discover USB stick connected to the PC ?

Or should I rather test Simplicity Studio 5?

Do you see the stick in the Device Controller?
It will show you the COMX number to choose:

I fired up my old Surface 4 Pro and checked. I have indeed used v5. No experience with v6.

I actually have studio 5 also working with Windows 11. I’m pretty sure I used it on my Aeotec Gen5 before I flashed upgraded firmware. It is probably not urgent unless you are seeing other problematic behavior and can wait until the UI fix.

@apella12 : can you create an issue in Main UI Git repo ? Just to be clear, only actions are broken but not the general handling of thing parameters ? In case handling of thing parameters would be also broken for Z-Wave things, this would be a critical bug.

Regarding Z-Wave specific actions in Main UI, there is a request to replace them by “thing actions”.

@apella12 : are you available to implement these thing actions to replace the actual dedicated actions ? I can help you and add the skeleton for all the required actions in Z-Wave binding. But I have no knowledge about the code to implement in the different actions.

Regarding the current actions being broken in 5.1/5.2, do you thing it has been broken in 5.1 only but is working well in 5.0 ? I could quickly re-install OH 5.0 only for Z-Wave stuff.

In reverse order

I think they were Ok in 5.0. I don’t recall any forum issues in the 2H2025. (TBH I mostly use ZUI with zwave-js, but have a few nodes with the OH ZW to be able to provide support and test somethings. I felt a little bad that I didn’t catch this issue during the 5.1 RC phase.) Anyway, good idea, just spin up a new empty OH5.0 just add the Zwave binding and give it a try.

I wrote a DM on the Thing actions. I’ll see if I can add you. Bottom line, I would need a lot of help.

Parameters are fine. The issue is the reinitialization after a change, fine for parameters, but for the actions (at least in Zwave) just send a command and revert back.