Matter DNS-SD advertisement without BLE

Hello,

I am testing the Matter sample for a Door Lock over Wi-Fi. I could test it successfully applying a commissioning through BLE and sending commands for locking/unlocking operations through the CHIP tool and the Wi-Fi network. I used these commands:

 

# For Commissioning through BLE
$ ./chip-tool pairing ble-wifi <node_id> <ssid> <password> <pin_code> <discriminator>

# To unlock the door with an automatic lock after timeout, using a timed invoke Matter interaction
./chip-tool doorlock unlock-with-timeout <timeout> <node_id> <endpoint_id> --timedInteractionTimeoutMs <timeout_invoke>


But, in my project development, I need to follow these steps:

  1. Connect the device to the Wi-Fi network.
  2. Commission the device through DNS-SD using one of the following commands from the CHIP tool:

$ ./chip-tool pairing onnetwork <node_id> <pin_code>

$ ./chip-tool pairing code <node_id> <qrcode_payload-or-manual_code>

$ ./chip-tool pairing onnetwork-long <node_id> <pin_code> <discriminator>
 

All CHIP tool commands are here.

How can I modify the Door Lock example to disable the BLE and configure the DNS-SD advertisement, so that I can commission the device that was previously connected to the Wi-Fi network? 

Thank you for all the help you could provide for this issue. 

Best Regards,

Holman

  • Hello Andreas,

    Thanks for the information. In this context, does the Matter Stack for nRF Connect support enabling DNS-SD advertising over Wi-Fi, assuming that the Nordic MCU is previously connected to the Wi-Fi network?

    Kind Regards,

    Holman.

  • Hello,

    A colleague of mine actually did something similar. He told me:

    Recently I made a similar example for a Matter Bridge that connected to Wi-Fi by Wi-Fi provisioning service, and connected to their own cloud. After connecting to Wi-Fi, the device is on the network and can be commissioned by DNS-SD advertisement without BLE.

    Below is my example:

    https://github.com/lats1980/fw-nrfconnect-nrf/commit/3a93cfa594257722c6a28dca76a57408cccb88f7

    The example works with Apple Home, but I did not test with chip-tool.

    Ask them to refer to the changes in 

    samples\matter\common\src\board.cpp

    samples\matter\common\src\board.h

    Especially, the API below opens a commissioning window with DNSSD:

    chip::Server::GetInstance().GetCommissioningWindowManager().OpenBasicCommissioningWindow(chip::System::Clock::Seconds16(CHIP_DEVICE_CONFIG_DISCOVERY_TIMEOUT_SECS), chip::CommissioningWindowAdvertisement:kDnssdOnly).

    Have a look, and see if this is something you can use as a starting point.

    Best regards,

    Edvin

Related