components/esp_matter: add CustomNetworkConfig support

Skip the Network Commissioning cluster on the root node when
CONFIG_CUSTOM_NETWORK_CONFIG is enabled, per Matter spec condition
(!CustomNetworkConfig). This allows devices with out-of-band network
configuration (rich UI, manufacturer-specific means) to omit the
cluster as the spec permits.

- Add CONFIG_CUSTOM_NETWORK_CONFIG Kconfig option
- Conditionally skip network_commissioning in root_node config/add
- Exclude integration.cpp from build when custom config enabled
- Add weak stubs for Plugin callbacks as fallback
- Also guarded secondary network device type and all the
  attributes and commands that are part of network commissioning
  cluster
This commit is contained in:
Shubham Patil
2026-03-04 13:09:45 +05:30
parent 9bee32b05c
commit fc9ee091d5
11 changed files with 53 additions and 2 deletions
+21
View File
@@ -423,6 +423,27 @@ For example, to update ``DefaultOTAProviders`` attribute in ``OTASoftwareUpdateR
request->AddDefaultOtaProvider(provider);
}
A1.18 Devices with custom means of network configuration (CustomNetworkConfig)
------------------------------------------------------------------------------
Some devices configure their network through custom means — such as a rich user interface,
manufacturer-specific provisioning, custom commissioning flows, or a future IP-compliant
network technology not yet directly supported by the Network Commissioning cluster — rather
than through the standard Matter Network Commissioning cluster.
The Matter specification defines a ``CustomNetworkConfig`` condition for such devices.
When this condition is set, the Network Commissioning cluster is not required on the
Root Node endpoint.
To enable this in the ESP-Matter SDK:
1. Enable the ``CONFIG_CUSTOM_NETWORK_CONFIG`` option in menuconfig
Menu path: (Top) -> Component config -> ESP Matter -> Use custom network commissioning (skip Network Commissioning cluster)
2. When enabled, the Network Commissioning cluster will not be added to the
root node endpoint (endpoint 0). The device is expected to handle network
configuration through its own out-of-band mechanism.
.. _bleprph: https://github.com/espressif/esp-idf/tree/b5ac4fbdf9e9fb320bb0a98ee4fbaa18f8566f37/examples/bluetooth/nimble/bleprph
.. _blecent: https://github.com/espressif/esp-idf/tree/b5ac4fbdf9e9fb320bb0a98ee4fbaa18f8566f37/examples/bluetooth/nimble/blecent
.. _bleprph_advertise(): https://github.com/espressif/esp-idf/blob/b5ac4fbdf9e9fb320bb0a98ee4fbaa18f8566f37/examples/bluetooth/nimble/bleprph/main/main.c#L146