Skip to content
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

CHIPDeviceController needs proper support for setting network credentials during a commissioning session #21314

Closed
chrisdecenzo opened this issue Jul 28, 2022 · 3 comments · Fixed by #21876
Labels
commissioning Involves placing devices on the network, initial setup V1.0

Comments

@chrisdecenzo
Copy link
Contributor

Problem

  • In many cases, the selection of network credentials needs to be done asynchronously during the PASE session. For example, after the commissioner determines the network technology of the target (WiFi or Thread) and after a network scan has been done. Often this selection will need user or cloud input, so it needs to be asynchronous.
  • A workaround was quickly added in PR add ScanNetworks step to CHIPDeviceController #20766 which includes a pause/resume feature of the AutoCommissioner but a cleaner fix would be to introduce steps in CHIPDeviceController for requesting network credentials. This would allow commissioning apps to avoid needing to create their own AutoCommissioner and pass it in to CHIPDeviceController.

Proposed Solution

  • Add optional steps to CHIPDeviceController for obtaining network credentials from its caller.
@mrjerryjohns
Copy link
Contributor

Can we close this issue @chrisdecenzo ?

@bzbarsky-apple
Copy link
Contributor

bzbarsky-apple commented Aug 5, 2022

This issue being fixed was a precondition of the approval for #20766. The setup we put in place there is really not OK and we shouldn't ship it....

@bzbarsky-apple bzbarsky-apple added V1.0 commissioning Involves placing devices on the network, initial setup labels Aug 5, 2022
@bzbarsky-apple
Copy link
Contributor

And to be clear, the issue is not "creating your own AutoCommissioner"; the issue is the extra pause API and whatnot, which introduces yet another way of doing async operations via the delegate when we have a perfectly good way already: async call into the delegate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
commissioning Involves placing devices on the network, initial setup V1.0
Projects
None yet
3 participants