Heal Network Never Finishes

I’ve seen many posts about this general issue but was unable to find a solution to my specific problem.
I am running Home Assistant (the GUI-managed, standalone image…not sure of the correct terminology here). It’s running on a raspberry pi 4 and using the Aeotec Z-Stick Gen5. I’m using the Z-wave JS integration. All software is up to date.

Here’s what I see in the log for 3 of my devices. All of them are this:


2022-06-26T19:22:02.180Z CNTRLR [Node 030] Healing node…
2022-06-26T19:22:02.182Z CNTRLR » [Node 030] refreshing neighbor list (attempt 1)…
2022-06-26T19:22:02.193Z DRIVER » [Node 030] [REQ] [RequestNodeNeighborUpdate]
callback id: 34
2022-06-26T19:22:02.307Z DRIVER « [REQ] [RequestNodeNeighborUpdate]
callback id: 34
update status: UpdateStarted
2022-06-26T19:22:03.544Z DRIVER « [REQ] [RequestNodeNeighborUpdate]
callback id: 34
update status: UpdateDone
2022-06-26T19:22:03.558Z CNTRLR « [Node 030] neighbor list refreshed…
2022-06-26T19:22:03.559Z CNTRLR » [Node 030] Deleting SUC return route…
2022-06-26T19:22:03.571Z DRIVER » [Node 030] [REQ] [DeleteSUCReturnRoute]
payload: 0x1e23
2022-06-26T19:22:03.582Z DRIVER « [RES] [DeleteSUCReturnRoute]
was executed: true
2022-06-26T19:22:03.668Z DRIVER « [REQ] [DeleteSUCReturnRoute]
callback id: 35
transmit status: OK
2022-06-26T19:22:03.684Z CNTRLR » [Node 030] Assigning SUC return route…
2022-06-26T19:22:03.695Z DRIVER » [Node 030] [REQ] [AssignSUCReturnRoute]
payload: 0x1e24
2022-06-26T19:22:03.711Z DRIVER « [RES] [AssignSUCReturnRoute]
was executed: true
2022-06-26T19:22:04.382Z DRIVER « [REQ] [AssignSUCReturnRoute]
callback id: 36
transmit status: OK
2022-06-26T19:22:04.395Z CNTRLR » [Node 030] deleting return routes (attempt 1)…
2022-06-26T19:22:04.406Z DRIVER » [Node 030] [REQ] [DeleteReturnRoute]
payload: 0x1e25
2022-06-26T19:22:04.413Z DRIVER « [RES] [DeleteReturnRoute]
has started: true
2022-06-26T19:22:04.653Z DRIVER « [REQ] [DeleteReturnRoute]
callback id: 37
transmit status: OK
2022-06-26T19:22:04.682Z CNTRLR » [Node 030] assigning return routes to the following nodes:
1
2022-06-26T19:22:04.684Z CNTRLR » [Node 030] assigning return route to node 1 (attempt 1)…
2022-06-26T19:22:04.699Z DRIVER » [Node 030] [REQ] [AssignReturnRoute]
payload: 0x1e0126
2022-06-26T19:22:04.713Z DRIVER « [RES] [AssignReturnRoute]
has started: true
2022-06-26T19:22:05.386Z DRIVER « [REQ] [AssignReturnRoute]
callback id: 38
transmit status: OK
2022-06-26T19:22:05.400Z CNTRLR [Node 030] healed successfully
2022-06-26T19:22:05.402Z CNTRLR » [Node 030] requesting node neighbors…
2022-06-26T19:22:05.413Z DRIVER » [REQ] [GetRoutingInfo]
remove non-repeaters: false
remove bad links: false
2022-06-26T19:22:05.420Z DRIVER « [RES] [GetRoutingInfo]
node ids: 1, 7, 9, 10, 11, 18, 19, 27, 29, 32, 33, 34
2022-06-26T19:22:05.427Z CNTRLR « [Node 030] node neighbors received: 1, 7, 9, 10, 11, 18, 19, 27, 29, 32, 33, 34


A few seconds later, I see this:


2022-06-26T19:25:18.769Z DRIVER » [Node 030] [REQ] [SendData]
│ transmit options: 0x25
│ callback id: 66
└─[BinarySwitchCCSet]
target value: true
2022-06-26T19:25:18.781Z DRIVER « [RES] [SendData]
was sent: true
2022-06-26T19:25:18.794Z DRIVER « [REQ] [SendData]
callback id: 66
transmit status: OK
2022-06-26T19:25:18.816Z CNTRLR [Node 030] Scheduled poll canceled because expected value was received
2022-06-26T19:25:18.821Z DRIVER « [Node 030] [REQ] [ApplicationCommand]
└─[BinarySwitchCCReport]
current value: true


As you can see, there’s this “…expected value not received” message.

I get similar sequences for the other two smart switches (Node 018 and 019).
The process then seems to stop.

Just to see what would happen, waved my hands in front of the motion sensors that turn these switches on (via an automation). All the lights connected to these turn on.

I then see this for Node 030:


2022-06-26T19:29:37.398Z DRIVER » [Node 030] [REQ] [SendData]
│ transmit options: 0x25
│ callback id: 69
└─[BinarySwitchCCSet]
target value: false
2022-06-26T19:29:37.409Z DRIVER « [RES] [SendData]
was sent: true
2022-06-26T19:29:37.423Z DRIVER « [REQ] [SendData]
callback id: 69
transmit status: OK
2022-06-26T19:29:37.442Z CNTRLR [Node 030] Scheduled poll canceled because expected value was received
2022-06-26T19:29:37.445Z DRIVER « [Node 030] [REQ] [ApplicationCommand]
└─[BinarySwitchCCReport]
current value: false


I’m tempted to think that there’s something incompatible with these switches I’m using. But, they are perfectly functional and 100% reliable.

I’d appreciate some help. Suggestions for further debug would be gladly welcomed.

I see no errors here. What’s the problem you’re having?

The problem is in the title :). The heal network operation seemed like it would never finish (after running it for ~16 hours). I did a little more messing around and it does appear that the reason had to do with my battery operated sensors. This morning, I removed and replaced the covers on these sensors. This allowed the operation to complete. I assume this woke up the sensors.