You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm experimenting with building a Matter controller/commissioning device using ESP-Matter.
When calling esp_matter::controller::pairing_command::pairing_code() with a pairing code
for a device that is not actively advertising (so mDNS discovery times out), the pairing
process is not stopped or cleaned up even though OnDeviceDiscoveredTimeoutCallback is
triggered internally.
As a result, the commissioner still considers a pairing process "in progress", and any
subsequent call to pairing_code() returns ESP_ERR_INVALID_STATE ("There is already a
pairing process").
Is there a recommended way to handle discovery-timeout cleanup?
Should OnPairingComplete() be triggered with an error in this case, or should the app
explicitly call something like StopPairing(node_id)?
If StopPairing() is the intended approach, what is the recommended way for the
application to detect that discovery failed? OnDeviceDiscoveredTimeoutCallback is not exposed to the application, and OnPairingComplete() is not called in this scenario, so the app has no notification that
commissioning has failed.
Any guidance or an example of the intended flow would be greatly appreciated.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
I'm experimenting with building a Matter controller/commissioning device using ESP-Matter.
When calling
esp_matter::controller::pairing_command::pairing_code()with a pairing codefor a device that is not actively advertising (so mDNS discovery times out), the pairing
process is not stopped or cleaned up even though
OnDeviceDiscoveredTimeoutCallbackistriggered internally.
As a result, the commissioner still considers a pairing process "in progress", and any
subsequent call to
pairing_code()returnsESP_ERR_INVALID_STATE("There is already apairing process").
Is there a recommended way to handle discovery-timeout cleanup?
Should
OnPairingComplete()be triggered with an error in this case, or should the appexplicitly call something like
StopPairing(node_id)?If
StopPairing()is the intended approach, what is the recommended way for theapplication to detect that discovery failed?
OnDeviceDiscoveredTimeoutCallbackis not exposed to the application, andOnPairingComplete()is not called in this scenario, so the app has no notification thatcommissioning has failed.
Any guidance or an example of the intended flow would be greatly appreciated.
Beta Was this translation helpful? Give feedback.
All reactions