Skip to content

#94: reject remove-failed requests for nodes outside the network - #96

Merged
Peter Balogh (silabs-peterb) merged 1 commit into
SiliconLabsSoftware:mainfrom
silabs-peterb:GH-94-Trying-to-remove-non-existent-failed-LR-node-sends-unwanted-Classic-and-Mesh-NOP
Sep 16, 2026
Merged

Peter Balogh (silabs-peterb) merged 1 commit into
SiliconLabsSoftware:mainfrom
silabs-peterb:GH-94-Trying-to-remove-non-existent-failed-LR-node-sends-unwanted-Classic-and-Mesh-NOP

Conversation

@silabs-peterb

@silabs-peterb Peter Balogh (silabs-peterb) commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

Issue

Closes: #94

Change

Summary

Prevent Remove Failed operations from being started for nodes that are no longer part of the Z-Wave network.

This avoids:

  • Sending an unintended Classic/Mesh NOP after retrying Remove Failed for an already-removed LR node.
  • Repeatedly reporting successful removal for an already-removed classic node.
  • Publishing conflicting failure reports for an already-removed LR node.

Changes

  • Check the cached network node list before starting a Remove Failed operation.
  • Return SL_STATUS_NOT_FOUND when the requested NodeID is not present.
  • Report the failure as operation_failed through the MQTT API.
  • Document the new return value.

Checklist

@silabs-peterb Peter Balogh (silabs-peterb) added On roadmap On the official roadmap and will be implemented by Silicon Labs Bug Issue is a bug report Silicon Labs development PR contents developed by Silicon Labs CTT Requested (Full Set) CTT Testing with full scope is requested from CTT Automation labels Sep 15, 2026
@cursor

cursor Bot commented Sep 15, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Adds an early membership check and clearer MQTT failure reporting; it does not change the remove-failed path for nodes that remain on the network.

Overview
Remove Failed requests for a NodeID that is not in the cached network list are now rejected before any Z-Wave remove-failed flow starts.

zwave_network_management_remove_failed checks nms.cached_node_list and returns SL_STATUS_NOT_FOUND when the node is absent. The MQTT handler maps that status to reason operation_failed (REMOVE_FAILED_STATUS_OPERATION_FAILED) instead of not_ready, while other start failures still use not_ready. The public API docs now describe the SL_STATUS_NOT_FOUND case.

Reviewed by Cursor Bugbot for commit 921aa5f. Configure here.

@siliconlabsdevops-svc-devops siliconlabsdevops-svc-devops Bot removed the CTT Requested (Full Set) CTT Testing with full scope is requested from CTT Automation label Sep 15, 2026
@siliconlabsdevops-svc-devops

Copy link
Copy Markdown

CTT Jenkins job: $zpc_ctt_jenkins_url/job/zw-ctt-automation-multibranch/job/main/3715/

@silabs-peterb Peter Balogh (silabs-peterb) added the CTT Requested (Full Set) CTT Testing with full scope is requested from CTT Automation label Sep 15, 2026
@siliconlabsdevops-svc-devops siliconlabsdevops-svc-devops Bot removed the CTT Requested (Full Set) CTT Testing with full scope is requested from CTT Automation label Sep 15, 2026
@siliconlabsdevops-svc-devops

Copy link
Copy Markdown

CTT Jenkins job: $zpc_ctt_jenkins_url/job/zw-ctt-automation-multibranch/job/main/3717/

@silabs-peterb

Copy link
Copy Markdown
Collaborator Author

CTT Jenkins job: $zpc_ctt_jenkins_url/job/zw-ctt-automation-multibranch/job/main/3715/

No regression was introduced

…de the network

Signed-off-by: Peter Balogh <peter.balogh@silabs.com>
@silabs-peterb
Peter Balogh (silabs-peterb) force-pushed the GH-94-Trying-to-remove-non-existent-failed-LR-node-sends-unwanted-Classic-and-Mesh-NOP branch from 921aa5f to f9b2a8d Compare September 16, 2026 08:14
@silabs-peterb
Peter Balogh (silabs-peterb) merged commit b964a2c into SiliconLabsSoftware:main Sep 16, 2026
9 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 16, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Bug Issue is a bug report On roadmap On the official roadmap and will be implemented by Silicon Labs Silicon Labs development PR contents developed by Silicon Labs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Trying to remove non-existent "failed" LR node sends unwanted Classic and Mesh NOP

3 participants