return;
logger.debug("NODE {}: Heal WakeUp EVENT {}", node.nodeId, node.state);
nextHealStage(node);
} else if (event instanceof ZWaveNodeStatusEvent) {
ZWaveNodeStatusEvent statusEvent = (ZWaveNodeStatusEvent) event;
logger.debug("NODE {}: Node Status event - Node is {}", statusEvent.getNodeId(), statusEvent.getState());
switch (statusEvent.getState()) {
case Dead:
case Failed:
ZWaveNode node = zController.getNode(statusEvent.getNodeId());
if (node == null) {
logger.error("NODE {}: Status event received, but node not found.", statusEvent.getNodeId());
return;
}
// If this is a DEAD notification, then ask the controller if it's really FAILED
if(statusEvent.getState() == ZWaveNodeStatusEvent.State.Dead) {
zController.requestIsFailedNode(node.getNodeId());
}
// The node is dead, but we may have already started a Heal
// If so, don't start it again!
if (!isNodeHealing(node.getNodeId())) {
logger.debug("NODE {}: {} node - requesting network heal.", node.getNodeId(), statusEvent.getState());
healNode(node.getNodeId());
// Reset the node stage to PING.
// This will also set the state back to DONE in
// resetResendCount if the node
// has already completed initialisation.
// node.setNodeStage(NodeStage.PING);
node.resetResendCount();
} else {
logger.debug("NODE {}: {} node - already healing.", node.getNodeId(), statusEvent.getState());
}
break;
case Alive:
break;
}