diff --git a/components/esp_matter/esp_matter_endpoint.cpp b/components/esp_matter/esp_matter_endpoint.cpp index d9dc021fe..75bc60496 100644 --- a/components/esp_matter/esp_matter_endpoint.cpp +++ b/components/esp_matter/esp_matter_endpoint.cpp @@ -62,6 +62,7 @@ esp_matter_endpoint_t *esp_matter_endpoint_create_on_off_light(esp_matter_node_t esp_matter_cluster_create_scenes(endpoint, &(config->scenes), CLUSTER_MASK_SERVER); esp_matter_cluster_create_on_off(endpoint, &(config->on_off), CLUSTER_MASK_SERVER); esp_matter_cluster_create_basic(endpoint, &(config->basic), CLUSTER_MASK_SERVER); + esp_matter_cluster_create_descriptor(endpoint, &(config->descriptor), CLUSTER_MASK_SERVER); return endpoint; } @@ -83,6 +84,7 @@ esp_matter_endpoint_t *esp_matter_endpoint_create_dimmable_light(esp_matter_node esp_matter_cluster_create_on_off(endpoint, &(config->on_off), CLUSTER_MASK_SERVER); esp_matter_cluster_create_level_control(endpoint, &(config->level_control), CLUSTER_MASK_SERVER); esp_matter_cluster_create_basic(endpoint, &(config->basic), CLUSTER_MASK_SERVER); + esp_matter_cluster_create_descriptor(endpoint, &(config->descriptor), CLUSTER_MASK_SERVER); return endpoint; } @@ -104,6 +106,7 @@ esp_matter_endpoint_t *esp_matter_endpoint_create_color_dimmable_light(esp_matte esp_matter_cluster_create_on_off(endpoint, &(config->on_off), CLUSTER_MASK_SERVER); esp_matter_cluster_create_level_control(endpoint, &(config->level_control), CLUSTER_MASK_SERVER); esp_matter_cluster_create_basic(endpoint, &(config->basic), CLUSTER_MASK_SERVER); + esp_matter_cluster_create_descriptor(endpoint, &(config->descriptor), CLUSTER_MASK_SERVER); esp_matter_cluster_create_color_control(endpoint, &(config->color_control), CLUSTER_MASK_SERVER); return endpoint; @@ -125,6 +128,7 @@ esp_matter_endpoint_t *esp_matter_endpoint_create_on_off_switch(esp_matter_node_ esp_matter_cluster_create_scenes(endpoint, &(config->scenes), CLUSTER_MASK_CLIENT); esp_matter_cluster_create_on_off(endpoint, &(config->on_off), CLUSTER_MASK_CLIENT); esp_matter_cluster_create_basic(endpoint, &(config->basic), CLUSTER_MASK_SERVER); + esp_matter_cluster_create_descriptor(endpoint, &(config->descriptor), CLUSTER_MASK_SERVER); esp_matter_cluster_create_binding(endpoint, &(config->binding), CLUSTER_MASK_SERVER); return endpoint; @@ -145,6 +149,7 @@ esp_matter_endpoint_t *esp_matter_endpoint_create_thermostat(esp_matter_node_t * esp_matter_cluster_create_groups(endpoint, &(config->groups), CLUSTER_MASK_SERVER); esp_matter_cluster_create_scenes(endpoint, &(config->scenes), CLUSTER_MASK_SERVER); esp_matter_cluster_create_basic(endpoint, &(config->basic), CLUSTER_MASK_SERVER); + esp_matter_cluster_create_descriptor(endpoint, &(config->descriptor), CLUSTER_MASK_SERVER); esp_matter_cluster_create_thermostat(endpoint, &(config->thermostat), CLUSTER_MASK_SERVER); return endpoint; diff --git a/components/esp_matter/esp_matter_endpoint.h b/components/esp_matter/esp_matter_endpoint.h index 59e32a53f..c4bf28758 100644 --- a/components/esp_matter/esp_matter_endpoint.h +++ b/components/esp_matter/esp_matter_endpoint.h @@ -40,16 +40,17 @@ .group_key_management = CLUSTER_CONFIG_GROUP_KEY_MANAGEMENT_DEFAULT(), \ } -#define ENDPOINT_CONFIG_ON_OFF_LIGHT_DEFAULT() \ +#define ENDPOINT_CONFIG_ON_OFF_LIGHT_DEFAULT() \ { \ .identify = CLUSTER_CONFIG_IDENTIFY_DEFAULT(), \ .groups = CLUSTER_CONFIG_GROUPS_DEFAULT(), \ .scenes = CLUSTER_CONFIG_SCENES_DEFAULT(), \ .on_off = CLUSTER_CONFIG_ON_OFF_DEFAULT(), \ .basic = CLUSTER_CONFIG_BASIC_DEFAULT(), \ + .descriptor = CLUSTER_CONFIG_DESCRIPTOR_DEFAULT(), \ } -#define ENDPOINT_CONFIG_DIMMABLE_LIGHT_DEFAULT() \ +#define ENDPOINT_CONFIG_DIMMABLE_LIGHT_DEFAULT() \ { \ .identify = CLUSTER_CONFIG_IDENTIFY_DEFAULT(), \ .groups = CLUSTER_CONFIG_GROUPS_DEFAULT(), \ @@ -57,6 +58,7 @@ .on_off = CLUSTER_CONFIG_ON_OFF_DEFAULT(), \ .level_control = CLUSTER_CONFIG_LEVEL_CONTROL_DEFAULT(), \ .basic = CLUSTER_CONFIG_BASIC_DEFAULT(), \ + .descriptor = CLUSTER_CONFIG_DESCRIPTOR_DEFAULT(), \ } #define ENDPOINT_CONFIG_COLOR_DIMMABLE_LIGHT_DEFAULT() \ @@ -68,6 +70,7 @@ .level_control = CLUSTER_CONFIG_LEVEL_CONTROL_DEFAULT(), \ .basic = CLUSTER_CONFIG_BASIC_DEFAULT(), \ .color_control = CLUSTER_CONFIG_COLOR_CONTROL_DEFAULT(), \ + .descriptor = CLUSTER_CONFIG_DESCRIPTOR_DEFAULT(), \ } #define ENDPOINT_CONFIG_ON_OFF_SWITCH_DEFAULT() \ @@ -78,6 +81,7 @@ .on_off = CLUSTER_CONFIG_ON_OFF_DEFAULT(), \ .basic = CLUSTER_CONFIG_BASIC_DEFAULT(), \ .binding = CLUSTER_CONFIG_BINDING_DEFAULT(), \ + .descriptor = CLUSTER_CONFIG_DESCRIPTOR_DEFAULT(), \ } #define ENDPOINT_CONFIG_THERMOSTAT_DEFAULT() \ @@ -87,6 +91,7 @@ .scenes = CLUSTER_CONFIG_SCENES_DEFAULT(), \ .basic = CLUSTER_CONFIG_BASIC_DEFAULT(), \ .thermostat = CLUSTER_CONFIG_THERMOSTAT_DEFAULT(), \ + .descriptor = CLUSTER_CONFIG_DESCRIPTOR_DEFAULT(), \ } #define ENDPOINT_CONFIG_BRIDGED_NODE_DEFAULT() \ @@ -121,6 +126,7 @@ typedef struct esp_matter_endpoint_on_off_light_config { esp_matter_cluster_scenes_config_t scenes; esp_matter_cluster_on_off_config_t on_off; esp_matter_cluster_basic_config_t basic; + esp_matter_cluster_descriptor_config_t descriptor; } esp_matter_endpoint_on_off_light_config_t; typedef struct esp_matter_endpoint_dimmable_light_config { @@ -130,6 +136,7 @@ typedef struct esp_matter_endpoint_dimmable_light_config { esp_matter_cluster_on_off_config_t on_off; esp_matter_cluster_level_control_config_t level_control; esp_matter_cluster_basic_config_t basic; + esp_matter_cluster_descriptor_config_t descriptor; } esp_matter_endpoint_dimmable_light_config_t; typedef struct esp_matter_endpoint_color_dimmable_light_config { @@ -140,6 +147,7 @@ typedef struct esp_matter_endpoint_color_dimmable_light_config { esp_matter_cluster_level_control_config_t level_control; esp_matter_cluster_basic_config_t basic; esp_matter_cluster_color_control_config_t color_control; + esp_matter_cluster_descriptor_config_t descriptor; } esp_matter_endpoint_color_dimmable_light_config_t; typedef struct esp_matter_endpoint_on_off_switch_config { @@ -149,6 +157,7 @@ typedef struct esp_matter_endpoint_on_off_switch_config { esp_matter_cluster_on_off_config_t on_off; esp_matter_cluster_basic_config_t basic; esp_matter_cluster_binding_config_t binding; + esp_matter_cluster_descriptor_config_t descriptor; } esp_matter_endpoint_on_off_switch_config_t; typedef struct esp_matter_endpoint_thermostat_config { @@ -157,6 +166,7 @@ typedef struct esp_matter_endpoint_thermostat_config { esp_matter_cluster_scenes_config_t scenes; esp_matter_cluster_basic_config_t basic; esp_matter_cluster_thermostat_config_t thermostat; + esp_matter_cluster_descriptor_config_t descriptor; } esp_matter_endpoint_thermostat_config_t; typedef struct esp_matter_endpoint_bridged_node_config {