Shared configurations in Matter samples
Configuration options
- CONFIG_NCS_SAMPLE_MATTER_APP_TASK_QUEUE_SIZE
(int) Maximum number of tasks delegated to be run in the application queue
Define the maximum size of the queue dedicated for application tasks that have to be run in the application thread context.
- CONFIG_NCS_SAMPLE_MATTER_APP_TASK_MAX_SIZE
(int) Maximum size of application task in bytes
Defines the maximum size of a functor that can be put in the application thread’s task queue.
- CONFIG_NCS_SAMPLE_MATTER_CUSTOM_BLUETOOTH_ADVERTISING
(bool) Define the custom behavior of the Bluetooth advertisement in the application code
Disable the default Bluetooth advertising start which is defined in the board.cpp file and allows to use the custom one.
- CONFIG_NCS_SAMPLE_MATTER_OPERATIONAL_KEYS_MIGRATION_TO_ITS
(bool) Operational keys migration feature
Enables migration of the operational keys stored in the persistent storage to the PSA ITS secure storage. Enable this feature while updating the firmware of in-field devices that run Mbed TLS cryptography backend to the firmware based on PSA Crypto API.
- CONFIG_NCS_SAMPLE_MATTER_FACTORY_RESET_ON_KEY_MIGRATION_FAILURE
(bool) Perform factory reset if the operational key migration failed
Allow device to perform factory reset if the operational key for Fabric has not been migrated properly to PSA ITS storage.
- CONFIG_NCS_SAMPLE_MATTER_LEDS
(bool) LEDs usage
Enables LEDs module to be used in the application.
- CONFIG_NCS_SAMPLE_MATTER_SETTINGS_SHELL
(bool) Settings shell for Matter purposes
Allows using matter_settings shell commands. You can use the following commands: peak - to read the maximum settings usage. reset - to reset peak value. get_size - to read the size of specific value. current - to read current settings usage. free - to read free settings space.
- CONFIG_NCS_SAMPLE_MATTER_TEST_EVENT_TRIGGERS
(bool) Test event triggers support
Enables support for test event triggers for the specific use-cases.
- CONFIG_NCS_SAMPLE_MATTER_TEST_EVENT_TRIGGERS_MAX
(int) Maximum amount of event triggers
Defines the maximum amount of event triggers.
- CONFIG_NCS_SAMPLE_MATTER_TEST_EVENT_TRIGGERS_REGISTER_DEFAULTS
(bool) Register default triggers for Matter sample
Automatically register default triggers such as factory reset, device reboot, OTA start query.
- CONFIG_NCS_SAMPLE_MATTER_TEST_EVENT_TRIGGERS_MAX_TRIGGERS_DELEGATES
(int) Maximum amount of the trigger delegates
Defines the maximum number for the TestEventTriggerDelegate implementations to be registered in the nRF test event triggers class.
- CONFIG_NCS_SAMPLE_MATTER_TEST_SHELL
(bool) Test - specific shell commands support for Matter samples
Enables support for test - specific shell commands in Matter samples.
- CONFIG_NCS_SAMPLE_MATTER_PERSISTENT_STORAGE
(bool) Persistent storage support for Matter samples
Matter persistent storage support with the configurable backend.
- CONFIG_NCS_SAMPLE_MATTER_ZAP_FILE_PATH
(string) Path in sample, under which ZAP file is located
Absolute path to location under which ZAP file is located. It shall contain the file name and .zap extension.
- CONFIG_NCS_SAMPLE_MATTER_CERTIFICATION
(bool) Patches for Matter platform certification
It enables including software patches required for the Matter platform certification purposes. Currently it works only with the Matter template sample.
- CONFIG_NCS_SAMPLE_MATTER_USE_DEFAULT_BUTTON_HANDLER
(bool) Use default button handler alongside the application one
When enabled, the button handler responsible for factory reset and DFU is used alongside application handler. In order to override this handler, disable this config.
- CONFIG_NCS_SAMPLE_MATTER_SETTINGS_STORAGE_BACKEND
(bool) Settings based storage implementation for Matter samples
- CONFIG_NCS_SAMPLE_MATTER_SECURE_STORAGE_BACKEND
(bool) Secure storage implementation for Matter samples [DEPRECATED]
Enables the secure persistent storage wrapper API that imitates Zephyr Settings’ key-value data format. If building with CMSE enabled (/ns), the TF-M and Secure Domain PSA Protected Storage implementation is leveraged by default. If building with CMSE disabled (/cpuapp), the Trusted Storage library must be used.
- CONFIG_NCS_SAMPLE_MATTER_STORAGE_MAX_KEY_LEN
(int) Maximum length (bytes) of the key under which the asset can be stored
- CONFIG_NCS_SAMPLE_MATTER_SECURE_STORAGE_MAX_ENTRY_NUMBER
(int) Maximum number of entries that can be stored securely
- CONFIG_NCS_SAMPLE_MATTER_SECURE_STORAGE_PSA_KEY_VALUE_OFFSET
(hex) The PSA key offset dedicated for Matter application
- CONFIG_TRUSTED_STORAGE_BACKEND_AEAD_MAX_DATA_SIZE
(unknown)
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG
(bool) Watchdog for Matter applications
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_PAUSE_IN_SLEEP
(bool) Pause watchdog while CPU is in sleep state
If enabled, the watchdog will be paused while the CPU is in idle (sleep) state.
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_PAUSE_ON_DEBUG
(bool) Pause watchdog while the CPU is halted by the debugger
If disabled, the watchdog will not be paused while the CPU is halted by the debugger and the device reset will be triggered, if the feeding signal is not received within the specified time.
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_DEFAULT
(bool) Use watchdog object dedicated for Main and Matter threads
The default watchdog objects are created in the matter_init.cpp file. The watchdog objects are dedicated for Main and Matter threads and are initialized using the NCS_SAMPLE_MATTER_WATCHDOG_DEFAULT_FEED_TIME value.
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_TIMEOUT
(int) Default maximum window time in milliseconds for receiving the feeding signal
The default maximum window time defines a time within which the feeding signal must be received from all created Watchdog sources to reset the watchdog object’s timer. If the signals come after elapsing this time, the watchdog timer will not be reset and the reboot occur.
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_DEFAULT_FEED_TIME
(int) Default interval of feeding time in milliseconds
The default interval in milliseconds for calling the feeding callback if it exists.
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_EVENT_TRIGGERS
(bool) Default event triggers for watchdog purposes
Enables test event triggers to block Main and Matter stacks for the specific amount of time and test Watchdog in this way.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS
(bool) Diagnostics logs support
Provides support for diagnostics logs. Diagnostics logs allow the Matter controller to read end-user, network and crash logs from the Matter device. Diagnostic logs are usable only if the DiagnosticCluster is available and active on the device’s root endpoint. Otherwise, the compilation error occurs.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_MAX_SIMULTANEOUS_SESSIONS
(int) Define maximum simultaneous sessions
The maximum simultaneous sessions, which is the capability for sending diagnostic logs to Matter controller using multiple sessions at the same time for different diagnostic intents. When a session finishes, it releases its slot for a new one.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_CRASH_LOGS
(bool) Crash logs support
Enables support for storing crash logs when the crash occurs.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_REMOVE_CRASH_AFTER_READ
(bool) Remove the last crash data after read
Removes the last crash data after reading it by Matter controller. Disable this option to read the last crash multiple times.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_END_USER_LOGS
(bool) End user logs support
Enables support for capturing end user diagnostic logs.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_NETWORK_LOGS
(bool) Network logs support
Enables support for capturing network diagnostic logs.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_TEST
(bool) Testing module for Diagnostic logs cluster
Enables testing module for diagnostic logs cluster.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_REDIRECT
(bool) Redirection of logs to the diagnostic logs module
Enable redirection of the logs formed using logger LOG macro to the Matter diagnostic logs module. This option enables only redirection logs from the “chip” module, as a diagnostic network logs and from the “app” module, as a diagnostic end user logs.
Diagnostics logs
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS
(bool) Diagnostics logs support
Provides support for diagnostics logs. Diagnostics logs allow the Matter controller to read end-user, network and crash logs from the Matter device. Diagnostic logs are usable only if the DiagnosticCluster is available and active on the device’s root endpoint. Otherwise, the compilation error occurs.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_MAX_SIMULTANEOUS_SESSIONS
(int) Define maximum simultaneous sessions
The maximum simultaneous sessions, which is the capability for sending diagnostic logs to Matter controller using multiple sessions at the same time for different diagnostic intents. When a session finishes, it releases its slot for a new one.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_CRASH_LOGS
(bool) Crash logs support
Enables support for storing crash logs when the crash occurs.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_REMOVE_CRASH_AFTER_READ
(bool) Remove the last crash data after read
Removes the last crash data after reading it by Matter controller. Disable this option to read the last crash multiple times.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_END_USER_LOGS
(bool) End user logs support
Enables support for capturing end user diagnostic logs.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_NETWORK_LOGS
(bool) Network logs support
Enables support for capturing network diagnostic logs.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_TEST
(bool) Testing module for Diagnostic logs cluster
Enables testing module for diagnostic logs cluster.
- CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_REDIRECT
(bool) Redirection of logs to the diagnostic logs module
Enable redirection of the logs formed using logger LOG macro to the Matter diagnostic logs module. This option enables only redirection logs from the “chip” module, as a diagnostic network logs and from the “app” module, as a diagnostic end user logs.
Persistent storage
- CONFIG_NCS_SAMPLE_MATTER_SETTINGS_STORAGE_BACKEND
(bool) Settings based storage implementation for Matter samples
- CONFIG_NCS_SAMPLE_MATTER_SECURE_STORAGE_BACKEND
(bool) Secure storage implementation for Matter samples [DEPRECATED]
Enables the secure persistent storage wrapper API that imitates Zephyr Settings’ key-value data format. If building with CMSE enabled (/ns), the TF-M and Secure Domain PSA Protected Storage implementation is leveraged by default. If building with CMSE disabled (/cpuapp), the Trusted Storage library must be used.
- CONFIG_NCS_SAMPLE_MATTER_STORAGE_MAX_KEY_LEN
(int) Maximum length (bytes) of the key under which the asset can be stored
- CONFIG_NCS_SAMPLE_MATTER_SECURE_STORAGE_MAX_ENTRY_NUMBER
(int) Maximum number of entries that can be stored securely
- CONFIG_NCS_SAMPLE_MATTER_SECURE_STORAGE_PSA_KEY_VALUE_OFFSET
(hex) The PSA key offset dedicated for Matter application
- CONFIG_TRUSTED_STORAGE_BACKEND_AEAD_MAX_DATA_SIZE
(unknown)
Matter watchdog
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG
(bool) Watchdog for Matter applications
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_PAUSE_IN_SLEEP
(bool) Pause watchdog while CPU is in sleep state
If enabled, the watchdog will be paused while the CPU is in idle (sleep) state.
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_PAUSE_ON_DEBUG
(bool) Pause watchdog while the CPU is halted by the debugger
If disabled, the watchdog will not be paused while the CPU is halted by the debugger and the device reset will be triggered, if the feeding signal is not received within the specified time.
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_DEFAULT
(bool) Use watchdog object dedicated for Main and Matter threads
The default watchdog objects are created in the matter_init.cpp file. The watchdog objects are dedicated for Main and Matter threads and are initialized using the NCS_SAMPLE_MATTER_WATCHDOG_DEFAULT_FEED_TIME value.
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_TIMEOUT
(int) Default maximum window time in milliseconds for receiving the feeding signal
The default maximum window time defines a time within which the feeding signal must be received from all created Watchdog sources to reset the watchdog object’s timer. If the signals come after elapsing this time, the watchdog timer will not be reset and the reboot occur.
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_DEFAULT_FEED_TIME
(int) Default interval of feeding time in milliseconds
The default interval in milliseconds for calling the feeding callback if it exists.
- CONFIG_NCS_SAMPLE_MATTER_WATCHDOG_EVENT_TRIGGERS
(bool) Default event triggers for watchdog purposes
Enables test event triggers to block Main and Matter stacks for the specific amount of time and test Watchdog in this way.
Snippets
Matter samples provide predefined Snippets for typical use cases.
The snippets are in the nrf/snippets directory of the nRF Connect SDK.
For more information about using snippets, see Using Snippets in the Zephyr documentation.
Specify the corresponding snippet names in the SNIPPET CMake option for the application configuration.
To add the matter-diagnostic-logs snippet to the Matter: Door lock sample for the nrf52840dk/nrf52840 board target:
Select the matter-diagnostic-logs snippet from the list in the Snippets menu.
west build -b nrf52840dk/nrf52840 -- -Dlock_SNIPPET=matter-diagnostic-logs
The following snippets are available:
matter-diagnostic-logs- Enables the set of configurations needed for full Matter diagnostic logs support. See Matter diagnostic logs snippet (matter-diagnostic-logs) in the Matter protocol section for more information.
Shared configurations in Matter stack
Base Configuration
Zephyr configuration options (inherited by nRF Connect)
- CONFIG_CHIP_NXP_PLATFORM
(bool)
States that the configuration uses Matter NXP platform, what can be used to conditionally deviate from Zephyr generic configuration for NXP platform related purposes.
- CONFIG_CHIP
(bool) Matter protocol stack
Enables Matter libraries required for the Matter protocol stack to work.
- CONFIG_CHIP_USE_ZEPHYR_NETWORKING
(bool) Use Zephyr networking layer
- CONFIG_CHIP_APP_LOG_LEVEL
(int) Logging level in application
Sets the logging level in the Matter application. Use this configuration option only within the application. To set the logging level for the Matter stack, use the MATTER_LOG_LEVEL configuration option.
- CONFIG_CHIP_DEVICE_VENDOR_ID
(int) Device Vendor ID
Provides the 16-bit numeric identifier of the device manufacturer, assigned by Connectivity Standards Alliance. The identifier is exposed as an attribute of the Basic Informationcluster, and included in the header of the generated Matter Over-the-air (OTA) update image.
- CONFIG_CHIP_DEVICE_VENDOR_NAME
(string) Device vendor name
Provides a human-readable name of the device manufacturer. The name is exposed as an attribute of the Basic Information cluster.
- CONFIG_CHIP_DEVICE_PRODUCT_ID
(int) Product ID
Provides the 16-bit numeric identifier of the product, assigned by the device manufacturer. The identifier is exposed as an attribute of the Basic Information cluster, and included in the header of the generated Matter over-the-air (OTA) update image.
- CONFIG_CHIP_DEVICE_PRODUCT_NAME
(string) Product name
Provides a human-readable product name, such as the model number, assigned by the device manufacturer. The name is exposed as an attribute of the Basic Information cluster.
- CONFIG_CHIP_DEVICE_HARDWARE_VERSION
(int) Hardware version
Provides the 16-bit hardware version number, assigned by the device manufacturer. The number is exposed as an attribute of the Basic Information cluster.
- CONFIG_CHIP_DEVICE_HARDWARE_VERSION_STRING
(string) Hardware version string
Provides a human-readable representation of the hardware version number. This must be an ASCII string of a length between 1 and 64 characters. The hardware version string is exposed as an attribute of the Basic Information cluster.
- CONFIG_CHIP_DEVICE_SOFTWARE_VERSION
(int) Software version
Provides the 32-bit software version number. The number is exposed as an attribute of the Basic Information cluster, and included in the header of the generated Matter Over-the-air (OTA) update image. The exact numbering scheme is up to the device manufacturer. However, when using the Matter OTA mechanism, only updates to higher versions than the current one are accepted.
- CONFIG_CHIP_DEVICE_SOFTWARE_VERSION_STRING
(string) Software version string
Provides a human-readable representation of the software version number. This must be an ASCII string of a length between 1 and 64 characters. The software version string is exposed as an attribute of the Basic Information cluster, and included in the header of the generated Matter over-the-air (OTA) update image.
- CONFIG_CHIP_DEVICE_MANUFACTURING_DATE
(string) Manufacturing date (ISO 8601 format)
Provides the device manufacturing date in the ISO 8601 format: YYYY-MM-DD.
- CONFIG_CHIP_DEVICE_SERIAL_NUMBER
(string) Device serial number
Provides a human-readable representation of the device serial number that uniquely identifies the device. This must be an ASCII string of no more than 32 characters.
- CONFIG_CHIP_DEVICE_ROTATING_DEVICE_UID
(string) Rotating device ID unique ID (HEX format)
Provides a unique identifier of the device. This ID is used to derive the rotating device identifier, which allows commissioners to discover the device in a privacy-preserving way. The identifier must be a string of at least 16 bytes encoded in HEX.
- CONFIG_CHIP_DEVICE_TYPE
(int) Primary device type
Provides the primary device type implemented by the node. This must be one of the device type identifiers defined in the Matter Device Library specification.
- CONFIG_CHIP_DEVICE_DISCRIMINATOR
(hex) Device pairing discriminator
Provides a 12-bit identifier that is used to discover the device during the commissioning.
- CONFIG_CHIP_DEVICE_SPAKE2_PASSCODE
(int) SPAKE2+ passcode
Provides a pairing passcode. This is a 27-bit unsigned integer that serves as a proof of possession during the commissioning. The passcode must be a value between 1 and 99999998, excluding the following invalid passcodes: 00000000, 11111111, 22222222, 33333333, 44444444, 55555555, 66666666, 77777777, 88888888, 99999999, 12345678, 87654321.
- CONFIG_CHIP_DEVICE_SPAKE2_IT
(int) SPAKE2+ iteration count
Provides the SPAKE2+ iteration count, which is one of the input parameters for the PBKDF operation, used to generate the SPAKE2+ verifier.
- CONFIG_CHIP_DEVICE_SPAKE2_SALT
(string) SPAKE2+ salt (base64 format)
Provides the SPAKE2+ salt, which is one of the input parameters for the PBKDF operation, used to generate the SPAKE2+ verifier. The salt must be of a length between 16 and 32 bytes and it should be randomly generated for each SPAKE2+ passcode.
- CONFIG_CHIP_DEVICE_SPAKE2_TEST_VERIFIER
(string) SPAKE2+ verifier for testing purposes (base64 format)
Provides the SPAKE2+ verifier that was generated using the configured SPAKE2+ passcode, iteration count and salt. This configuration option can be used for development or testing purposes. The default value was generated using the following command: ./scripts/tools/spake2p/spake2p.py gen-verifier -i 1000 -s U1BBS0UyUCBLZXkgU2FsdA== -p 20202021
- CONFIG_CHIP_DEVICE_ENABLE_KEY
(string) Enable Key for triggering test actions (HEX format)
Provides the Enable Key, which is a 16-byte value encoded in HEX that must be provided in the TestEventTrigger command to trigger a requested test action. This value is used during certification tests, and should not be present on devices in production environment.
- CONFIG_CHIP_DEVICE_PRODUCT_FINISH
(string) Description of the product’s external case finish method
provides a description of the product’s external case finish method. Possible values: other; matte; satin; polished; rugged; fabric
- CONFIG_CHIP_DEVICE_PRODUCT_COLOR
(string) Description of the product’s primary color
provides a description of the product’s primary color. Possible values: black; navy; green; teal; maroon; purple; olive; gray; blue; lime; aqua; red; fuchsia; yellow; white; nickel; chrome; brass; cooper; silver; gold.
- CONFIG_CHIP_ENABLE_PAIRING_AUTOSTART
(bool) Open commissioning window on boot
Opens the commissioning window automatically at application boot time if the node is not yet commissioned.
- CONFIG_CHIP_OTA_REQUESTOR
(bool) OTA Software Update Requestor
Enables over-the-air (OTA) Requestor role that allows the node to perform Device Firmware Upgrade by querying and downloading a new firmware image from a peer OTA Provider node.
- CONFIG_CHIP_ROTATING_DEVICE_ID
(bool) Generate rotating device ID
Enables the rotating device identifier that provides a non-trackable identifier. The identifier is unique per device and rotates at pre-defined moments.
- CONFIG_CHIP_COMMISSIONABLE_DEVICE_TYPE
(bool) Include device type subtype in commissionable node discovery record
Includes the device type subtype in the commissionable node discovery record. This allows a commissioner to find the node when looking for a specific device type.
- CONFIG_CHIP_EXTENDED_DISCOVERY
(bool) Extended discovery
Enables advertising of the commissionable node service even if the node does not have the commissioning window open.
- CONFIG_CHIP_OPERATIONAL_TIME_SAVE_INTERVAL
(int) Total operational time save interval (hours unit)
Provides an interval in hours with which the node operational time is saved to the flash memory. The provided value is a trade-off between performing frequent saves to know the precise operational time (in case of device reboot) and maximizing the flash memory lifetime.
- CONFIG_CHIP_CRYPTO_PSA
(bool) Use PSA crypto API for cryptographic operations
Enables the implementation of the Matter cryptographic operations that is based on the PSA crypto API (instead of the default implementation, which is based on the legacy mbedTLS APIs).
- CONFIG_CHIP_CRYPTO_PSA_AEAD_SINGLE_PART
(bool) Use PSA AEAD single-part API
When enabled, the single-part AEAD API is used with a large buffer allocated on the stack. Otherwise, the multipart API path is used.
- CONFIG_CHIP_PERSISTENT_SUBSCRIPTIONS
(bool) Persistent subscriptions
Persists Matter subscriptions on the publisher node. This feature allows a Matter node to faster get back to the previous operation after it went offline, for example, due to a power outage. That is, the node can use the persisted subscription information to quickly re-establish the previous subscriptions instead of waiting for the subscriber node to realize that the publisher is alive again.
- CONFIG_CHIP_STATISTICS
(bool) Resource usage statistics
Enables tracking the current and the top usage of critical resources used by the Matter stack, such as packet buffers, timers or exchange contexts.
- CONFIG_CHIP_LIB_SHELL
(bool) Matter shell commands
Enables linking the application with the library that contains Matter shell commands.
- CONFIG_CHIP_PROJECT_CONFIG
(string) Project configuration file for Matter
Provides a path to the project configuration file for Matter. The path can be either absolute or relative to the application directory. If specified, Matter’s generic configuration files will include the project configuration file that can be used to override any of Matter’s default or platform-specific settings.
- CONFIG_CHIP_ENABLE_DNSSD_SRP
(bool) OpenThread Service Registration Protocol
Enables using the OpenThread SRP client for the Matter service advertising.
- CONFIG_CHIP_ENABLE_DNS_CLIENT
(bool) OpenThread DNS client
Enables using the OpenThread DNS client for the Matter service discovery.
- CONFIG_CHIP_ENABLE_ICD_SUPPORT
(bool) Matter Intermittently Connected Devices support
Enables the Intermittently Connected Device (ICD) support in Matter.
- CONFIG_CHIP_ICD_SLOW_POLL_INTERVAL
(int) Intermittently Connected Device slow polling interval (ms)
Provides the Intermittently Connected Device slow polling interval in milliseconds while the device is in the idle mode. It determines the fastest frequency at which the device will be able to receive the messages in the idle mode.
- CONFIG_CHIP_ICD_SIT_SLOW_POLL_LIMIT
(int) Intermittently Connected Device slow polling interval limit for device in SIT mode (ms)
Provides the limit for Intermittently Connected Device slow polling interval in milliseconds while the device is in the SIT mode. By spec, this value cannot exceed 15 s (spec 9.16.1.5). This value can be used for the LIT device, to limit the slow poll interval used while temporarily working in the SIT mode.
- CONFIG_CHIP_ICD_FAST_POLLING_INTERVAL
(int) Intermittently Connected Device fast polling interval (ms)
Provides the Intermittently Connected Device fast polling interval in milliseconds while the device is in the active mode. It determines the fastest frequency at which the device will be able to receive the messages in the active mode. The CHIP_ICD_FAST_POLLING_INTERVAL shall be smaller than CHIP_ICD_ACTIVE_MODE_DURATION.
- CONFIG_CHIP_ICD_IDLE_MODE_DURATION
(int) Intermittently Connected Device idle mode duration (s)
Provides the Intermittently Connected Device idle mode duration in seconds. It determines the maximum amount of time the device can stay in the idle mode, which means the device may be unreachable and not able to receive messages.
- CONFIG_CHIP_ICD_ACTIVE_MODE_DURATION
(int) Intermittently Connected Device active mode duration (ms)
Provides the Intermittently Connected Device active mode duration in milliseconds. It determines the minimum amount of time the device shall stay in the active mode.
- CONFIG_CHIP_ICD_ACTIVE_MODE_THRESHOLD
(int) Intermittently Connected Device active mode threshold (ms)
Provides the Intermittently Connected Device active mode threshold in milliseconds. It determines the minimum amount of time the device shall stay in the active mode after the network activity. For LIT devices it cannot be set to a value smaller than 5000 ms.
- CONFIG_CHIP_ICD_LIT_SUPPORT
(bool) Intermittently Connected Device Long Idle Time support
Enables the Intermittently Connected Device Long Idle Time support in Matter. It also selects the ICD Check-In and UAT features support that are mandatory for LIT device.
- CONFIG_CHIP_ICD_CHECK_IN_SUPPORT
(bool) Intermittently Connected Device Check-In protocol support
Enables the Check-In protocol support in Matter. It allows an ICD device to notify the registered ICD clients that it is available for communication.
- CONFIG_CHIP_ICD_UAT_SUPPORT
(bool) Intermittently Connected Device User Active Mode Trigger support
Enables the User Active Mode Trigger (UAT) support in Matter. It allows the User to use application specific means (e.g. button press) to trigger an ICD device to enter the active mode and become responsive.
- CONFIG_CHIP_ICD_DSLS_SUPPORT
(bool) Intermittently Connected Device Dynamic SIT LIT support
Enables the Dynamic SIT LIT support in Matter. It allows the application to dynamically switch between SIT and LIT modes, as long as the requirements for these modes are met (e.g. device has at least one active ICD client).
- CONFIG_CHIP_ICD_CLIENTS_PER_FABRIC
(int) Intermittently Connected Device number of clients per fabric
Provides the Intermittently Connected Device number of clients per fabric. It determines the maximum number of clients per fabric that can be registered to receive notification from a device if their subscription is lost.
- CONFIG_CHIP_ICD_REPORT_ON_ACTIVE_MODE
(bool) Intermittently Connected Device report on active mode
Enables an ICD to send data report to the subscribers on entering the active mode.
- CONFIG_CHIP_THREAD_SSED
(bool) Thread Synchronized Sleepy End Device support
Enables the Thread Synchronized Sleepy End Device support in Matter.
- CONFIG_CHIP_OPENTHREAD_CONFIG
(string) Custom OpenThread configuration file
Provides a path to an OpenThread configuration file. The path can be either absolute or relative to the application directory. When this option is specified, it replaces the OpenThread configuration file supplied by Zephyr.
- CONFIG_CHIP_CERTIFICATION_DECLARATION_STORAGE
(bool) Certification Declaration settings storage
Enables storing of the Certification Declaration in Zephyr settings instead of using the hardcoded value from firmware. This option also adds support for including new Certification Declaration into a firmware update image package that is sent as part of the OTA software update.
- CONFIG_CHIP_CERTIFiCATION_DECLARATION_OTA_IMAGE_ID
(int) Certification declaration OTA image ID
Provides the image ID of the Certification Declaration image for sending it as part of the OTA software update.
- CONFIG_CHIP_FACTORY_RESET_ERASE_SETTINGS
(bool) Erase NVS flash pages on factory reset
Erases non-volatile pages occupied by non-volatile storage when a factory reset is requested, instead of removing Matter-related settings only. Enabling this option provides a more robust factory reset mechanism and allows to regain the original storage performance if any firmware issue has brought it to an unexpected state. For this reason, set this option if the entire configuration is supposed to be cleared on a factory reset, including device-specific entries.
- CONFIG_CHIP_FACTORY_RESET_TIME_MEASUREMENT
(bool) Measure time of factory reset
Enables measuring the time it takes to perform a factory reset. The time is measured from the moment the factory reset is scheduled until the device is shutdown. The measured time is printed in the log.
- CONFIG_CHIP_MALLOC_SYS_HEAP
(bool) Memory allocator based on Zephyr sys_heap
Enables memory allocation functions that imitate the default malloc, calloc, realloc and free, based on sys_heap from Zephyr RTOS.
- CONFIG_CHIP_MALLOC_SYS_HEAP_OVERRIDE
(bool) Override default allocator with memory allocator based on Zephyr sys_heap
Replaces the default memory allocation functions (such as malloc, calloc, realloc, free, and their reentrant versions) with their counterparts based on sys_heap from Zephyr RTOS.
- CONFIG_CHIP_MALLOC_SYS_HEAP_SIZE
(int) Heap size used by memory allocator based on Zephyr sys_heap
Provides a value that controls how much of the device RAM is reserved for the heap used by the memory allocation functions based on sys_heap from Zephyr RTOS.
- CONFIG_CHIP_MALLOC_SYS_HEAP_WATERMARKS_SUPPORT
(bool) Support for heap watermarks based on Zephyr sys_heap
Enables support for getting current heap high watermark and resetting watermarks.
- CONFIG_CHIP_MALLOC_SYS_HEAP_DEBUG
(bool) Log every allocated or freed memory block
Enables debug logs printed whenever a heap memory block is allocated or freed. The logs can be used to trace the source of memory leaks in the application.
- CONFIG_APP_LINK_WITH_CHIP
(bool) Link application with Matter libraries
Adds Matter directories to the ‘app’ target include paths and links the ‘app’ target with Matter libraries.
- CONFIG_CHIP_PW_RPC
(bool) Pigweed RPC library
Links the application with the libraries containing Pigweed RPC functionalities.
- CONFIG_CHIP_BUILD_TESTS
(bool) Build Matter unit tests
Enables building Matter unit tests.
- CONFIG_CHIP_OTA_IMAGE_BUILD
(bool) Generate OTA image
Enables building Matter over-the-air (OTA) update image.
- CONFIG_CHIP_OTA_IMAGE_FILE_NAME
(string) OTA image file name
Provides the file name of the generated Matter OTA image.
- CONFIG_CHIP_OTA_IMAGE_EXTRA_ARGS
(string) OTA image creator extra arguments
Provides optional arguments to the ota_image_tool.py script, used for building Matter OTA image.
- CONFIG_CHIP_BLE_EXT_ADVERTISING
(bool) Bluetooth LE extended advertising
Enable Bluetooth LE extended advertising, which allows the device to advertise Matter service over Bluetooth LE for a period of time longer than 15 minutes. If this config is true, CHIP_DEVICE_CONFIG_DISCOVERY_TIMEOUT_SECS define can be set up to 172800 seconds (48h).
- CONFIG_CHIP_BLE_ADVERTISING_DURATION
(int) Bluetooth LE advertising duration in minutes
Specify how long the device will advertise Matter service over Bluetooth LE in minutes. If CHIP_BLE_EXT_ADVERTISING is set to false, the maximum duration time is 15 minutes, else the maximum duration time can be extended to 2880 minutes (48h).
- CONFIG_CHIP_CUSTOM_BLE_ADV_DATA
(bool) Use custom BLE advertising data
Customization of BLE advertising data at the application layer
nRF Connect Configuration
- CONFIG_CHIP_NXP_PLATFORM
(bool)
States that the configuration uses Matter NXP platform, what can be used to conditionally deviate from Zephyr generic configuration for NXP platform related purposes.
- CONFIG_CHIP
(bool) Matter protocol stack
Enables Matter libraries required for the Matter protocol stack to work.
- CONFIG_CHIP_USE_ZEPHYR_NETWORKING
(bool) Use Zephyr networking layer
- CONFIG_CHIP_APP_LOG_LEVEL
(int) Logging level in application
Sets the logging level in the Matter application. Use this configuration option only within the application. To set the logging level for the Matter stack, use the MATTER_LOG_LEVEL configuration option.
- CONFIG_CHIP_DEVICE_VENDOR_ID
(int) Device Vendor ID
Provides the 16-bit numeric identifier of the device manufacturer, assigned by Connectivity Standards Alliance. The identifier is exposed as an attribute of the Basic Informationcluster, and included in the header of the generated Matter Over-the-air (OTA) update image.
- CONFIG_CHIP_DEVICE_VENDOR_NAME
(string) Device vendor name
Provides a human-readable name of the device manufacturer. The name is exposed as an attribute of the Basic Information cluster.
- CONFIG_CHIP_DEVICE_PRODUCT_ID
(int) Product ID
Provides the 16-bit numeric identifier of the product, assigned by the device manufacturer. The identifier is exposed as an attribute of the Basic Information cluster, and included in the header of the generated Matter over-the-air (OTA) update image.
- CONFIG_CHIP_DEVICE_PRODUCT_NAME
(string) Product name
Provides a human-readable product name, such as the model number, assigned by the device manufacturer. The name is exposed as an attribute of the Basic Information cluster.
- CONFIG_CHIP_DEVICE_HARDWARE_VERSION
(int) Hardware version
Provides the 16-bit hardware version number, assigned by the device manufacturer. The number is exposed as an attribute of the Basic Information cluster.
- CONFIG_CHIP_DEVICE_HARDWARE_VERSION_STRING
(string) Hardware version string
Provides a human-readable representation of the hardware version number. This must be an ASCII string of a length between 1 and 64 characters. The hardware version string is exposed as an attribute of the Basic Information cluster.
- CONFIG_CHIP_DEVICE_SOFTWARE_VERSION
(int) Software version
Provides the 32-bit software version number. The number is exposed as an attribute of the Basic Information cluster, and included in the header of the generated Matter Over-the-air (OTA) update image. The exact numbering scheme is up to the device manufacturer. However, when using the Matter OTA mechanism, only updates to higher versions than the current one are accepted.
- CONFIG_CHIP_DEVICE_SOFTWARE_VERSION_STRING
(string) Software version string
Provides a human-readable representation of the software version number. This must be an ASCII string of a length between 1 and 64 characters. The software version string is exposed as an attribute of the Basic Information cluster, and included in the header of the generated Matter over-the-air (OTA) update image.
- CONFIG_CHIP_DEVICE_MANUFACTURING_DATE
(string) Manufacturing date (ISO 8601 format)
Provides the device manufacturing date in the ISO 8601 format: YYYY-MM-DD.
- CONFIG_CHIP_DEVICE_SERIAL_NUMBER
(string) Device serial number
Provides a human-readable representation of the device serial number that uniquely identifies the device. This must be an ASCII string of no more than 32 characters.
- CONFIG_CHIP_DEVICE_ROTATING_DEVICE_UID
(string) Rotating device ID unique ID (HEX format)
Provides a unique identifier of the device. This ID is used to derive the rotating device identifier, which allows commissioners to discover the device in a privacy-preserving way. The identifier must be a string of at least 16 bytes encoded in HEX.
- CONFIG_CHIP_DEVICE_TYPE
(int) Primary device type
Provides the primary device type implemented by the node. This must be one of the device type identifiers defined in the Matter Device Library specification.
- CONFIG_CHIP_DEVICE_DISCRIMINATOR
(hex) Device pairing discriminator
Provides a 12-bit identifier that is used to discover the device during the commissioning.
- CONFIG_CHIP_DEVICE_SPAKE2_PASSCODE
(int) SPAKE2+ passcode
Provides a pairing passcode. This is a 27-bit unsigned integer that serves as a proof of possession during the commissioning. The passcode must be a value between 1 and 99999998, excluding the following invalid passcodes: 00000000, 11111111, 22222222, 33333333, 44444444, 55555555, 66666666, 77777777, 88888888, 99999999, 12345678, 87654321.
- CONFIG_CHIP_DEVICE_SPAKE2_IT
(int) SPAKE2+ iteration count
Provides the SPAKE2+ iteration count, which is one of the input parameters for the PBKDF operation, used to generate the SPAKE2+ verifier.
- CONFIG_CHIP_DEVICE_SPAKE2_SALT
(string) SPAKE2+ salt (base64 format)
Provides the SPAKE2+ salt, which is one of the input parameters for the PBKDF operation, used to generate the SPAKE2+ verifier. The salt must be of a length between 16 and 32 bytes and it should be randomly generated for each SPAKE2+ passcode.
- CONFIG_CHIP_DEVICE_SPAKE2_TEST_VERIFIER
(string) SPAKE2+ verifier for testing purposes (base64 format)
Provides the SPAKE2+ verifier that was generated using the configured SPAKE2+ passcode, iteration count and salt. This configuration option can be used for development or testing purposes. The default value was generated using the following command: ./scripts/tools/spake2p/spake2p.py gen-verifier -i 1000 -s U1BBS0UyUCBLZXkgU2FsdA== -p 20202021
- CONFIG_CHIP_DEVICE_ENABLE_KEY
(string) Enable Key for triggering test actions (HEX format)
Provides the Enable Key, which is a 16-byte value encoded in HEX that must be provided in the TestEventTrigger command to trigger a requested test action. This value is used during certification tests, and should not be present on devices in production environment.
- CONFIG_CHIP_DEVICE_PRODUCT_FINISH
(string) Description of the product’s external case finish method
provides a description of the product’s external case finish method. Possible values: other; matte; satin; polished; rugged; fabric
- CONFIG_CHIP_DEVICE_PRODUCT_COLOR
(string) Description of the product’s primary color
provides a description of the product’s primary color. Possible values: black; navy; green; teal; maroon; purple; olive; gray; blue; lime; aqua; red; fuchsia; yellow; white; nickel; chrome; brass; cooper; silver; gold.
- CONFIG_CHIP_ENABLE_PAIRING_AUTOSTART
(bool) Open commissioning window on boot
Opens the commissioning window automatically at application boot time if the node is not yet commissioned.
- CONFIG_CHIP_OTA_REQUESTOR
(bool) OTA Software Update Requestor
Enables over-the-air (OTA) Requestor role that allows the node to perform Device Firmware Upgrade by querying and downloading a new firmware image from a peer OTA Provider node.
- CONFIG_CHIP_ROTATING_DEVICE_ID
(bool) Generate rotating device ID
Enables the rotating device identifier that provides a non-trackable identifier. The identifier is unique per device and rotates at pre-defined moments.
- CONFIG_CHIP_COMMISSIONABLE_DEVICE_TYPE
(bool) Include device type subtype in commissionable node discovery record
Includes the device type subtype in the commissionable node discovery record. This allows a commissioner to find the node when looking for a specific device type.
- CONFIG_CHIP_EXTENDED_DISCOVERY
(bool) Extended discovery
Enables advertising of the commissionable node service even if the node does not have the commissioning window open.
- CONFIG_CHIP_OPERATIONAL_TIME_SAVE_INTERVAL
(int) Total operational time save interval (hours unit)
Provides an interval in hours with which the node operational time is saved to the flash memory. The provided value is a trade-off between performing frequent saves to know the precise operational time (in case of device reboot) and maximizing the flash memory lifetime.
- CONFIG_CHIP_CRYPTO_PSA
(bool) Use PSA crypto API for cryptographic operations
Enables the implementation of the Matter cryptographic operations that is based on the PSA crypto API (instead of the default implementation, which is based on the legacy mbedTLS APIs).
- CONFIG_CHIP_CRYPTO_PSA_AEAD_SINGLE_PART
(bool) Use PSA AEAD single-part API
When enabled, the single-part AEAD API is used with a large buffer allocated on the stack. Otherwise, the multipart API path is used.
- CONFIG_CHIP_PERSISTENT_SUBSCRIPTIONS
(bool) Persistent subscriptions
Persists Matter subscriptions on the publisher node. This feature allows a Matter node to faster get back to the previous operation after it went offline, for example, due to a power outage. That is, the node can use the persisted subscription information to quickly re-establish the previous subscriptions instead of waiting for the subscriber node to realize that the publisher is alive again.
- CONFIG_CHIP_STATISTICS
(bool) Resource usage statistics
Enables tracking the current and the top usage of critical resources used by the Matter stack, such as packet buffers, timers or exchange contexts.
- CONFIG_CHIP_LIB_SHELL
(bool) Matter shell commands
Enables linking the application with the library that contains Matter shell commands.
- CONFIG_CHIP_PROJECT_CONFIG
(string) Project configuration file for Matter
Provides a path to the project configuration file for Matter. The path can be either absolute or relative to the application directory. If specified, Matter’s generic configuration files will include the project configuration file that can be used to override any of Matter’s default or platform-specific settings.
- CONFIG_CHIP_ENABLE_DNSSD_SRP
(bool) OpenThread Service Registration Protocol
Enables using the OpenThread SRP client for the Matter service advertising.
- CONFIG_CHIP_ENABLE_DNS_CLIENT
(bool) OpenThread DNS client
Enables using the OpenThread DNS client for the Matter service discovery.
- CONFIG_CHIP_ENABLE_ICD_SUPPORT
(bool) Matter Intermittently Connected Devices support
Enables the Intermittently Connected Device (ICD) support in Matter.
- CONFIG_CHIP_ICD_SLOW_POLL_INTERVAL
(int) Intermittently Connected Device slow polling interval (ms)
Provides the Intermittently Connected Device slow polling interval in milliseconds while the device is in the idle mode. It determines the fastest frequency at which the device will be able to receive the messages in the idle mode.
- CONFIG_CHIP_ICD_SIT_SLOW_POLL_LIMIT
(int) Intermittently Connected Device slow polling interval limit for device in SIT mode (ms)
Provides the limit for Intermittently Connected Device slow polling interval in milliseconds while the device is in the SIT mode. By spec, this value cannot exceed 15 s (spec 9.16.1.5). This value can be used for the LIT device, to limit the slow poll interval used while temporarily working in the SIT mode.
- CONFIG_CHIP_ICD_FAST_POLLING_INTERVAL
(int) Intermittently Connected Device fast polling interval (ms)
Provides the Intermittently Connected Device fast polling interval in milliseconds while the device is in the active mode. It determines the fastest frequency at which the device will be able to receive the messages in the active mode. The CHIP_ICD_FAST_POLLING_INTERVAL shall be smaller than CHIP_ICD_ACTIVE_MODE_DURATION.
- CONFIG_CHIP_ICD_IDLE_MODE_DURATION
(int) Intermittently Connected Device idle mode duration (s)
Provides the Intermittently Connected Device idle mode duration in seconds. It determines the maximum amount of time the device can stay in the idle mode, which means the device may be unreachable and not able to receive messages.
- CONFIG_CHIP_ICD_ACTIVE_MODE_DURATION
(int) Intermittently Connected Device active mode duration (ms)
Provides the Intermittently Connected Device active mode duration in milliseconds. It determines the minimum amount of time the device shall stay in the active mode.
- CONFIG_CHIP_ICD_ACTIVE_MODE_THRESHOLD
(int) Intermittently Connected Device active mode threshold (ms)
Provides the Intermittently Connected Device active mode threshold in milliseconds. It determines the minimum amount of time the device shall stay in the active mode after the network activity. For LIT devices it cannot be set to a value smaller than 5000 ms.
- CONFIG_CHIP_ICD_LIT_SUPPORT
(bool) Intermittently Connected Device Long Idle Time support
Enables the Intermittently Connected Device Long Idle Time support in Matter. It also selects the ICD Check-In and UAT features support that are mandatory for LIT device.
- CONFIG_CHIP_ICD_CHECK_IN_SUPPORT
(bool) Intermittently Connected Device Check-In protocol support
Enables the Check-In protocol support in Matter. It allows an ICD device to notify the registered ICD clients that it is available for communication.
- CONFIG_CHIP_ICD_UAT_SUPPORT
(bool) Intermittently Connected Device User Active Mode Trigger support
Enables the User Active Mode Trigger (UAT) support in Matter. It allows the User to use application specific means (e.g. button press) to trigger an ICD device to enter the active mode and become responsive.
- CONFIG_CHIP_ICD_DSLS_SUPPORT
(bool) Intermittently Connected Device Dynamic SIT LIT support
Enables the Dynamic SIT LIT support in Matter. It allows the application to dynamically switch between SIT and LIT modes, as long as the requirements for these modes are met (e.g. device has at least one active ICD client).
- CONFIG_CHIP_ICD_CLIENTS_PER_FABRIC
(int) Intermittently Connected Device number of clients per fabric
Provides the Intermittently Connected Device number of clients per fabric. It determines the maximum number of clients per fabric that can be registered to receive notification from a device if their subscription is lost.
- CONFIG_CHIP_ICD_REPORT_ON_ACTIVE_MODE
(bool) Intermittently Connected Device report on active mode
Enables an ICD to send data report to the subscribers on entering the active mode.
- CONFIG_CHIP_THREAD_SSED
(bool) Thread Synchronized Sleepy End Device support
Enables the Thread Synchronized Sleepy End Device support in Matter.
- CONFIG_CHIP_OPENTHREAD_CONFIG
(string) Custom OpenThread configuration file
Provides a path to an OpenThread configuration file. The path can be either absolute or relative to the application directory. When this option is specified, it replaces the OpenThread configuration file supplied by Zephyr.
- CONFIG_CHIP_CERTIFICATION_DECLARATION_STORAGE
(bool) Certification Declaration settings storage
Enables storing of the Certification Declaration in Zephyr settings instead of using the hardcoded value from firmware. This option also adds support for including new Certification Declaration into a firmware update image package that is sent as part of the OTA software update.
- CONFIG_CHIP_CERTIFiCATION_DECLARATION_OTA_IMAGE_ID
(int) Certification declaration OTA image ID
Provides the image ID of the Certification Declaration image for sending it as part of the OTA software update.
- CONFIG_CHIP_FACTORY_RESET_ERASE_SETTINGS
(bool) Erase NVS flash pages on factory reset
Erases non-volatile pages occupied by non-volatile storage when a factory reset is requested, instead of removing Matter-related settings only. Enabling this option provides a more robust factory reset mechanism and allows to regain the original storage performance if any firmware issue has brought it to an unexpected state. For this reason, set this option if the entire configuration is supposed to be cleared on a factory reset, including device-specific entries.
- CONFIG_CHIP_FACTORY_RESET_TIME_MEASUREMENT
(bool) Measure time of factory reset
Enables measuring the time it takes to perform a factory reset. The time is measured from the moment the factory reset is scheduled until the device is shutdown. The measured time is printed in the log.
- CONFIG_CHIP_MALLOC_SYS_HEAP
(bool) Memory allocator based on Zephyr sys_heap
Enables memory allocation functions that imitate the default malloc, calloc, realloc and free, based on sys_heap from Zephyr RTOS.
- CONFIG_CHIP_MALLOC_SYS_HEAP_OVERRIDE
(bool) Override default allocator with memory allocator based on Zephyr sys_heap
Replaces the default memory allocation functions (such as malloc, calloc, realloc, free, and their reentrant versions) with their counterparts based on sys_heap from Zephyr RTOS.
- CONFIG_CHIP_MALLOC_SYS_HEAP_SIZE
(int) Heap size used by memory allocator based on Zephyr sys_heap
Provides a value that controls how much of the device RAM is reserved for the heap used by the memory allocation functions based on sys_heap from Zephyr RTOS.
- CONFIG_CHIP_MALLOC_SYS_HEAP_WATERMARKS_SUPPORT
(bool) Support for heap watermarks based on Zephyr sys_heap
Enables support for getting current heap high watermark and resetting watermarks.
- CONFIG_CHIP_MALLOC_SYS_HEAP_DEBUG
(bool) Log every allocated or freed memory block
Enables debug logs printed whenever a heap memory block is allocated or freed. The logs can be used to trace the source of memory leaks in the application.
- CONFIG_APP_LINK_WITH_CHIP
(bool) Link application with Matter libraries
Adds Matter directories to the ‘app’ target include paths and links the ‘app’ target with Matter libraries.
- CONFIG_CHIP_PW_RPC
(bool) Pigweed RPC library
Links the application with the libraries containing Pigweed RPC functionalities.
- CONFIG_CHIP_BUILD_TESTS
(bool) Build Matter unit tests
Enables building Matter unit tests.
- CONFIG_CHIP_OTA_IMAGE_BUILD
(bool) Generate OTA image
Enables building Matter over-the-air (OTA) update image.
- CONFIG_CHIP_OTA_IMAGE_FILE_NAME
(string) OTA image file name
Provides the file name of the generated Matter OTA image.
- CONFIG_CHIP_OTA_IMAGE_EXTRA_ARGS
(string) OTA image creator extra arguments
Provides optional arguments to the ota_image_tool.py script, used for building Matter OTA image.
- CONFIG_CHIP_BLE_EXT_ADVERTISING
(bool) Bluetooth LE extended advertising
Enable Bluetooth LE extended advertising, which allows the device to advertise Matter service over Bluetooth LE for a period of time longer than 15 minutes. If this config is true, CHIP_DEVICE_CONFIG_DISCOVERY_TIMEOUT_SECS define can be set up to 172800 seconds (48h).
- CONFIG_CHIP_BLE_ADVERTISING_DURATION
(int) Bluetooth LE advertising duration in minutes
Specify how long the device will advertise Matter service over Bluetooth LE in minutes. If CHIP_BLE_EXT_ADVERTISING is set to false, the maximum duration time is 15 minutes, else the maximum duration time can be extended to 2880 minutes (48h).
- CONFIG_CHIP_CUSTOM_BLE_ADV_DATA
(bool) Use custom BLE advertising data
Customization of BLE advertising data at the application layer
- CONFIG_CHIP_APP_ZAP_DIR
(string) Path to the zap-generated directory
It shall contain all the files generated by the zap-generate command.
- CONFIG_CHIP_NRF_PLATFORM
(bool)
States that the configuration uses Matter nRF platform, what can be used to conditionally deviate from Zephyr generic configuration for nRF platform related purposes.
- CONFIG_CHIP_NFC_ONBOARDING_PAYLOAD
(bool) Share onboarding payload in NFC tag
Enables sharing the onboarding payload in the NFC tag.
- CONFIG_CHIP_BOOTLOADER_MCUBOOT
(bool) MCUBOOT for Matter Bootloader purpose
- CONFIG_CHIP_BOOTLOADER_NONE
(bool) No bootloader selected for Matter purposes
- CONFIG_CHIP_DFU_LIBRARY_MCUMGR
(bool) Use mcumgr library for Matter DFU purposes
- CONFIG_CHIP_DFU_LIBRARY_DFU_TARGET
(bool) Use dfu target library for Matter DFU purposes
- CONFIG_CHIP_OTA_REQUESTOR_BUFFER_SIZE
(int) OTA Requestor image buffer size
Configures the size of the buffer used by OTA Requestor when downloading and writing a new firmware image to flash.
- CONFIG_CHIP_OTA_REQUESTOR_REBOOT_ON_APPLY
(bool) Auto-reboot when firmware update is applied
Reboots the device automatically after downloading a new firmware update to swap the old and the new firmware images. The reboot happens only when a user consents to apply the firmware update.
- CONFIG_CHIP_EXAMPLE_DEVICE_INFO_PROVIDER
(bool) Include default device information provider build
- CONFIG_CHIP_DEBUG_SYMBOLS
(bool) Generate debug symbols
Enables building the application with debug symbols.
- CONFIG_CHIP_LOG_VERIFY_OR_DIE
(bool) Log source code location on VerifyOrDie failure
Enables the feature to log the file name and line number where the Matter stack calls the VerifyOrDie macro with the condition evaluating to false.
- CONFIG_CHIP_LOG_FILE_NAME
(bool) Log file name instead of entire file path
Enables using a file name instead of an entire file path whenever the source code location needs to be logged. This is achieved by overriding the __FILE__ macro with __FILE_NAME__. This reduces the code size in debug configurations that enable verbose assertion macros.
- CONFIG_CHIP_TASK_STACK_SIZE
(int) The CHIP (Matter) thread stack size
Configures the stack size available for the CHIP (Matter) thread.
- CONFIG_CHIP_FACTORY_DATA_NRFCONNECT_BACKEND
(bool) nRF Connect factory data provider
Enables the default nRF Connect factory data provider implementation that supports reading the factory data encoded in the CBOR format from the flash memory partition.
- CONFIG_CHIP_FACTORY_DATA_CUSTOM_BACKEND
(bool) Custom factory data provider
Enables user’s custom factory data provider implementation.
- CONFIG_CHIP_FACTORY_DATA_NONE
(bool) No factory data provider
Disables factory data support and does not provide any factory data provider implementation.
- CONFIG_CHIP_FACTORY_DATA
(bool) Factory data for nRF Connect
Default nRF Connect factory data provider implementation that supports reading the factory data encoded in the CBOR format from the flash memory partition. This option requires the factory_data partition in Partition Manager configuration file (pm_static.yml).
- CONFIG_CHIP_FACTORY_DATA_BUILD
(bool) Generate factory data contents
Enables generation of the factory data contents during the building. This option requires the factory_data partition in Partition Manager configuration file (pm_static.yml). As a result, a new output file is created (factory_data.hex).
- CONFIG_CHIP_FACTORY_DATA_VERSION
(int)
Provides the version of the generated factory data parameter set. This is a hidden configuration option that the user cannot change. You can use this value in the factory data provider implementation to verify that the factory data saved in the flash memory has the expected version.
- CONFIG_CHIP_FACTORY_DATA_ROTATING_DEVICE_UID_MAX_LEN
(int) Maximum length of rotating device ID unique ID in bytes
Maximum acceptable length of rotating device ID unique ID in bytes.
- CONFIG_CHIP_FACTORY_DATA_WRITE_PROTECT
(bool) Factory Data write protection
Enables the write protection of the Factory Data partition in the flash memory. This is a recommended feature, but it requires the Settings partition size to be a multiple of FPROTECT_BLOCK_SIZE and the Factory Data partition to be placed right after the application partition in the address space (the Factory Data partition offset must be equal to the last address of the application partition). The second requirement is valid only when the FPROTECT_BLOCK_SIZE is bigger than the flash memory page size.
- CONFIG_CHIP_FACTORY_DATA_MERGE_WITH_FIRMWARE
(bool) Merge generated factory data with merged.hex output build file
Enables merging the generated factory data with the merged.hex output build file. As a result, the merged.hex build output file, which is used when flashing the firmware using the west tool, includes the factory data as well.
- CONFIG_CHIP_FACTORY_DATA_GENERATE_ONBOARDING_CODES
(bool) Generate onboarding codes during the generation of a factory data set
Enables generation of onboarding codes (manual pairing code and QR code) during the generation of a factory data set. You can provide the onboarding codes a Matter controller to commission a device to a Matter network.
- CONFIG_CHIP_FACTORY_DATA_USE_DEFAULT_CERTS
(bool) Use pre-generated development certificates
Uses pre-generated certificate files from the credentials/development/attestation/ directory that match the configured Product ID. This can be used for development purpose.
- CONFIG_CHIP_FACTORY_DATA_CERT_SOURCE_GENERATED
(bool) Auto-generate certificates
Generates new certificates instead of using pre-generated ones. The certificates are generated on every build.
- CONFIG_CHIP_FACTORY_DATA_CERT_SOURCE_USER
(bool) Use user-provided certificate files
Uses user-provided certificate files. The user needs to specify the absolute paths to all necessary files.
- CONFIG_CHIP_FACTORY_DATA_GENERATE_CD
(bool) Generates Certification Declaration to the output build directory
Generates the new Certification Declaration and stores it to the output build directory.
- CONFIG_CHIP_FACTORY_DATA_USER_CERTS_DAC_CERT
(string) Path to the DAC certificate (DER format)
Provides the absolute path to the DAC certificate file in the DER format.
- CONFIG_CHIP_FACTORY_DATA_USER_CERTS_DAC_KEY
(string) Path to the DAC private key (DER format)
Provides the absolute path to the DAC keypair file in the DER format. Both public and private keys must be present (the private key will be extracted automatically).
- CONFIG_CHIP_FACTORY_DATA_USER_CERTS_PAI_CERT
(string) Path to the PAI certificate (DER format)
Provides the absolute path to the PAI certificate in the DER format.
- CONFIG_CHIP_FACTORY_DATA_GENERATE_SPAKE2_VERIFIER
(bool) Generate SPAKE2+ verifier
Enables the generation of the SPAKE2+ verifier for the configured SPAKE2+ passcode, iteration count and salt.
- CONFIG_CHIP_DEVICE_GENERATE_ROTATING_DEVICE_UID
(bool) Generate Rotating device ID unique ID
Enables the generation of a random Rotating device ID unique ID.
- CONFIG_CHIP_LOG_SIZE_OPTIMIZATION
(bool) Disable some detailed logs to decrease flash usage
Disables some log levels for specific Matter log modules that provide information that is too detailed to be used in most cases. You can find full configuration enabled by this option in the platform/nrfconnect/CHIPPlatformConfig.h file.
- CONFIG_CHIP_IPV4
(bool) IPv4 support for Matter
If disabled, it allows to build nRF Connect SDK application with IPv4 support independently of the Matter stack still running over IPv6.
- CONFIG_CHIP_ENABLE_READ_CLIENT
(bool) Read Client in the Interaction Model
Enable support for Read Client in the Interaction Model. This config can be disabled for device types that do not require Read Client functionality. Disabling this config can save flash and RAM space.
- CONFIG_CHIP_CRYPTO_PSA_MIGRATE_DAC_PRIV_KEY
(bool) Migrate DAC private key from factory data to a secure storage
- CONFIG_CHIP_CRYPTO_PSA_DAC_PRIV_KEY_ITS
(bool) Migrate DAC private key from factory data to PSA ITS
Move DAC private key from the factory data set to the PSA ITS secure storage and remove it. After the first boot of the device the DAC private key will be moved to the PSA ITS secure storage and will not be available in the factory data anymore. It will be overwritten in the factory data set by zeros.
- CONFIG_CHIP_CRYPTO_PSA_DAC_PRIV_KEY_KMU
(bool) Migrate DAC private key from factory data to CRACEN KMU
Move DAC private key from the factory data set to the CRACEN Key Management Unit (KMU) secure storage and remove it. After the first boot of the device the DAC private key will be moved to the CRACEN KMU secure storage and will not be available in the factory data anymore. It will be overwritten in the factory data set by zeros.
- CONFIG_CHIP_CRYPTO_PSA_DAC_PRIV_KEY_KMU_SLOT_ID
(int) Destination DAC private key slot ID inside CRACEN KMU
- CONFIG_CHIP_CRYPTO_PSA_DAC_PRIV_KEY_KMU_ENCRYPTED
(bool) Encrypt DAC private key in CRACEN KMU
Encrypt the DAC private key in the CRACEN KMU secure storage.
- CONFIG_CHIP_STORE_KEYS_IN_KMU
(bool) Use KMU to store crypto keys
Stores cryptographic materials like keys in the KMU if available on the device. This option utilizes a custom nRF Connect implementation of PSAKeyAllocator for key storage. All non-volatile cryptographic materials used by the Matter stack will be stored in KMU slots.
- CONFIG_CHIP_KMU_SLOT_RANGE_START
(int) Starting KMU slot number for Matter crypto materials
Defines the starting KMU slot number reserved for storing Matter-related keys. This configuration does not include the DAC private key. To change DAC private key location see the CHIP_CRYPTO_PSA_DAC_PRIV_KEY_KMU_SLOT_ID Kconfig.
- CONFIG_CHIP_KMU_SLOT_RANGE_END
(int) Last available KMU slot for Matter crypto materials
Defines the last available KMU slot for storing Matter-related keys. This configuration does not include the DAC private key. To change DAC private key location see the CHIP_CRYPTO_PSA_DAC_PRIV_KEY_KMU_SLOT_ID Kconfig.
- CONFIG_CHIP_MAX_FABRICS
(int) Maximum number of Matter fabrics
The maximum number of Matter fabrics that device can be joined to.
- CONFIG_CHIP_MAX_ACTIVE_CASE_CLIENTS
(int) Maximum number of outgoing CASE sessions
The maximum number of outgoing CASE sessions that can be simutaneously handled by the end device.
- CONFIG_CHIP_MAX_ACTIVE_DEVICES
(int) Maximum number of simultaneous connections over CASE
The maximum number of devices to which the Server implementers will be able to concurrently connect over CASE and interact with.
- CONFIG_CHIP_SUBSCRIPTION_RESUMPTION_MIN_RETRY_INTERVAL
(int) Minimum subscription resumption interval in seconds
The minimum interval in seconds before resuming a subsciption that timed out.
- CONFIG_CHIP_SUBSCRIPTION_RESUMPTION_RETRY_MULTIPLIER
(int) The multiplier for subscription resumption retry in seconds
The multiplier per subscription resumption retry attempt that is multiplied by the index of Fibonacci sequence and added to CHIP_SUBSCRIPTION_RESUMPTION_MIN_RETRY_INTERVAL to obtain final wait time for next retry.
- CONFIG_CHIP_ENABLE_BDX_LOG_TRANSFER
(bool) BDX transfer for diagnostic logs
Enables the BDX protocol for diagnostics log transfer purposes.
- CONFIG_CHIP_USE_OPENTHREAD_ENDPOINT
(bool) Use OpenThread TCP/UDP stack directly
Use OpenThread TCP/UDP stack directly instead of using Zephyr’s networking layer. This option is not supported when using WiFi.
- CONFIG_CHIP_SYSTEM_PACKETBUFFER_POOL_SIZE
(int) Packet buffer pool size
Total number of packet buffers allocated by the stack for internal pool.
- CONFIG_CHIP_WIFI
(bool) nRF Connect Wi-Fi support
- CONFIG_CHIP_WIFI_CRYPTO_BACKEND_PSA
(bool) Matter WiFi PSA crypto backend
- CONFIG_CHIP_WIFI_CRYPTO_BACKEND_MBEDTLS
(bool) Matter WiFi mbedTLS crypto backend
- CONFIG_CHIP_IM_PRETTY_PRINT
(bool) Detailed logging of Matter messages
Enables enhanced verbosity for logging content of Matter messages. This configuration option facilitates detailed tracking of interactions, including Cluster ID, Endpoint ID, Attribute ID, or Command ID as well as payload content for all interaction types (like Read Request or Invoke Request). This option helps in debugging and development of message exchanges within the Matter protocol.
- CONFIG_CHIP_CRYPTO_USE_X509
(bool) X.509 certificate support
Enables X.509 certificate support for Matter.
- CONFIG_CHIP_CHIPOBLE_SINGLE_CONNECTION
(bool) Single Connection Mode
Limit support for chip-over-BLE (CHIPoBLE) to a single connection. When set, CHIPoBLE advertisements will stop while a CHIPoBLE connection is active.
- CONFIG_CHIP_QSPI_NOR_POWER_MANAGEMENT_SUPPORT
(bool) nRF QSPI NOR power management support
Enables management of nRF QSPI NOR external flash power state transitions during Matter operations.
- CONFIG_CHIP_BLE_MULTI_IDENTITY_SUPPORT
(bool) Support for multiple BLE identities
Enables support for multiple BLE identities, allowing the device to maintain separate BLE advertisements and connections for different purposes. When this option is enabled, Matter connection handlers will ignore events for connections established with a different local identity.
Matter features
- CONFIG_NORDIC_QSPI_NOR_STACK_WRITE_BUFFER_SIZE
(unknown)
- CONFIG_SPI_NOR_FLASH_LAYOUT_PAGE_SIZE
(unknown)
- CONFIG_PM_OVERRIDE_EXTERNAL_DRIVER_CHECK
(unknown)
- CONFIG_CHIP_MEMORY_PROFILING
(bool) Enable features for tracking memory usage
Enables features for tracking memory usage in Matter.
- CONFIG_CHIP_DFU_OVER_BT_SMP
(bool) Enable DFU over Bluetooth LE SMP feature set
Enables Device Firmware Upgrade over Bluetooth LE with SMP and configures the set of options related to that feature.
- CONFIG_MCUMGR_TRANSPORT_NETBUF_COUNT
(unknown)
- CONFIG_MCUMGR_MGMT_NOTIFICATION_HOOKS
(bool)
- CONFIG_MCUMGR_GRP_IMG_UPLOAD_CHECK_HOOK
(bool)
- CONFIG_MCUMGR_SMP_COMMAND_STATUS_HOOKS
(bool)
- CONFIG_BT_L2CAP_TX_MTU
(unknown)
- CONFIG_BT_BUF_ACL_RX_SIZE
(unknown)
- CONFIG_MCUMGR_TRANSPORT_NETBUF_SIZE
(unknown)
- CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE
(unknown)
- CONFIG_MCUMGR_GRP_ZBASIC
(unknown)
- CONFIG_MCUMGR_GRP_ZBASIC_STORAGE_ERASE
(unknown)
- CONFIG_CHIP_WIFI_CONNECTION_RECOVERY_MINIMUM_INTERVAL
(int) Define the minimum connection recovery time interval in milliseconds
Specifies the minimum connection recovery interval (in milliseconds).
- CONFIG_CHIP_WIFI_CONNECTION_RECOVERY_MAXIMUM_INTERVAL
(int) Define the maximum connection recovery time interval in milliseconds
Specifies the maximum connection recovery interval (in milliseconds).
- CONFIG_CHIP_WIFI_CONNECTION_RECOVERY_MAX_RETRIES_NUMBER
(int) Define the maximum amount of connection recovery occurrences
Specifies the maximum number of connection recovery attempts. If set to 0, no limitation is applied and attempts to recover the connection are performed indefinitely.
- CONFIG_CHIP_WIFI_CONNECTION_RECOVERY_JITTER
(int) Define the connection recovery jitter in milliseconds
Specifies the maximum connection recovery jitter interval (in milliseconds). Once the wait time reaches the current maximum value (defined by CHIP_WIFI_CONNECTION_RECOVERY_MAXIMUM_INTERVAL), a random jitter interval is added to it to avoid periodicity. The random jitter is selected within range [-JITTER; +JITTER].
- CONFIG_CHIP_LAST_FABRIC_REMOVED_NONE
(bool) After removing the last fabric do not perform any action
After removing the last fabric the device will not perform factory reset or reboot. The current state will be left as it is and the BLE advertising will not start automatically.
- CONFIG_CHIP_LAST_FABRIC_REMOVED_ERASE_AND_REBOOT
(bool) After removing the last fabric erase NVS and reboot
After removing the last fabric the device will perform the factory reset and then reboot. The current RAM state will be removed and the new commissioning to the new fabric will use the initial fabric index. This option is the safest.
- CONFIG_CHIP_LAST_FABRIC_REMOVED_ERASE_AND_PAIRING_START
(bool) After removing the last fabric erase NVS and start Bluetooth LE advertising
After removing the last fabric the device will perform the factory reset without rebooting and start the Bluetooth LE advertisement automatically. The current RAM state will be saved and the new commissioning to the next fabric will use the next possible fabric index. This option should not be used for devices that normally do not advertise Bluetooth LE on boot to keep their original behavior.
- CONFIG_CHIP_LAST_FABRIC_REMOVED_ERASE_ONLY
(bool) After removing the last fabric erase NVS only
After removing the last fabric the device will perform the factory reset only without rebooting. The current RAM state will be saved and the new commissioning to the next fabric will use the next possible fabric index.
- CONFIG_CHIP_LAST_FABRIC_REMOVED_ACTION_DELAY
(int) After removing the last fabric wait defined time [in milliseconds] to perform an action
After removing the last fabric the device will wait for the defined time and then perform an action chosen by the CHIP_LAST_FABRIC_REMOVED_ACTION option. This schedule will allow for avoiding race conditions before the device removes non-volatile data.