-
Notifications
You must be signed in to change notification settings - Fork 78
New controller example + ClientNode features #2217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request introduces a new controller example and several new features for ClientNode
, including decommissioning. It also includes a significant amount of refactoring across the codebase, especially in the mock networking and behavior components, which improves the overall structure and robustness.
I've found a few issues that need attention:
- A critical issue in the new
OnOffController.ts
example where command-line argument parsing is incorrect. - A high-severity issue in
Promises.ts
that could causewithTimeout
to hang. - A high-severity typing regression in
ClusterInterface.ts
that removes the distinction between optional and mandatory commands.
Once these are addressed, this will be a great addition to the project.
c4a946d
to
6c1b350
Compare
* Adds an example that commissions/decommissions/toggles a device that supports On/Off * Implement input fields for client invocation via Interactable * Implement decommissioning for ClientNode
Plus one more cycle in @matter/node that the cycle logic didn't seem to detect.
All comments during review and infos, so can be ignored and discussed aside or put to todo list for the new API ... were basically just thoughts |
And updates to control-onoff
- Remove "decommission" - "delete" decommission properly removes node from fabric - "erase" force removal without properly decommissioning
New controller example + ClientNode features
Adds an example that commissions/decommissions/toggles a device that supports On/Off
Implement input fields for client invocation via Interactable
Implement decommissioning for ClientNode
Needs to merge after #2200