[Help wanted] Implement command line Matter controller #35
Replies: 3 comments 2 replies
-
I'm trying to learn about Matter but I'm confused about what exactly is a controller? Is it a type of node? Can there be zero or more than one controllers on the same fabric? Can controllers join multiple fabrics? |
Beta Was this translation helpful? Give feedback.
-
Hi Flavien, My intention was that the controller, can listen to Matter devices readings and operate other Matter devices. I started node-matter back in May before Matter specs were released (and I didn't have access to the draft specs), so I reversed engineered Chip codebase and my understanding was not correct on all the concepts. By "controller", my assumption was that the mobile that controls all the matter device and provision would be the center of everything. This is why I created this class and structured it that way. So yes, the "controller" should be refactored to be a node. It could be the root node (provisioning all the other devices) or a normal node that can be provisioned from a phone. At the end it doesn't matter, as long as it is one the some fabric as the other devices. With the current codebase, the way to do that would be to start a Device and a Controller in the same process and have the Device give its Fabric object to the Controller after it has been provisioned. Provisioning a node-matter Device works with iOs 16.1 (branch "support-ios") so you "should" able to bring a node-matter Controller on the same fabric as other devices provisioned with your iPhone. Let me know if you want to experiment with this! Thanks!
|
Beta Was this translation helpful? Give feedback.
-
Not sure if Thread commissioning and WPAN management via CLI commands are in scope as well or not but maybe it will still be worth to also to look at command syntax from OT Commissioner CLI (OpenThread Commissioner) as well as the Spinel CLI from OpenThread Python CLI as a reference for joining new Thread devices and managing them in Thread WPAN network or other Matter devices on native IPv6 networks? https://github.com/openthread/ot-commissioner/blob/main/src/app/cli/README.md and https://github.com/openthread/pyspinel/blob/main/README.md Perhaps also reference "wpanctl" command line interface of wpantund (OpenThread's user-space WPAN network interface driver/daemon): https://github.com/openthread/wpantund/blob/master/doc/wpanctl.1 |
Beta Was this translation helpful? Give feedback.
-
The library has initial support for a command line Matter controller. The only command supported is the commissioning:
matter-controller -ip [IP address of device to commission]
The goal is to have a full fledged command line controller that can perform all Matter operations.
Tasks:
Beta Was this translation helpful? Give feedback.
All reactions