diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 009445b26..9a5d82fc2 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,3 +1,10 @@ +# 28-Aug-2024 + +- Removed the configurability of the NameSupport attribute of the Groups cluster and enabled + it by default. The NameSupport and feature-map attributes of the Groups cluster must be kept + in sync, the connectedhomeip SDK enables the GroupName feature by default and set the + NameSupport attribute to appropriate value. + # 07-May-2024 - `tools/mfg_tool.py` is moved to https://github.com/espressif/esp-matter-tools/tree/main/mfg_tool diff --git a/components/esp_matter/esp_matter_cluster.cpp b/components/esp_matter/esp_matter_cluster.cpp index 342b8b7ae..b33f902b3 100644 --- a/components/esp_matter/esp_matter_cluster.cpp +++ b/components/esp_matter/esp_matter_cluster.cpp @@ -1230,7 +1230,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags) if (flags & CLUSTER_FLAG_SERVER) { /* Attributes managed internally */ - global::attribute::create_feature_map(cluster, 0); + global::attribute::create_feature_map(cluster, static_cast(Groups::NameSupportBitmap::kGroupNames)); #if CHIP_CONFIG_ENABLE_EVENTLIST_ATTRIBUTE global::attribute::create_event_list(cluster, NULL, 0, 0); #endif @@ -1238,7 +1238,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags) /* Attributes not managed internally */ if (config) { global::attribute::create_cluster_revision(cluster, config->cluster_revision); - attribute::create_group_name_support(cluster, config->group_name_support); + attribute::create_group_name_support(cluster, chip::to_underlying(Groups::NameSupportBitmap::kGroupNames)); } else { ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes."); } diff --git a/components/esp_matter/esp_matter_cluster.h b/components/esp_matter/esp_matter_cluster.h index 73e1b9c6b..9756f53e4 100644 --- a/components/esp_matter/esp_matter_cluster.h +++ b/components/esp_matter/esp_matter_cluster.h @@ -302,8 +302,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags); namespace groups { typedef struct config { uint16_t cluster_revision; - uint8_t group_name_support; - config() : cluster_revision(4), group_name_support(0) {} + config() : cluster_revision(4) {} } config_t; cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);