diff --git a/components/esp_matter/utils/cluster_select/Kconfig.in b/components/esp_matter/utils/cluster_select/Kconfig.in index d6030b506..0164948e6 100644 --- a/components/esp_matter/utils/cluster_select/Kconfig.in +++ b/components/esp_matter/utils/cluster_select/Kconfig.in @@ -431,14 +431,17 @@ config SUPPORT_THERMOSTAT_USER_INTERFACE_CONFIGURATION_CLUSTER config SUPPORT_THREAD_BORDER_ROUTER_MANAGEMENT_CLUSTER bool "Support THREAD_BORDER_ROUTER_MANAGEMENT_CLUSTER" + depends on OPENTHREAD_ENABLED default y config SUPPORT_THREAD_NETWORK_DIAGNOSTICS_CLUSTER bool "Support THREAD_NETWORK_DIAGNOSTICS_CLUSTER" + depends on OPENTHREAD_ENABLED default y config SUPPORT_THREAD_NETWORK_DIRECTORY_CLUSTER bool "Support THREAD_NETWORK_DIRECTORY_CLUSTER" + depends on OPENTHREAD_ENABLED default y config SUPPORT_TIME_FORMAT_LOCALIZATION_CLUSTER diff --git a/components/esp_matter/utils/cluster_select/generate_cluster_select_files.py b/components/esp_matter/utils/cluster_select/generate_cluster_select_files.py index 237f1ece4..2457272b1 100755 --- a/components/esp_matter/utils/cluster_select/generate_cluster_select_files.py +++ b/components/esp_matter/utils/cluster_select/generate_cluster_select_files.py @@ -46,15 +46,25 @@ def load_json(json_file): return {key: value for key, value in server_dirs.items() if value} +# Clusters that require OpenThread support +OPENTHREAD_CLUSTERS = { + 'THREAD_BORDER_ROUTER_MANAGEMENT_CLUSTER', + 'THREAD_NETWORK_DIAGNOSTICS_CLUSTER', + 'THREAD_NETWORK_DIRECTORY_CLUSTER', +} + + def generate_cluster_select_kconfig(cluster_list, output_dir): with open(os.path.join(output_dir, 'Kconfig.in'), 'w') as kconfig_file: write_file_header(kconfig_file) for cluster in cluster_list.keys(): - kconfig_file.writelines( - [f'config SUPPORT_{cluster}\n', - f'\tbool "Support {cluster}"\n', - '\tdefault y\n' - '\n']) + lines = [f'config SUPPORT_{cluster}\n', + f'\tbool "Support {cluster}"\n'] + if cluster in OPENTHREAD_CLUSTERS: + lines.append('\tdepends on OPENTHREAD_ENABLED\n') + lines.append('\tdefault y\n') + lines.append('\n') + kconfig_file.writelines(lines) def generate_cluster_select_cmake(cluster_list, output_dir):