mirror of
https://github.com/espressif/esp-matter.git
synced 2026-04-27 19:13:13 +00:00
Merge branch 'priv_cluster_revision' into 'main'
components/esp-matter: Make the cluster revision private to SDK See merge request app-frameworks/esp-matter!825
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
#include <esp_matter_cluster.h>
|
||||
#include <esp_matter_core.h>
|
||||
#include <esp_matter_delegate_callbacks.h>
|
||||
#include <esp_matter_cluster_revisions.h>
|
||||
|
||||
#include <app-common/zap-generated/callback.h>
|
||||
#include <app/PluginApplicationCallbacks.h>
|
||||
@@ -128,11 +129,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);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -158,19 +155,13 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
if (flags & CLUSTER_FLAG_SERVER) {
|
||||
/* Attributes managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, 1);
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
|
||||
attribute::create_action_list(cluster, NULL, 0, 0);
|
||||
attribute::create_endpoint_lists(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
event::create_action_failed(cluster);
|
||||
@@ -209,12 +200,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);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
event::create_access_control_entry_changed(cluster);
|
||||
@@ -260,8 +246,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_max_paths_per_invoke(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_node_label(cluster, config->node_label, strlen(config->node_label));
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -302,11 +288,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_binding(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -337,11 +319,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);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Commands */
|
||||
@@ -380,8 +358,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_default_ota_providers(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_update_possible(cluster, config->update_possible);
|
||||
attribute::create_update_state(cluster, config->update_state);
|
||||
attribute::create_update_state_progress(cluster, config->update_state_progress);
|
||||
@@ -429,8 +407,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_supports_concurrent_connection(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_breadcrumb(cluster, config->breadcrumb);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -488,11 +466,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);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Commands */
|
||||
@@ -538,11 +512,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);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
event::create_boot_reason(cluster);
|
||||
@@ -582,11 +552,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
attribute::create_admin_vendor_id(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Features */
|
||||
@@ -632,11 +598,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_current_fabric_index(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Commands */
|
||||
@@ -727,11 +689,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_rssi(cluster, nullable<int8_t>());
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -779,11 +737,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_active_network_faults(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -811,11 +765,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);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Commands */
|
||||
@@ -853,11 +803,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);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
event::create_time_failure(cluster);
|
||||
@@ -888,11 +834,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Features */
|
||||
@@ -927,8 +869,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_reachable(cluster, config->reachable);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -961,8 +903,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
|
||||
/** Attributes not managed internally **/
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_status(cluster, config->status);
|
||||
attribute::create_order(cluster, config->order, 0x00, 0xFF);
|
||||
attribute::create_description(cluster, config->description, strlen(config->description));
|
||||
@@ -1018,11 +960,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
attribute::create_active_mode_threshold(cluster, CONFIG_ICD_ACTIVE_MODE_THRESHOLD_MS);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
#if defined(CHIP_CONFIG_ENABLE_ICD_CIP) && CHIP_CONFIG_ENABLE_ICD_CIP
|
||||
@@ -1067,11 +1005,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_label_list(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1103,11 +1037,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_label_list(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1145,8 +1075,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_identify_time(cluster, config->identify_time, 0x0, 0xFFFE);
|
||||
attribute::create_identify_type(cluster, config->identify_type);
|
||||
} else {
|
||||
@@ -1187,8 +1117,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_group_name_support(cluster, config->group_name_support);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -1238,8 +1168,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_scene_table_size(cluster, config->scene_table_size);
|
||||
attribute::create_fabric_scene_info(cluster, NULL, 0, 0);
|
||||
} else {
|
||||
@@ -1293,8 +1223,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_on_off(cluster, config->on_off);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -1352,8 +1282,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_current_level(cluster, config->current_level);
|
||||
attribute::create_on_level(cluster, config->on_level);
|
||||
attribute::create_options(cluster, config->options, 0x0, 0x3);
|
||||
@@ -1411,8 +1341,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_color_mode(cluster, config->color_mode);
|
||||
attribute::create_color_control_options(cluster, config->color_control_options);
|
||||
attribute::create_enhanced_color_mode(cluster, config->enhanced_color_mode, 0, 3);
|
||||
@@ -1491,8 +1421,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_fan_mode(cluster, config->fan_mode, 0, 6);
|
||||
attribute::create_fan_mode_sequence(cluster, config->fan_mode_sequence, 0, 5);
|
||||
attribute::create_percent_setting(cluster, config->percent_setting, 0, 100);
|
||||
@@ -1536,8 +1466,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_local_temperature(cluster, config->local_temperature);
|
||||
attribute::create_control_sequence_of_operation(cluster, config->control_sequence_of_operation, 0x0, 0x5);
|
||||
attribute::create_system_mode(cluster, config->system_mode, 0x0, 0x7);
|
||||
@@ -1604,8 +1534,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_temperature_display_mode(cluster, config->temperature_display_mode);
|
||||
attribute::create_keypad_lockout(cluster, config->keypad_lockout);
|
||||
} else {
|
||||
@@ -1643,11 +1573,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_air_quality(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1684,11 +1610,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_change_indication(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1725,11 +1647,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_change_indication(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1762,11 +1680,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_measurement_medium(cluster, config->measurement_medium);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1800,11 +1714,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_measurement_medium(cluster, config->measurement_medium);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1838,11 +1748,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_measurement_medium(cluster, config->measurement_medium);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1876,11 +1782,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_measurement_medium(cluster, config->measurement_medium);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1914,11 +1816,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_measurement_medium(cluster, config->measurement_medium);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1952,11 +1850,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_measurement_medium(cluster, config->measurement_medium);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -1990,11 +1884,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_measurement_medium(cluster, config->measurement_medium);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -2028,11 +1918,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_measurement_medium(cluster, config->measurement_medium);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -2066,11 +1952,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_measurement_medium(cluster, config->measurement_medium);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -2104,11 +1986,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_measurement_medium(cluster, config->measurement_medium);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -2150,11 +2028,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_operational_error(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
event::create_operational_error(cluster);
|
||||
@@ -2192,8 +2066,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
mode_base::attribute::create_current_mode(cluster, config->current_mode);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -2235,11 +2109,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -2278,8 +2148,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
attribute::create_supported_dryness_levels(cluster, NULL, 0, 0);
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_selected_dryness_level(cluster, config->selected_dryness_level);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -2319,8 +2189,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
mode_base::attribute::create_current_mode(cluster, config->current_mode);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -2359,11 +2229,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -2400,11 +2266,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
attribute::create_end_of_service_alert(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
event::create_low_battery(cluster);
|
||||
@@ -2457,8 +2319,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_lock_state(cluster, config->lock_state);
|
||||
attribute::create_lock_type(cluster, config->lock_type);
|
||||
attribute::create_actuator_enabled(cluster, config->actuator_enabled);
|
||||
@@ -2514,8 +2376,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_type(cluster, config->type);
|
||||
attribute::create_config_status(cluster, config->config_status);
|
||||
attribute::create_operational_status(cluster, config->operational_status);
|
||||
@@ -2567,8 +2429,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_number_of_positions(cluster, config->number_of_positions);
|
||||
attribute::create_current_position(cluster, config->current_position);
|
||||
} else {
|
||||
@@ -2607,8 +2469,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_temperature_measured_value(cluster, config->measured_value);
|
||||
attribute::create_temperature_min_measured_value(cluster, config->min_measured_value);
|
||||
attribute::create_temperature_max_measured_value(cluster, config->max_measured_value);
|
||||
@@ -2648,8 +2510,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_relative_humidity_measured_value(cluster, config->measured_value);
|
||||
attribute::create_relative_humidity_min_measured_value(cluster, config->min_measured_value);
|
||||
attribute::create_relative_humidity_max_measured_value(cluster, config->max_measured_value);
|
||||
@@ -2691,8 +2553,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_occupancy(cluster, config->occupancy);
|
||||
attribute::create_occupancy_sensor_type(cluster, config->occupancy_sensor_type);
|
||||
attribute::create_occupancy_sensor_type_bitmap(cluster, config->occupancy_sensor_type_bitmap);
|
||||
@@ -2732,8 +2594,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_state_value(cluster, config->state_value);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -2775,11 +2637,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
|
||||
@@ -2825,9 +2683,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
|
||||
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_active_locale(cluster, config->active_locale, strlen(config->active_locale));
|
||||
|
||||
/* Attributes managed internally */
|
||||
@@ -2869,7 +2727,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
if (config) {
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
|
||||
/* Attributes managed internally */
|
||||
attribute::create_hour_format(cluster, config->hour_format);
|
||||
@@ -2912,8 +2770,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
|
||||
/** Attributes not managed internally **/
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_illuminance_measured_value(cluster, config->illuminance_measured_value, 0x0000, 0xFFFF);
|
||||
attribute::create_illuminance_min_measured_value(cluster, config->illuminance_min_measured_value, 0x0001,
|
||||
0xFFFD);
|
||||
@@ -2953,8 +2811,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
|
||||
/** Attributes not managed internally **/
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_pressure_measured_value(cluster, config->pressure_measured_value);
|
||||
attribute::create_pressure_min_measured_value(cluster, config->pressure_min_measured_value);
|
||||
attribute::create_pressure_max_measured_value(cluster, config->pressure_max_measured_value);
|
||||
@@ -2992,8 +2850,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
global::attribute::create_feature_map(cluster, 0);
|
||||
|
||||
/** Attributes not managed internally **/
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_flow_measured_value(cluster, config->flow_measured_value);
|
||||
attribute::create_flow_min_measured_value(cluster, config->flow_min_measured_value);
|
||||
attribute::create_flow_max_measured_value(cluster, config->flow_max_measured_value);
|
||||
@@ -3037,8 +2895,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/** Attributes not managed internally **/
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_max_pressure(cluster, config->max_pressure);
|
||||
attribute::create_max_speed(cluster, config->max_speed);
|
||||
attribute::create_max_flow(cluster, config->max_flow);
|
||||
@@ -3078,8 +2936,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
attribute::create_supported_modes(cluster, NULL, 0, 0);
|
||||
/** Attributes not managed internally **/
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_mode_select_description(cluster, config->mode_select_description, strlen(config->mode_select_description));
|
||||
attribute::create_standard_namespace(cluster, config->standard_namespace);
|
||||
attribute::create_current_mode(cluster, config->current_mode);
|
||||
@@ -3125,11 +2983,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);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* commands */
|
||||
@@ -3163,11 +3017,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
/* Features */
|
||||
if (features & feature::watermarks::get_id()) {
|
||||
@@ -3200,11 +3050,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Commands */
|
||||
@@ -3247,8 +3093,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_mask(cluster, config->mask);
|
||||
attribute::create_state(cluster, config->state);
|
||||
attribute::create_supported(cluster, config->supported);
|
||||
@@ -3286,8 +3132,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
mode_base::attribute::create_supported_modes(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
mode_base::attribute::create_current_mode(cluster, config->current_mode);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -3326,8 +3172,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
mode_base::attribute::create_supported_modes(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
mode_base::attribute::create_current_mode(cluster, config->current_mode);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -3365,8 +3211,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
mode_base::attribute::create_supported_modes(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
mode_base::attribute::create_current_mode(cluster, config->current_mode);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -3404,8 +3250,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
mode_base::attribute::create_supported_modes(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
mode_base::attribute::create_current_mode(cluster, config->current_mode);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -3441,11 +3287,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
microwave_oven_control::attribute::create_max_cook_time(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Commands */
|
||||
@@ -3490,11 +3332,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);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
return cluster;
|
||||
@@ -3529,11 +3367,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);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Commands */
|
||||
@@ -3570,11 +3404,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Features */
|
||||
@@ -3624,11 +3454,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
attribute::create_accuracy(cluster, NULL, 0, 0);
|
||||
attribute::create_active_power(cluster, 0);
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Features */
|
||||
@@ -3682,11 +3508,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
attribute::create_accuracy(cluster, NULL, 0, 0);
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Features */
|
||||
@@ -3742,8 +3564,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
mode_base::attribute::create_supported_modes(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
mode_base::attribute::create_current_mode(cluster, config->current_mode);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -3790,11 +3612,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
attribute::create_session_energy_charged(cluster, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Features */
|
||||
@@ -3853,8 +3671,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
|
||||
/** Attributes not managed internally **/
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
attribute::create_open_duration(cluster, config->open_duration);
|
||||
attribute::create_default_open_duration(cluster, config->default_open_duration);
|
||||
attribute::create_current_state(cluster, config->current_state);
|
||||
@@ -3916,11 +3734,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
attribute::create_abs_min_power(cluster, 0);
|
||||
attribute::create_abs_max_power(cluster, 0);
|
||||
/** Attributes not managed internally **/
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
|
||||
/* Features */
|
||||
@@ -3978,8 +3792,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags)
|
||||
mode_base::attribute::create_supported_modes(cluster, NULL, 0, 0);
|
||||
|
||||
/* Attributes not managed internally */
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
mode_base::attribute::create_current_mode(cluster, config->current_mode);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
@@ -4029,11 +3843,7 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
attribute::create_application_version(cluster, NULL, 0);
|
||||
attribute::create_allowed_vendor_list(cluster, NULL, 0 , 0);
|
||||
/** Attributes not managed internally **/
|
||||
if (config) {
|
||||
global::attribute::create_cluster_revision(cluster, config->cluster_revision);
|
||||
} else {
|
||||
ESP_LOGE(TAG, "Config is NULL. Cannot add some attributes.");
|
||||
}
|
||||
global::attribute::create_cluster_revision(cluster, cluster_revision);
|
||||
}
|
||||
return cluster;
|
||||
}
|
||||
|
||||
@@ -47,68 +47,54 @@ void delegate_init_callback_common();
|
||||
* If a custom cluster needs to be created, the low level esp_matter::cluster::create() API can be used.
|
||||
*/
|
||||
|
||||
namespace descriptor {
|
||||
namespace common {
|
||||
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
// Empty config for API consistency
|
||||
} config_t;
|
||||
|
||||
} /* common */
|
||||
|
||||
namespace descriptor {
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* descriptor */
|
||||
|
||||
namespace actions {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* actions */
|
||||
|
||||
namespace access_control {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* access_control */
|
||||
|
||||
namespace basic_information {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
char node_label[k_max_node_label_length + 1];
|
||||
config() : cluster_revision(3), node_label{0} {}
|
||||
config() : node_label{0} {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* basic_information */
|
||||
|
||||
namespace binding {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* binding */
|
||||
|
||||
namespace ota_provider {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* ota_provider */
|
||||
|
||||
namespace ota_requestor {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
bool update_possible;
|
||||
uint8_t update_state;
|
||||
nullable<uint8_t> update_state_progress;
|
||||
config() : cluster_revision(1), update_possible(true), update_state(0), update_state_progress() {}
|
||||
config() : update_possible(true), update_state(0), update_state_progress() {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -116,109 +102,67 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace general_commissioning {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint64_t breadcrumb;
|
||||
config() : cluster_revision(1), breadcrumb(0) {}
|
||||
config() : breadcrumb(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* general_commissioning */
|
||||
|
||||
namespace network_commissioning {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(2) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* network_commissioning */
|
||||
|
||||
namespace diagnostic_logs {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* diagnostic_logs */
|
||||
|
||||
namespace general_diagnostics {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(2) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* general_diagnostics */
|
||||
|
||||
namespace software_diagnostics {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
} /* software_diagnostics */
|
||||
|
||||
namespace administrator_commissioning {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
} /* administrator_commissioning */
|
||||
|
||||
namespace operational_credentials {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* operational_credentials */
|
||||
|
||||
namespace group_key_management {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(2) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, uint8_t flags);
|
||||
} /* group_key_management */
|
||||
|
||||
namespace wifi_network_diagnotics {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* wifi_network_diagnotics */
|
||||
|
||||
namespace thread_network_diagnostics {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(2) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* thread_network_diagnostics */
|
||||
|
||||
namespace ethernet_network_diagnostics {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* ethernet_network_diagnostics */
|
||||
|
||||
namespace time_synchronization {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(2), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -226,9 +170,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace unit_localization {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
feature::temperature_unit::config_t temperature_unit;
|
||||
config() : cluster_revision(1) {}
|
||||
// Empty config for API consistency
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -236,9 +179,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace bridged_device_basic_information {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
bool reachable;
|
||||
config() : cluster_revision(2), reachable(true) {}
|
||||
config() : reachable(true) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -246,7 +188,6 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace power_source {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t status;
|
||||
uint8_t order;
|
||||
char description[k_max_description_length + 1];
|
||||
@@ -254,7 +195,7 @@ typedef struct config {
|
||||
feature::battery::config_t battery;
|
||||
feature::rechargeable::config_t rechargeable;
|
||||
feature::replaceable::config_t replaceable;
|
||||
config() : cluster_revision(2), status(0), order(0), description{0} {}
|
||||
config() : status(0), order(0), description{0} {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -262,38 +203,28 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace icd_management {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
feature::user_active_mode_trigger::config_t user_active_mode_trigger;
|
||||
config() : cluster_revision(2) {}
|
||||
// Empty config for API consistency
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
} /* icd_management */
|
||||
|
||||
namespace user_label {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* user_label */
|
||||
|
||||
namespace fixed_label {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* fixed_label */
|
||||
|
||||
namespace identify {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint16_t identify_time;
|
||||
uint8_t identify_type;
|
||||
config() : cluster_revision(4), identify_time(0), identify_type(0) {}
|
||||
config() : identify_time(0), identify_type(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -301,9 +232,8 @@ 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() : group_name_support(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -311,9 +241,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace scenes_management {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint16_t scene_table_size;
|
||||
config() : cluster_revision(1), scene_table_size(16) {}
|
||||
config() : scene_table_size(16) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -321,10 +250,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace on_off {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
bool on_off;
|
||||
feature::lighting::config_t lighting;
|
||||
config() : cluster_revision(6), on_off(false) {}
|
||||
config() : on_off(false) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -332,12 +260,11 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace level_control {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
nullable<uint8_t> current_level;
|
||||
nullable<uint8_t> on_level;
|
||||
uint8_t options;
|
||||
feature::lighting::config_t lighting;
|
||||
config() : cluster_revision(5), current_level(), on_level(), options(0) {}
|
||||
config() : current_level(), on_level(), options(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -345,7 +272,6 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace color_control {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t color_mode;
|
||||
uint8_t color_control_options;
|
||||
uint8_t enhanced_color_mode;
|
||||
@@ -356,7 +282,7 @@ typedef struct config {
|
||||
feature::xy::config_t xy;
|
||||
feature::enhanced_hue::config_t enhanced_hue;
|
||||
feature::color_loop::config_t color_loop;
|
||||
config() : cluster_revision(6), color_mode(1), color_control_options(0), enhanced_color_mode(1),
|
||||
config() : color_mode(1), color_control_options(0), enhanced_color_mode(1),
|
||||
color_capabilities(0), number_of_primaries(0) {}
|
||||
} config_t;
|
||||
|
||||
@@ -365,13 +291,12 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace fan_control {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t fan_mode;
|
||||
uint8_t fan_mode_sequence;
|
||||
nullable<uint8_t> percent_setting;
|
||||
uint8_t percent_current;
|
||||
void *delegate;
|
||||
config() : cluster_revision(4), fan_mode(0), fan_mode_sequence(2), percent_setting(0), percent_current(0), delegate(nullptr) {}
|
||||
config() : fan_mode(0), fan_mode_sequence(2), percent_setting(0), percent_current(0), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -379,7 +304,6 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace thermostat {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
nullable<int16_t> local_temperature;
|
||||
uint8_t control_sequence_of_operation;
|
||||
uint8_t system_mode;
|
||||
@@ -390,7 +314,7 @@ typedef struct config {
|
||||
feature::schedule_configuration::config_t schedule_configuration;
|
||||
feature::auto_mode::config_t auto_mode;
|
||||
feature::local_temperature_not_exposed::config_t local_temperature_not_exposed;
|
||||
config() : cluster_revision(6), local_temperature(), control_sequence_of_operation(4), system_mode(1) {}
|
||||
config() : local_temperature(), control_sequence_of_operation(4), system_mode(1) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -398,29 +322,23 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace thermostat_user_interface_configuration {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t temperature_display_mode;
|
||||
uint8_t keypad_lockout;
|
||||
config() : cluster_revision(2), temperature_display_mode(0), keypad_lockout(0) {}
|
||||
config() : temperature_display_mode(0), keypad_lockout(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* thermostat_user_interface_configuration */
|
||||
|
||||
namespace air_quality {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* air_quality */
|
||||
|
||||
namespace hepa_filter_monitoring {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -428,9 +346,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace activated_carbon_filter_monitoring {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -438,9 +355,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace carbon_monoxide_concentration_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t measurement_medium;
|
||||
config() : cluster_revision(3), measurement_medium(0) {}
|
||||
config() : measurement_medium(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -448,9 +364,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace carbon_dioxide_concentration_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t measurement_medium;
|
||||
config() : cluster_revision(3), measurement_medium(0) {}
|
||||
config() : measurement_medium(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -458,9 +373,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace nitrogen_dioxide_concentration_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t measurement_medium;
|
||||
config() : cluster_revision(3), measurement_medium(0) {}
|
||||
config() : measurement_medium(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -468,9 +382,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace ozone_concentration_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t measurement_medium;
|
||||
config() : cluster_revision(3), measurement_medium(0) {}
|
||||
config() : measurement_medium(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -478,9 +391,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace formaldehyde_concentration_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t measurement_medium;
|
||||
config() : cluster_revision(3), measurement_medium(0) {}
|
||||
config() : measurement_medium(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -488,9 +400,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace pm1_concentration_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t measurement_medium;
|
||||
config() : cluster_revision(3), measurement_medium(0) {}
|
||||
config() : measurement_medium(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -498,9 +409,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace pm25_concentration_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t measurement_medium;
|
||||
config() : cluster_revision(3), measurement_medium(0) {}
|
||||
config() : measurement_medium(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -508,9 +418,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace pm10_concentration_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t measurement_medium;
|
||||
config() : cluster_revision(3), measurement_medium(0) {}
|
||||
config() : measurement_medium(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -518,9 +427,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace radon_concentration_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t measurement_medium;
|
||||
config() : cluster_revision(3), measurement_medium(0) {}
|
||||
config() : measurement_medium(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -528,9 +436,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace total_volatile_organic_compounds_concentration_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t measurement_medium;
|
||||
config() : cluster_revision(3), measurement_medium(0) {}
|
||||
config() : measurement_medium(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -538,9 +445,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace operational_state {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(2), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -548,10 +454,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace laundry_washer_mode {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t current_mode;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), current_mode(0), delegate(nullptr) {}
|
||||
config() : current_mode(0), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -559,9 +464,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace laundry_washer_controls {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -569,10 +473,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace laundry_dryer_controls {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
nullable<uint8_t> selected_dryness_level;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), selected_dryness_level(0), delegate(nullptr) {}
|
||||
config() : selected_dryness_level(0), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -580,10 +483,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace dish_washer_mode {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t current_mode;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), current_mode(0), delegate(nullptr) {}
|
||||
config() : current_mode(0), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -591,33 +493,27 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace dish_washer_alarm {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* dish_washer_alarm */
|
||||
|
||||
namespace smoke_co_alarm {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* smoke_co_alarm */
|
||||
|
||||
namespace door_lock {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
nullable<uint8_t> lock_state;
|
||||
uint8_t lock_type;
|
||||
bool actuator_enabled;
|
||||
uint8_t operating_mode;
|
||||
uint16_t supported_operating_modes;
|
||||
void *delegate;
|
||||
config() : cluster_revision(7), lock_state(0), lock_type(0), actuator_enabled(0), operating_mode(0), supported_operating_modes(0xFFF6), delegate(nullptr) {}
|
||||
config() : lock_state(0), lock_type(0), actuator_enabled(0), operating_mode(0), supported_operating_modes(0xFFF6), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -625,7 +521,6 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace window_covering {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t type;
|
||||
uint8_t config_status;
|
||||
uint8_t operational_status;
|
||||
@@ -633,7 +528,7 @@ typedef struct config {
|
||||
uint8_t mode;
|
||||
feature::lift::config_t lift;
|
||||
void *delegate;
|
||||
config(uint8_t end_product_type = 0) : cluster_revision(5), type(0), config_status(0), operational_status(0), end_product_type(end_product_type), mode(0), delegate(nullptr) {}
|
||||
config(uint8_t end_product_type = 0) : type(0), config_status(0), operational_status(0), end_product_type(end_product_type), mode(0), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -641,10 +536,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace switch_cluster {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t number_of_positions;
|
||||
uint8_t current_position;
|
||||
config() : cluster_revision(1), number_of_positions(2), current_position(0) {}
|
||||
config() : number_of_positions(2), current_position(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -652,11 +546,10 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace temperature_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
nullable<int16_t> measured_value;
|
||||
nullable<int16_t> min_measured_value;
|
||||
nullable<int16_t> max_measured_value;
|
||||
config() : cluster_revision(4), measured_value(), min_measured_value(), max_measured_value() {}
|
||||
config() : measured_value(), min_measured_value(), max_measured_value() {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -664,11 +557,10 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace relative_humidity_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
nullable<uint16_t> measured_value;
|
||||
nullable<uint16_t> min_measured_value;
|
||||
nullable<uint16_t> max_measured_value;
|
||||
config() : cluster_revision(3), measured_value(), min_measured_value(), max_measured_value() {}
|
||||
config() : measured_value(), min_measured_value(), max_measured_value() {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -676,11 +568,10 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace occupancy_sensing {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t occupancy;
|
||||
uint8_t occupancy_sensor_type;
|
||||
uint8_t occupancy_sensor_type_bitmap;
|
||||
config() : cluster_revision(4), occupancy(0), occupancy_sensor_type(0),
|
||||
config() : occupancy(0), occupancy_sensor_type(0),
|
||||
occupancy_sensor_type_bitmap(0) {}
|
||||
} config_t;
|
||||
|
||||
@@ -689,9 +580,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace boolean_state {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
bool state_value;
|
||||
config() : cluster_revision(1), state_value(0) {}
|
||||
config() : state_value(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -699,13 +589,12 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace boolean_state_configuration {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
feature::visual::config_t visual;
|
||||
feature::audible::config_t audible;
|
||||
feature::alarm_suppress::config_t alarm_suppress;
|
||||
feature::sensitivity_level::config_t sensitivity_level;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -713,9 +602,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace localization_configuration {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
char active_locale[k_max_active_locale_length + 1];
|
||||
config() : cluster_revision(4), active_locale{0} {}
|
||||
config() : active_locale{0} {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -723,10 +611,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace time_format_localization {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t hour_format;
|
||||
feature::calendar_format::config_t calendar_format;
|
||||
config() : cluster_revision(4), hour_format(0) {}
|
||||
config() : hour_format(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -734,11 +621,10 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace illuminance_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
nullable<uint16_t> illuminance_measured_value;
|
||||
nullable<uint16_t> illuminance_min_measured_value;
|
||||
nullable<uint16_t> illuminance_max_measured_value;
|
||||
config() : cluster_revision(3), illuminance_measured_value(0), illuminance_min_measured_value(), illuminance_max_measured_value() {}
|
||||
config() : illuminance_measured_value(0), illuminance_min_measured_value(), illuminance_max_measured_value() {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -746,11 +632,10 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace pressure_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
nullable<int16_t> pressure_measured_value;
|
||||
nullable<int16_t> pressure_min_measured_value;
|
||||
nullable<int16_t> pressure_max_measured_value;
|
||||
config() : cluster_revision(3), pressure_measured_value(), pressure_min_measured_value(), pressure_max_measured_value() {}
|
||||
config() : pressure_measured_value(), pressure_min_measured_value(), pressure_max_measured_value() {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -758,11 +643,10 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace flow_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
nullable<uint16_t> flow_measured_value;
|
||||
nullable<uint16_t> flow_min_measured_value;
|
||||
nullable<uint16_t> flow_max_measured_value;
|
||||
config() : cluster_revision(3), flow_measured_value(), flow_min_measured_value(), flow_max_measured_value() {}
|
||||
config() : flow_measured_value(), flow_min_measured_value(), flow_max_measured_value() {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -770,7 +654,6 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace pump_configuration_and_control {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
// Pump Information Attributes
|
||||
const nullable<int16_t> max_pressure;
|
||||
const nullable<uint16_t> max_speed;
|
||||
@@ -785,7 +668,7 @@ typedef struct config {
|
||||
nullable<int16_t> max_pressure = nullable<int16_t>(),
|
||||
nullable<uint16_t> max_speed = nullable<uint16_t>(),
|
||||
nullable<uint16_t> max_flow = nullable<uint16_t>()
|
||||
) : cluster_revision(3), max_pressure(max_pressure), max_speed(max_speed), max_flow(max_flow),
|
||||
) : max_pressure(max_pressure), max_speed(max_speed), max_flow(max_flow),
|
||||
effective_operation_mode(0), effective_control_mode(0), capacity(), operation_mode(0) {}
|
||||
} config_t;
|
||||
|
||||
@@ -794,12 +677,11 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace mode_select {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
char mode_select_description[k_max_mode_select_description_length + 1];
|
||||
const nullable<uint16_t> standard_namespace;
|
||||
uint8_t current_mode;
|
||||
feature::on_off::config_t on_off;
|
||||
config() : cluster_revision(2), mode_select_description{0}, standard_namespace(), current_mode(0) {}
|
||||
config() : mode_select_description{0}, standard_namespace(), current_mode(0) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -807,11 +689,10 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace temperature_control {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
feature::temperature_number::config_t temperature_number;
|
||||
feature::temperature_level::config_t temperature_level;
|
||||
feature::temperature_step::config_t temperature_step;
|
||||
config() : cluster_revision(1) {}
|
||||
// Empty config for API consistency
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -819,11 +700,10 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace refrigerator_alarm {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint32_t mask;
|
||||
uint32_t state;
|
||||
uint32_t supported;
|
||||
config() : cluster_revision(1), mask(1), state(0), supported(1) {}
|
||||
config() : mask(1), state(0), supported(1) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -831,10 +711,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace refrigerator_and_tcc_mode {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t current_mode;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), current_mode(0), delegate(nullptr) {}
|
||||
config() : current_mode(0), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -842,10 +721,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace rvc_run_mode {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t current_mode;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), current_mode(0), delegate(nullptr) {}
|
||||
config() : current_mode(0), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -853,10 +731,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace rvc_clean_mode {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t current_mode;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), current_mode(0), delegate(nullptr) {}
|
||||
config() : current_mode(0), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -864,10 +741,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace microwave_oven_mode {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t current_mode;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), current_mode(0), delegate(nullptr) {}
|
||||
config() : current_mode(0), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -875,28 +751,22 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace microwave_oven_control {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
} /* microwave_oven_control */
|
||||
|
||||
namespace rvc_operational_state {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
config() : cluster_revision(1) {}
|
||||
} config_t;
|
||||
|
||||
using config_t = common::config_t;
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
} /* rvc_operational_state */
|
||||
|
||||
namespace keypad_input {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -904,9 +774,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace power_topology {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -914,9 +783,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace electrical_power_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -924,9 +792,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace electrical_energy_measurement {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -934,10 +801,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace energy_evse_mode {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t current_mode;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), current_mode(0), delegate(nullptr) {}
|
||||
config() : current_mode(0), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -945,9 +811,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace energy_evse {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -955,7 +820,6 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace valve_configuration_and_control {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
nullable<uint32_t> open_duration;
|
||||
nullable<uint32_t> default_open_duration;
|
||||
nullable<uint8_t> current_state;
|
||||
@@ -963,7 +827,7 @@ typedef struct config {
|
||||
feature::time_sync::config_t time_sync;
|
||||
feature::level::config_t level;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), open_duration(), default_open_duration(), current_state(), target_state(), delegate(nullptr) {}
|
||||
config() : open_duration(), default_open_duration(), current_state(), target_state(), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -971,9 +835,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace device_energy_management {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(4), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_t features);
|
||||
@@ -981,10 +844,9 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags, uint32_
|
||||
|
||||
namespace device_energy_management_mode {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
uint8_t current_mode;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), current_mode(0), delegate(nullptr) {}
|
||||
config() : current_mode(0), delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
@@ -992,9 +854,8 @@ cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
namespace application_basic {
|
||||
typedef struct config {
|
||||
uint16_t cluster_revision;
|
||||
void *delegate;
|
||||
config() : cluster_revision(1), delegate(nullptr) {}
|
||||
config() : delegate(nullptr) {}
|
||||
} config_t;
|
||||
|
||||
cluster_t *create(endpoint_t *endpoint, config_t *config, uint8_t flags);
|
||||
|
||||
@@ -0,0 +1,372 @@
|
||||
// Copyright 2024 Espressif Systems (Shanghai) PTE LTD
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
namespace esp_matter {
|
||||
namespace cluster {
|
||||
|
||||
namespace descriptor {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace descriptor
|
||||
|
||||
namespace actions {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace actions
|
||||
|
||||
namespace access_control {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace access_control
|
||||
|
||||
namespace basic_information {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace basic_information
|
||||
|
||||
namespace binding {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace binding
|
||||
|
||||
namespace ota_provider {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace ota_provider
|
||||
|
||||
namespace ota_requestor {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace ota_requestor
|
||||
|
||||
namespace general_commissioning {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace general_commissioning
|
||||
|
||||
namespace network_commissioning {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace network_commissioning
|
||||
|
||||
namespace diagnostic_logs {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace diagnostic_logs
|
||||
|
||||
namespace general_diagnostics {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace general_diagnostics
|
||||
|
||||
namespace software_diagnostics {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace software_diagnostics
|
||||
|
||||
namespace administrator_commissioning {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace administrator_commissioning
|
||||
|
||||
namespace operational_credentials {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace operational_credentials
|
||||
|
||||
namespace group_key_management {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace group_key_management
|
||||
|
||||
namespace wifi_network_diagnotics {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace wifi_network_diagnotics
|
||||
|
||||
namespace thread_network_diagnostics {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace thread_network_diagnostics
|
||||
|
||||
namespace ethernet_network_diagnostics {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace ethernet_network_diagnostics
|
||||
|
||||
namespace time_synchronization {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace time_synchronization
|
||||
|
||||
namespace unit_localization {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace unit_localization
|
||||
|
||||
namespace bridged_device_basic_information {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace bridged_device_basic_information
|
||||
|
||||
namespace power_source {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace power_source
|
||||
|
||||
namespace icd_management {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace icd_management
|
||||
|
||||
namespace user_label {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace user_label
|
||||
|
||||
namespace fixed_label {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace fixed_label
|
||||
|
||||
namespace identify {
|
||||
constexpr uint16_t cluster_revision = 4;
|
||||
} // namespace identify
|
||||
|
||||
namespace groups {
|
||||
constexpr uint16_t cluster_revision = 4;
|
||||
} // namespace groups
|
||||
|
||||
namespace scenes_management {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace scenes_management
|
||||
|
||||
namespace on_off {
|
||||
constexpr uint16_t cluster_revision = 6;
|
||||
} // namespace on_off
|
||||
|
||||
namespace level_control {
|
||||
constexpr uint16_t cluster_revision = 5;
|
||||
} // namespace level_control
|
||||
|
||||
namespace color_control {
|
||||
constexpr uint16_t cluster_revision = 6;
|
||||
} // namespace color_control
|
||||
|
||||
namespace fan_control {
|
||||
constexpr uint16_t cluster_revision = 4;
|
||||
} // namespace fan_control
|
||||
|
||||
namespace thermostat {
|
||||
constexpr uint16_t cluster_revision = 6;
|
||||
} // namespace thermostat
|
||||
|
||||
namespace thermostat_user_interface_configuration {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace thermostat_user_interface_configuration
|
||||
|
||||
namespace air_quality {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace air_quality
|
||||
|
||||
namespace hepa_filter_monitoring {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace hepa_filter_monitoring
|
||||
|
||||
namespace activated_carbon_filter_monitoring {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace activated_carbon_filter_monitoring
|
||||
|
||||
namespace carbon_monoxide_concentration_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace carbon_monoxide_concentration_measurement
|
||||
|
||||
namespace carbon_dioxide_concentration_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace carbon_dioxide_concentration_measurement
|
||||
|
||||
namespace nitrogen_dioxide_concentration_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace nitrogen_dioxide_concentration_measurement
|
||||
|
||||
namespace ozone_concentration_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace ozone_concentration_measurement
|
||||
|
||||
namespace formaldehyde_concentration_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace formaldehyde_concentration_measurement
|
||||
|
||||
namespace pm1_concentration_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace pm1_concentration_measurement
|
||||
|
||||
namespace pm25_concentration_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace pm25_concentration_measurement
|
||||
|
||||
namespace pm10_concentration_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace pm10_concentration_measurement
|
||||
|
||||
namespace radon_concentration_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace radon_concentration_measurement
|
||||
|
||||
namespace total_volatile_organic_compounds_concentration_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace total_volatile_organic_compounds_concentration_measurement
|
||||
|
||||
namespace operational_state {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace operational_state
|
||||
|
||||
namespace laundry_washer_mode {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace laundry_washer_mode
|
||||
|
||||
namespace laundry_washer_controls {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace laundry_washer_controls
|
||||
|
||||
namespace laundry_dryer_controls {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace laundry_dryer_controls
|
||||
|
||||
namespace dish_washer_mode {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace dish_washer_mode
|
||||
|
||||
namespace dish_washer_alarm {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace dish_washer_alarm
|
||||
|
||||
namespace smoke_co_alarm {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace smoke_co_alarm
|
||||
|
||||
namespace door_lock {
|
||||
constexpr uint16_t cluster_revision = 7;
|
||||
} // namespace door_lock
|
||||
|
||||
namespace window_covering {
|
||||
constexpr uint16_t cluster_revision = 5;
|
||||
} // namespace window_covering
|
||||
|
||||
namespace switch_cluster {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace switch_cluster
|
||||
|
||||
namespace temperature_measurement {
|
||||
constexpr uint16_t cluster_revision = 4;
|
||||
} // namespace temperature_measurement
|
||||
|
||||
namespace relative_humidity_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace relative_humidity_measurement
|
||||
|
||||
namespace occupancy_sensing {
|
||||
constexpr uint16_t cluster_revision = 4;
|
||||
} // namespace occupancy_sensing
|
||||
|
||||
namespace boolean_state {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace boolean_state
|
||||
|
||||
namespace boolean_state_configuration {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace boolean_state_configuration
|
||||
|
||||
namespace localization_configuration {
|
||||
constexpr uint16_t cluster_revision = 4;
|
||||
} // namespace localization_configuration
|
||||
|
||||
namespace time_format_localization {
|
||||
constexpr uint16_t cluster_revision = 4;
|
||||
} // namespace time_format_localization
|
||||
|
||||
namespace illuminance_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace illuminance_measurement
|
||||
|
||||
namespace pressure_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace pressure_measurement
|
||||
|
||||
namespace flow_measurement {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace flow_measurement
|
||||
|
||||
namespace pump_configuration_and_control {
|
||||
constexpr uint16_t cluster_revision = 3;
|
||||
} // namespace pump_configuration_and_control
|
||||
|
||||
namespace mode_select {
|
||||
constexpr uint16_t cluster_revision = 2;
|
||||
} // namespace mode_select
|
||||
|
||||
namespace temperature_control {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace temperature_control
|
||||
|
||||
namespace refrigerator_alarm {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace refrigerator_alarm
|
||||
|
||||
namespace refrigerator_and_tcc_mode {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace refrigerator_and_tcc_mode
|
||||
|
||||
namespace rvc_run_mode {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace rvc_run_mode
|
||||
|
||||
namespace rvc_clean_mode {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace rvc_clean_mode
|
||||
|
||||
namespace microwave_oven_mode {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace microwave_oven_mode
|
||||
|
||||
namespace microwave_oven_control {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace microwave_oven_control
|
||||
|
||||
namespace rvc_operational_state {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace rvc_operational_state
|
||||
|
||||
namespace keypad_input {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace keypad_input
|
||||
|
||||
namespace power_topology {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace power_topology
|
||||
|
||||
namespace electrical_power_measurement {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace electrical_power_measurement
|
||||
|
||||
namespace electrical_energy_measurement {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace electrical_energy_measurement
|
||||
|
||||
namespace energy_evse_mode {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace energy_evse_mode
|
||||
|
||||
namespace energy_evse {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace energy_evse
|
||||
|
||||
namespace valve_configuration_and_control {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace valve_configuration_and_control
|
||||
|
||||
namespace device_energy_management {
|
||||
constexpr uint16_t cluster_revision = 4;
|
||||
} // namespace device_energy_management
|
||||
|
||||
namespace device_energy_management_mode {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace device_energy_management_mode
|
||||
|
||||
namespace application_basic {
|
||||
constexpr uint16_t cluster_revision = 1;
|
||||
} // namespace application_basic
|
||||
|
||||
} // namespace cluster
|
||||
} // namespace esp_matter
|
||||
|
||||
Reference in New Issue
Block a user