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
[python/mdns] Add "resolve" command for operational discovery (#5025)
* [mdns] Add Resolver interface
Expose the mDNS resolver functionality implemented for
Avahi/Linux using a new Resolver interface.
* [mdns] Fix build with chip_mdns_advertiser="platform"
* [mdns/python] Add command to resolve address of a CHIP device
Add DeviceAddressUpdater class which updates device
addresses in the device controller based on responses from
mDNS resolver. A result of an update/resolution request
can be passed to an optional DeviceAddressUpdateDelegate.
Add "resolve <fabricid> <nodeid>" command to the Python
CHIP controller. Usage:
1. Build CHIP with chip_mdns_advertiser="platform" argument.
2. Start Python CHIP controller.
3. Pair a CHIP device using "connect -ble" command.
4. Resolve the node ID using "resolve <fabricid> <nodeid>".
Note that Thread devices currently don't support the DNS-SD
service registration, but one can still test the new command
by registering the necessary services manually, e.g.
avahi-publish-address test-host.local. fd11:22::1 &
avahi-publish-publish-service -H test-host.local \
<fabricid-hex>-<nodeid-hex> _chip._tcp 11097
* [mdns] Fix improper global object initialization order.
On Linux, DiscoveryImplPlatform constructor refers to
MdnsAvahi global object which may not yet be initialized.
Some refactoring in the code is required to come up with
a better solution, but for now make sure that
DiscoveryImplPlatform is not initialized prior to MdnsAvahi.
* [mdns] Apply code review comments
Also, fix updating the device address in the device
controller as previously the connection state wasn't
updated.
0 commit comments