Hi everyone,
I recently migrated from OH2.4 stable to OH2.5 stable by installing a fresh system. When I plugged in my Z-Stick, I rediscovered all of my devices. Then I upgraded my binding to the 2.5.6-20200612.215243-7 snapshot using @5iver’s script to get support for a device which I contributed to the database.
Now, for some reason, many of my devices are reporting “Node not communicating with controller” though they seem to be working. I can switch them on/off through PaperUI or HABpanel, and they briefly show Online. Shortly afterwards, they go back to “Not communicating”. Likewise, if I manually switch them on, they report their state back to the system, then go back to “Not communicating”.
I have about 70 devices in a robust config, and roughly 25 of them are in this state at a given time. Many, but not all, are mains powered.
I’ve had DEBUG level logging on the zwave binding for the past few days. Looking through the logs using @chris’s log viewer, I see a lot of “Neighbor update failed” and “message timeout” messages.
Here’s a sample from the log itself:
2020-06-15 03:40:53.724 [DEBUG] [ab.binding.zwave.internal.protocol.ZWaveController] - Incoming Message: Message: class=RequestNodeNeighborUpdate[72], type=Request[0], dest=35, callback=83, payload=53 23
2020-06-15 03:40:53.724 [DEBUG] [erialmessage.RequestNodeNeighborUpdateMessageClass] - NODE 5: Got NodeNeighborUpdate request.
2020-06-15 03:40:53.724 [DEBUG] [erialmessage.RequestNodeNeighborUpdateMessageClass] - NODE 5: NodeNeighborUpdate FAILED
2020-06-15 03:40:53.725 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 5: Got an event from Z-Wave network: ZWaveNetworkEvent
2020-06-15 03:40:53.725 [DEBUG] [b.binding.zwave.internal.protocol.ZWaveTransaction] - TID 4783: Transaction CANCELLED
2020-06-15 03:40:53.725 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 5: Got an event from Z-Wave network: ZWaveTransactionCompletedEvent
2020-06-15 03:40:53.725 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 5: CANCEL while sending message. Requeueing - 2 attempts left!
2020-06-15 03:40:53.725 [DEBUG] [b.binding.zwave.internal.protocol.ZWaveTransaction] - TID 4783: Transaction RESET with 2 retries remaining.
2020-06-15 03:40:53.725 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 5: Adding to device queue
2020-06-15 03:40:53.725 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 5: Added 4783 to queue - size 22
2020-06-15 03:40:53.725 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2020-06-15 03:40:53.725 [DEBUG] [nhab.binding.zwave.internal.protocol.SerialMessage] - Assembled message buffer = 01 05 00 48 05 54 E3
2020-06-15 03:40:53.725 [DEBUG] [g.openhab.binding.zwave.handler.ZWaveSerialHandler] - NODE 255: Sending REQUEST Message = 01 05 00 48 05 54 E3
2020-06-15 03:40:53.725 [DEBUG] [g.openhab.binding.zwave.handler.ZWaveSerialHandler] - Message SENT
2020-06-15 03:40:53.725 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 4783: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 84
2020-06-15 03:40:53.725 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 5: TID 4783: Transaction not completed
2020-06-15 03:40:53.725 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
2020-06-15 03:40:53.725 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.
2020-06-15 03:40:53.726 [DEBUG] [wave.handler.ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 06
2020-06-15 03:40:53.726 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=null[0], type=ACK[2], dest=255, callback=0, payload=
2020-06-15 03:40:53.726 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=null[0], type=ACK[2], dest=255, callback=0, payload=
2020-06-15 03:40:53.726 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - lastTransaction TID 4783: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 84
2020-06-15 03:40:53.726 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Received msg: ACK
2020-06-15 03:40:53.726 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
2020-06-15 03:40:53.726 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.
2020-06-15 03:40:53.727 [DEBUG] [wave.handler.ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 05 00 48 54 23 C5
2020-06-15 03:40:53.727 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=RequestNodeNeighborUpdate[72], type=Request[0], dest=35, callback=84, payload=54 23
2020-06-15 03:40:53.727 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=RequestNodeNeighborUpdate[72], type=Request[0], dest=35, callback=84, payload=54 23
2020-06-15 03:40:53.727 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - lastTransaction TID 4783: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 84
2020-06-15 03:40:53.727 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Checking outstanding transactions: 1
2020-06-15 03:40:53.727 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Last transaction: TID 4783: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 84
2020-06-15 03:40:53.727 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Checking TID 4783: (Callback 84)
2020-06-15 03:40:53.727 [DEBUG] [ernal.protocol.serialmessage.ZWaveCommandProcessor] - Callback match!
2020-06-15 03:40:53.727 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Correlated to TID 4783: callback 84
2020-06-15 03:40:53.728 [DEBUG] [ab.binding.zwave.internal.protocol.ZWaveController] - Incoming Message: Message: class=RequestNodeNeighborUpdate[72], type=Request[0], dest=35, callback=84, payload=54 23
2020-06-15 03:40:53.728 [DEBUG] [erialmessage.RequestNodeNeighborUpdateMessageClass] - NODE 5: Got NodeNeighborUpdate request.
2020-06-15 03:40:53.728 [DEBUG] [erialmessage.RequestNodeNeighborUpdateMessageClass] - NODE 5: NodeNeighborUpdate FAILED
2020-06-15 03:40:53.728 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 5: Got an event from Z-Wave network: ZWaveNetworkEvent
2020-06-15 03:40:53.728 [DEBUG] [b.binding.zwave.internal.protocol.ZWaveTransaction] - TID 4783: Transaction CANCELLED
2020-06-15 03:40:53.728 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 5: Got an event from Z-Wave network: ZWaveTransactionCompletedEvent
2020-06-15 03:40:53.728 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 5: CANCEL while sending message. Requeueing - 1 attempts left!
2020-06-15 03:40:53.728 [DEBUG] [b.binding.zwave.internal.protocol.ZWaveTransaction] - TID 4783: Transaction RESET with 1 retries remaining.
2020-06-15 03:40:53.728 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 5: Adding to device queue
2020-06-15 03:40:53.728 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 5: Added 4783 to queue - size 22
2020-06-15 03:40:53.728 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2020-06-15 03:40:53.728 [DEBUG] [nhab.binding.zwave.internal.protocol.SerialMessage] - Assembled message buffer = 01 05 00 48 05 55 E2
2020-06-15 03:40:53.728 [DEBUG] [g.openhab.binding.zwave.handler.ZWaveSerialHandler] - NODE 255: Sending REQUEST Message = 01 05 00 48 05 55 E2
2020-06-15 03:40:53.728 [DEBUG] [g.openhab.binding.zwave.handler.ZWaveSerialHandler] - Message SENT
2020-06-15 03:40:53.728 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage started: TID 4783: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 85
2020-06-15 03:40:53.728 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 5: TID 4783: Transaction not completed
2020-06-15 03:40:53.728 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
2020-06-15 03:40:53.728 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.
2020-06-15 03:40:53.729 [DEBUG] [wave.handler.ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 06
2020-06-15 03:40:53.729 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=null[0], type=ACK[2], dest=255, callback=0, payload=
2020-06-15 03:40:53.729 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=null[0], type=ACK[2], dest=255, callback=0, payload=
2020-06-15 03:40:53.729 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - lastTransaction TID 4783: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 85
2020-06-15 03:40:53.729 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Received msg: ACK
2020-06-15 03:40:53.729 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
2020-06-15 03:40:53.729 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 1 out at start. Holdoff false.
2020-06-15 03:40:53.730 [DEBUG] [wave.handler.ZWaveSerialHandler$ZWaveReceiveThread] - Receive Message = 01 05 00 48 55 23 C4
2020-06-15 03:40:53.730 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - processReceiveMessage input 0<>128 : Message: class=RequestNodeNeighborUpdate[72], type=Request[0], dest=35, callback=85, payload=55 23
2020-06-15 03:40:53.730 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Received msg (0): Message: class=RequestNodeNeighborUpdate[72], type=Request[0], dest=35, callback=85, payload=55 23
2020-06-15 03:40:53.730 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - lastTransaction TID 4783: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 85
2020-06-15 03:40:53.730 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Checking outstanding transactions: 1
2020-06-15 03:40:53.730 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Last transaction: TID 4783: [WAIT_REQUEST] priority=Controller, requiresResponse=true, callback: 85
2020-06-15 03:40:53.730 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Checking TID 4783: (Callback 85)
2020-06-15 03:40:53.730 [DEBUG] [ernal.protocol.serialmessage.ZWaveCommandProcessor] - Callback match!
2020-06-15 03:40:53.730 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Correlated to TID 4783: callback 85
2020-06-15 03:40:53.731 [DEBUG] [ab.binding.zwave.internal.protocol.ZWaveController] - Incoming Message: Message: class=RequestNodeNeighborUpdate[72], type=Request[0], dest=35, callback=85, payload=55 23
2020-06-15 03:40:53.731 [DEBUG] [erialmessage.RequestNodeNeighborUpdateMessageClass] - NODE 5: Got NodeNeighborUpdate request.
2020-06-15 03:40:53.731 [DEBUG] [erialmessage.RequestNodeNeighborUpdateMessageClass] - NODE 5: NodeNeighborUpdate FAILED
2020-06-15 03:40:53.731 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 5: Got an event from Z-Wave network: ZWaveNetworkEvent
2020-06-15 03:40:53.731 [DEBUG] [b.binding.zwave.internal.protocol.ZWaveTransaction] - TID 4783: Transaction CANCELLED
2020-06-15 03:40:53.731 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 5: Got an event from Z-Wave network: ZWaveTransactionCompletedEvent
2020-06-15 03:40:53.731 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 5: Retry count exceeded. Discarding message: TID 4783: [CANCELLED] priority=Controller, requiresResponse=true, callback: 85
2020-06-15 03:40:53.731 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 5: TID 4783: Transaction completed
2020-06-15 03:40:53.731 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - NODE 5: notifyTransactionResponse TID:4783 CANCELLED
2020-06-15 03:40:53.731 [DEBUG] [rg.openhab.binding.zwave.handler.ZWaveThingHandler] - NODE 5: Got an event from Z-Wave network: ZWaveTransactionCompletedEvent
2020-06-15 03:40:53.731 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - ZWaveReceiveThread queue empty
2020-06-15 03:40:53.731 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2020-06-15 03:40:53.731 [DEBUG] [ng.zwave.internal.protocol.ZWaveTransactionManager] - TID 4783: Transaction event listener: DONE: CANCELLED ->
2020-06-15 03:40:53.731 [DEBUG] [protocol.initialization.ZWaveNodeInitStageAdvancer] - NODE 5: Node Init response (0) org.openhab.binding.zwave.internal.protocol.ZWaveTransactionResponse@2eb75c3
Going back in the logs, I see this around the time of the network heal:
2020-06-15 02:00:53.683 [DEBUG] [enhab.binding.zwave.handler.ZWaveControllerHandler] - Starting network mesh heal for controller zwave:serial_zstick:f18426fd.
2020-06-15 02:00:53.683 [DEBUG] [enhab.binding.zwave.handler.ZWaveControllerHandler] - Starting network mesh heal for controller zwave:serial_zstick:f18426fd.
2020-06-15 02:00:53.683 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 1: Can not start heal as initialisation is not complete (UPDATE_NEIGHBORS).
2020-06-15 02:00:53.683 [DEBUG] [enhab.binding.zwave.handler.ZWaveControllerHandler] - Starting network mesh heal for controller zwave:serial_zstick:f18426fd.
2020-06-15 02:00:53.684 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 5: Can not start heal as initialisation is not complete (UPDATE_NEIGHBORS).
2020-06-15 02:00:53.684 [DEBUG] [enhab.binding.zwave.handler.ZWaveControllerHandler] - Starting network mesh heal for controller zwave:serial_zstick:f18426fd.
2020-06-15 02:00:53.684 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 6: Can not start heal as initialisation is not complete (UPDATE_NEIGHBORS).
2020-06-15 02:00:53.684 [DEBUG] [enhab.binding.zwave.handler.ZWaveControllerHandler] - Starting network mesh heal for controller zwave:serial_zstick:f18426fd.
2020-06-15 02:00:53.684 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 7: Can not start heal as initialisation is not complete (DYNAMIC_VALUES).
2020-06-15 02:00:53.684 [DEBUG] [enhab.binding.zwave.handler.ZWaveControllerHandler] - Starting network mesh heal for controller zwave:serial_zstick:f18426fd.
2020-06-15 02:00:53.684 [DEBUG] [.openhab.binding.zwave.internal.protocol.ZWaveNode] - NODE 8: Can not start heal as initialisation is not complete (UPDATE_NEIGHBORS).
2020-06-15 02:00:53.684 [DEBUG] [enhab.binding.zwave.handler.ZWaveControllerHandler] - Starting network mesh heal for controller zwave:serial_zstick:f18426fd.
(It keeps going after that…)
I have a lot of log data. My system is set to heal at 2am. I’ve posted the attempted heal plus the next five minutes on pastebin, but have a lot more available.
Does anybody have any thoughts on what might be happening, or any ideas what would cause this? I see the neighbor update on node1 fails, which makes me wonder if maybe it’s a controller problem?
Thank you!