From 38d4d8adf13b8f4761fea9ccce88b3dc1d549574 Mon Sep 17 00:00:00 2001 From: Nivedita Sarkar Date: Tue, 24 May 2022 13:52:48 -0700 Subject: [PATCH] Add support for thermostat running mode attribute to all clusters app - Add Thermostat running mode to the m5 stack UI as well --- .../all-clusters-app.matter | 4 +- .../all-clusters-common/all-clusters-app.zap | 112 +++++++++--------- .../esp32/main/DeviceWithDisplay.cpp | 63 ++++++++-- .../zap-generated/endpoint_config.h | 73 ++++++------ 4 files changed, 151 insertions(+), 101 deletions(-) diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index c063ae3315e437..a093cbe074ee2f 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -3400,6 +3400,7 @@ server cluster Thermostat = 513 { attribute access(write: manage) int8s minSetpointDeadBand = 25; attribute access(write: manage) ThermostatControlSequence controlSequenceOfOperation = 27; attribute access(write: manage) enum8 systemMode = 28; + readonly attribute enum8 thermostatRunningMode = 30; readonly attribute enum8 startOfWeek = 32; readonly attribute int8u numberOfWeeklyTransitions = 33; readonly attribute int8u numberOfDailyTransitions = 34; @@ -4398,10 +4399,11 @@ endpoint 1 { ram attribute minSetpointDeadBand default = 0x19; ram attribute controlSequenceOfOperation default = 0x04; ram attribute systemMode default = 0x01; + ram attribute thermostatRunningMode; ram attribute startOfWeek; ram attribute numberOfWeeklyTransitions default = 7; ram attribute numberOfDailyTransitions default = 4; - ram attribute featureMap default = 0x000b; + ram attribute featureMap default = 0x0023; ram attribute clusterRevision default = 5; } diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap index 35d696265aebbe..00c352acffac6c 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap @@ -483,7 +483,7 @@ ], "attributes": [ { - "name": "scene count", + "name": "SceneCount", "code": 0, "mfgCode": null, "side": "server", @@ -499,7 +499,7 @@ "reportableChange": 0 }, { - "name": "current scene", + "name": "CurrentScene", "code": 1, "mfgCode": null, "side": "server", @@ -515,11 +515,11 @@ "reportableChange": 0 }, { - "name": "current group", + "name": "CurrentGroup", "code": 2, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "group_id", "included": 1, "storageOption": "RAM", "singleton": 0, @@ -531,7 +531,7 @@ "reportableChange": 0 }, { - "name": "scene valid", + "name": "SceneValid", "code": 3, "mfgCode": null, "side": "server", @@ -547,7 +547,7 @@ "reportableChange": 0 }, { - "name": "name support", + "name": "NameSupport", "code": 4, "mfgCode": null, "side": "server", @@ -9257,7 +9257,7 @@ ], "attributes": [ { - "name": "scene count", + "name": "SceneCount", "code": 0, "mfgCode": null, "side": "server", @@ -9273,7 +9273,7 @@ "reportableChange": 0 }, { - "name": "current scene", + "name": "CurrentScene", "code": 1, "mfgCode": null, "side": "server", @@ -9289,11 +9289,11 @@ "reportableChange": 0 }, { - "name": "current group", + "name": "CurrentGroup", "code": 2, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "group_id", "included": 1, "storageOption": "RAM", "singleton": 0, @@ -9305,7 +9305,7 @@ "reportableChange": 0 }, { - "name": "scene valid", + "name": "SceneValid", "code": 3, "mfgCode": null, "side": "server", @@ -9321,7 +9321,7 @@ "reportableChange": 0 }, { - "name": "name support", + "name": "NameSupport", "code": 4, "mfgCode": null, "side": "server", @@ -14635,7 +14635,7 @@ "code": 16, "mfgCode": null, "side": "server", - "type": "bitmap16", + "type": "PumpStatus", "included": 1, "storageOption": "RAM", "singleton": 0, @@ -14790,22 +14790,6 @@ "maxInterval": 65534, "reportableChange": 0 }, - { - "name": "AlarmMask", - "code": 34, - "mfgCode": null, - "side": "server", - "type": "bitmap16", - "included": 1, - "storageOption": "RAM", - "singleton": 0, - "bounded": 0, - "defaultValue": "", - "reportable": 1, - "minInterval": 1, - "maxInterval": 65534, - "reportableChange": 0 - }, { "name": "FeatureMap", "code": 65532, @@ -14935,7 +14919,7 @@ ], "attributes": [ { - "name": "local temperature", + "name": "LocalTemperature", "code": 0, "mfgCode": null, "side": "server", @@ -14951,7 +14935,7 @@ "reportableChange": 0 }, { - "name": "abs min heat setpoint limit", + "name": "AbsMinHeatSetpointLimit", "code": 3, "mfgCode": null, "side": "server", @@ -14967,7 +14951,7 @@ "reportableChange": 0 }, { - "name": "abs max heat setpoint limit", + "name": "AbsMaxHeatSetpointLimit", "code": 4, "mfgCode": null, "side": "server", @@ -14983,7 +14967,7 @@ "reportableChange": 0 }, { - "name": "abs min cool setpoint limit", + "name": "AbsMinCoolSetpointLimit", "code": 5, "mfgCode": null, "side": "server", @@ -14999,7 +14983,7 @@ "reportableChange": 0 }, { - "name": "abs max cool setpoint limit", + "name": "AbsMaxCoolSetpointLimit", "code": 6, "mfgCode": null, "side": "server", @@ -15015,7 +14999,7 @@ "reportableChange": 0 }, { - "name": "pi cooling demand", + "name": "PICoolingDemand", "code": 7, "mfgCode": null, "side": "server", @@ -15031,7 +15015,7 @@ "reportableChange": 0 }, { - "name": "pi heating demand", + "name": "PIHeatingDemand", "code": 8, "mfgCode": null, "side": "server", @@ -15047,7 +15031,7 @@ "reportableChange": 0 }, { - "name": "occupied cooling setpoint", + "name": "OccupiedCoolingSetpoint", "code": 17, "mfgCode": null, "side": "server", @@ -15063,7 +15047,7 @@ "reportableChange": 0 }, { - "name": "occupied heating setpoint", + "name": "OccupiedHeatingSetpoint", "code": 18, "mfgCode": null, "side": "server", @@ -15079,7 +15063,7 @@ "reportableChange": 0 }, { - "name": "min heat setpoint limit", + "name": "MinHeatSetpointLimit", "code": 21, "mfgCode": null, "side": "server", @@ -15095,7 +15079,7 @@ "reportableChange": 0 }, { - "name": "max heat setpoint limit", + "name": "MaxHeatSetpointLimit", "code": 22, "mfgCode": null, "side": "server", @@ -15111,7 +15095,7 @@ "reportableChange": 0 }, { - "name": "min cool setpoint limit", + "name": "MinCoolSetpointLimit", "code": 23, "mfgCode": null, "side": "server", @@ -15127,7 +15111,7 @@ "reportableChange": 0 }, { - "name": "max cool setpoint limit", + "name": "MaxCoolSetpointLimit", "code": 24, "mfgCode": null, "side": "server", @@ -15143,7 +15127,7 @@ "reportableChange": 0 }, { - "name": "min setpoint dead band", + "name": "MinSetpointDeadBand", "code": 25, "mfgCode": null, "side": "server", @@ -15159,7 +15143,7 @@ "reportableChange": 0 }, { - "name": "control sequence of operation", + "name": "ControlSequenceOfOperation", "code": 27, "mfgCode": null, "side": "server", @@ -15175,7 +15159,7 @@ "reportableChange": 0 }, { - "name": "system mode", + "name": "SystemMode", "code": 28, "mfgCode": null, "side": "server", @@ -15191,7 +15175,23 @@ "reportableChange": 0 }, { - "name": "start of week", + "name": "ThermostatRunningMode", + "code": 30, + "mfgCode": null, + "side": "server", + "type": "enum8", + "included": 1, + "storageOption": "RAM", + "singleton": 0, + "bounded": 0, + "defaultValue": "0x00", + "reportable": 1, + "minInterval": 1, + "maxInterval": 65534, + "reportableChange": 0 + }, + { + "name": "StartOfWeek", "code": 32, "mfgCode": null, "side": "server", @@ -15207,7 +15207,7 @@ "reportableChange": 0 }, { - "name": "number of weekly transitions", + "name": "NumberOfWeeklyTransitions", "code": 33, "mfgCode": null, "side": "server", @@ -15223,7 +15223,7 @@ "reportableChange": 0 }, { - "name": "number of daily transitions", + "name": "NumberOfDailyTransitions", "code": 34, "mfgCode": null, "side": "server", @@ -15239,7 +15239,7 @@ "reportableChange": 0 }, { - "name": "temperature setpoint hold", + "name": "TemperatureSetpointHold", "code": 35, "mfgCode": null, "side": "server", @@ -15264,7 +15264,7 @@ "storageOption": "RAM", "singleton": 0, "bounded": 0, - "defaultValue": "0x000b", + "defaultValue": "0x0023", "reportable": 1, "minInterval": 0, "maxInterval": 65344, @@ -21613,7 +21613,7 @@ ], "attributes": [ { - "name": "scene count", + "name": "SceneCount", "code": 0, "mfgCode": null, "side": "server", @@ -21629,7 +21629,7 @@ "reportableChange": 0 }, { - "name": "current scene", + "name": "CurrentScene", "code": 1, "mfgCode": null, "side": "server", @@ -21645,11 +21645,11 @@ "reportableChange": 0 }, { - "name": "current group", + "name": "CurrentGroup", "code": 2, "mfgCode": null, "side": "server", - "type": "int16u", + "type": "group_id", "included": 1, "storageOption": "RAM", "singleton": 0, @@ -21661,7 +21661,7 @@ "reportableChange": 0 }, { - "name": "scene valid", + "name": "SceneValid", "code": 3, "mfgCode": null, "side": "server", @@ -21677,7 +21677,7 @@ "reportableChange": 0 }, { - "name": "name support", + "name": "NameSupport", "code": 4, "mfgCode": null, "side": "server", diff --git a/examples/all-clusters-app/esp32/main/DeviceWithDisplay.cpp b/examples/all-clusters-app/esp32/main/DeviceWithDisplay.cpp index 987a095134b16d..c2a69afcdcae90 100644 --- a/examples/all-clusters-app/esp32/main/DeviceWithDisplay.cpp +++ b/examples/all-clusters-app/esp32/main/DeviceWithDisplay.cpp @@ -182,20 +182,65 @@ class EditAttributeListModel : public TouchesMatterStackModel ESP_LOGI(TAG, "Humidity changed to : %d", n); app::Clusters::RelativeHumidityMeasurement::Attributes::MeasuredValue::Set(1, static_cast(n * 100)); } - else if (name == "OccupiedCoolingSetpoint") + else if (name == "CoolSetpoint") { - ESP_LOGI(TAG, "OccupiedCoolingSetpoint changed to : %d", n); + // update the occupied cooling setpoint for hardcoded endpoint 1 + ESP_LOGI(TAG, "Occupied Cooling Setpoint changed to : %d", n); app::Clusters::Thermostat::Attributes::OccupiedCoolingSetpoint::Set(1, static_cast(n * 100)); } - else if (name == "OccupiedHeatingSetpoint") + else if (name == "HeatSetpoint") { - ESP_LOGI(TAG, "OccupiedHeatingSetpoint changed to : %d", n); + // update the occupied heating setpoint for hardcoded endpoint 1 + ESP_LOGI(TAG, "Occupied Heating Setpoint changed to : %d", n); app::Clusters::Thermostat::Attributes::OccupiedHeatingSetpoint::Set(1, static_cast(n * 100)); } else if (name == "SystemMode") { - ESP_LOGI(TAG, "SystemMode changed to : %d", n); - app::Clusters::Thermostat::Attributes::OccupiedHeatingSetpoint::Set(1, n); + uint8_t mode = n % 5; + // Update the system mode here for hardcoded endpoint 1 + ESP_LOGI(TAG, "System Mode changed to : %d", mode); + if (mode == 2) + { + ESP_LOGI(TAG, "System Mode 2 is not valid"); + } + else + { + app::Clusters::Thermostat::Attributes::SystemMode::Set(1, static_cast(mode)); + // If system mode is auto set running mode to off otherwise set it to what the system mode is set to + if (mode == 1) + { + app::Clusters::Thermostat::Attributes::ThermostatRunningMode::Set(1, static_cast(0)); + } + else + { + app::Clusters::Thermostat::Attributes::ThermostatRunningMode::Set(1, static_cast(mode)); + } + } + } + else if (name == "RunningMode") + { + // Get the system mode + uint8_t systemMode = 2; + app::Clusters::Thermostat::Attributes::SystemMode::Get(1, static_cast(&systemMode)); + if (systemMode != 1) + { + ESP_LOGI(TAG, "Running mode can be changed only for system mode auto. Current system mode %d", systemMode); + } + else + { + uint8_t mode = n % 5; + // update the running mode here for hardcoded endpoint 1 + ESP_LOGI(TAG, "ThermostatRunningMode Mode changed to : %d", mode); + if (mode == 1 || mode == 2) + { + ESP_LOGI(TAG, "System Mode %d is not valid", mode); + } + else + { + ESP_LOGI(TAG, "Thermostat Running Mode changed to : %d", mode); + app::Clusters::Thermostat::Attributes::ThermostatRunningMode::Set(1, static_cast(mode)); + } + } } else if (name == "Current Lift") { @@ -544,10 +589,12 @@ void SetupPretendDevices() app::Clusters::Thermostat::Attributes::LocalTemperature::Set(1, static_cast(21 * 100)); AddAttribute("SystemMode", "4"); app::Clusters::Thermostat::Attributes::SystemMode::Set(1, 4); - AddAttribute("OccupiedCoolingSetpoint", "19"); + AddAttribute("CoolSetpoint", "19"); app::Clusters::Thermostat::Attributes::OccupiedCoolingSetpoint::Set(1, static_cast(19 * 100)); - AddAttribute("OccupiedHeatingSetpoint", "25"); + AddAttribute("HeatSetpoint", "25"); app::Clusters::Thermostat::Attributes::OccupiedHeatingSetpoint::Set(1, static_cast(25 * 100)); + AddAttribute("RunningMode", "4"); + app::Clusters::Thermostat::Attributes::ThermostatRunningMode::Set(1, 4); AddDevice("Humidity Sensor"); AddEndpoint("External"); diff --git a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h index 65c11ea90221e2..76d370fb8b44eb 100644 --- a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h +++ b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h @@ -416,7 +416,7 @@ #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask // This is an array of EmberAfAttributeMetadata structures. -#define GENERATED_ATTRIBUTE_COUNT 719 +#define GENERATED_ATTRIBUTE_COUNT 720 #define GENERATED_ATTRIBUTES \ { \ \ @@ -1050,10 +1050,11 @@ ZAP_MIN_MAX_DEFAULTS_INDEX(19) }, /* ControlSequenceOfOperation */ \ { 0x0000001C, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE), \ ZAP_MIN_MAX_DEFAULTS_INDEX(20) }, /* SystemMode */ \ + { 0x0000001E, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* ThermostatRunningMode */ \ { 0x00000020, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* StartOfWeek */ \ { 0x00000021, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(7) }, /* NumberOfWeeklyTransitions */ \ { 0x00000022, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(4) }, /* NumberOfDailyTransitions */ \ - { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0x000b) }, /* FeatureMap */ \ + { 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0x0023) }, /* FeatureMap */ \ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(5) }, /* ClusterRevision */ \ \ /* Endpoint: 1, Cluster: Fan Control (server) */ \ @@ -2484,8 +2485,8 @@ /* Endpoint: 1, Cluster: Thermostat (server) */ \ .clusterId = 0x00000201, \ .attributes = ZAP_ATTRIBUTE_INDEX(404), \ - .attributeCount = 19, \ - .clusterSize = 34, \ + .attributeCount = 20, \ + .clusterSize = 35, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ .functions = chipFuncArrayThermostatServer, \ .acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 161 ) ,\ @@ -2494,7 +2495,7 @@ { \ /* Endpoint: 1, Cluster: Fan Control (server) */ \ .clusterId = 0x00000202, \ - .attributes = ZAP_ATTRIBUTE_INDEX(423), \ + .attributes = ZAP_ATTRIBUTE_INDEX(424), \ .attributeCount = 13, \ .clusterSize = 17, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ @@ -2505,7 +2506,7 @@ { \ /* Endpoint: 1, Cluster: Thermostat User Interface Configuration (server) */ \ .clusterId = 0x00000204, \ - .attributes = ZAP_ATTRIBUTE_INDEX(436), \ + .attributes = ZAP_ATTRIBUTE_INDEX(437), \ .attributeCount = 5, \ .clusterSize = 9, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \ @@ -2516,7 +2517,7 @@ { \ /* Endpoint: 1, Cluster: Color Control (server) */ \ .clusterId = 0x00000300, \ - .attributes = ZAP_ATTRIBUTE_INDEX(441), \ + .attributes = ZAP_ATTRIBUTE_INDEX(442), \ .attributeCount = 54, \ .clusterSize = 345, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2527,7 +2528,7 @@ { \ /* Endpoint: 1, Cluster: Illuminance Measurement (server) */ \ .clusterId = 0x00000400, \ - .attributes = ZAP_ATTRIBUTE_INDEX(495), \ + .attributes = ZAP_ATTRIBUTE_INDEX(496), \ .attributeCount = 7, \ .clusterSize = 15, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2538,7 +2539,7 @@ { \ /* Endpoint: 1, Cluster: Temperature Measurement (server) */ \ .clusterId = 0x00000402, \ - .attributes = ZAP_ATTRIBUTE_INDEX(502), \ + .attributes = ZAP_ATTRIBUTE_INDEX(503), \ .attributeCount = 6, \ .clusterSize = 14, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2549,7 +2550,7 @@ { \ /* Endpoint: 1, Cluster: Pressure Measurement (server) */ \ .clusterId = 0x00000403, \ - .attributes = ZAP_ATTRIBUTE_INDEX(508), \ + .attributes = ZAP_ATTRIBUTE_INDEX(509), \ .attributeCount = 5, \ .clusterSize = 12, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2560,7 +2561,7 @@ { \ /* Endpoint: 1, Cluster: Flow Measurement (server) */ \ .clusterId = 0x00000404, \ - .attributes = ZAP_ATTRIBUTE_INDEX(513), \ + .attributes = ZAP_ATTRIBUTE_INDEX(514), \ .attributeCount = 6, \ .clusterSize = 14, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2571,7 +2572,7 @@ { \ /* Endpoint: 1, Cluster: Relative Humidity Measurement (server) */ \ .clusterId = 0x00000405, \ - .attributes = ZAP_ATTRIBUTE_INDEX(519), \ + .attributes = ZAP_ATTRIBUTE_INDEX(520), \ .attributeCount = 6, \ .clusterSize = 14, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2582,7 +2583,7 @@ { \ /* Endpoint: 1, Cluster: Occupancy Sensing (server) */ \ .clusterId = 0x00000406, \ - .attributes = ZAP_ATTRIBUTE_INDEX(525), \ + .attributes = ZAP_ATTRIBUTE_INDEX(526), \ .attributeCount = 5, \ .clusterSize = 9, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2593,7 +2594,7 @@ { \ /* Endpoint: 1, Cluster: IAS Zone (server) */ \ .clusterId = 0x00000500, \ - .attributes = ZAP_ATTRIBUTE_INDEX(530), \ + .attributes = ZAP_ATTRIBUTE_INDEX(531), \ .attributeCount = 7, \ .clusterSize = 20, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \ @@ -2604,7 +2605,7 @@ { \ /* Endpoint: 1, Cluster: Wake on LAN (server) */ \ .clusterId = 0x00000503, \ - .attributes = ZAP_ATTRIBUTE_INDEX(537), \ + .attributes = ZAP_ATTRIBUTE_INDEX(538), \ .attributeCount = 3, \ .clusterSize = 39, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2615,7 +2616,7 @@ { \ /* Endpoint: 1, Cluster: Channel (server) */ \ .clusterId = 0x00000504, \ - .attributes = ZAP_ATTRIBUTE_INDEX(540), \ + .attributes = ZAP_ATTRIBUTE_INDEX(541), \ .attributeCount = 3, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2626,7 +2627,7 @@ { \ /* Endpoint: 1, Cluster: Target Navigator (server) */ \ .clusterId = 0x00000505, \ - .attributes = ZAP_ATTRIBUTE_INDEX(543), \ + .attributes = ZAP_ATTRIBUTE_INDEX(544), \ .attributeCount = 4, \ .clusterSize = 7, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2637,7 +2638,7 @@ { \ /* Endpoint: 1, Cluster: Media Playback (server) */ \ .clusterId = 0x00000506, \ - .attributes = ZAP_ATTRIBUTE_INDEX(547), \ + .attributes = ZAP_ATTRIBUTE_INDEX(548), \ .attributeCount = 8, \ .clusterSize = 43, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2648,7 +2649,7 @@ { \ /* Endpoint: 1, Cluster: Media Input (server) */ \ .clusterId = 0x00000507, \ - .attributes = ZAP_ATTRIBUTE_INDEX(555), \ + .attributes = ZAP_ATTRIBUTE_INDEX(556), \ .attributeCount = 4, \ .clusterSize = 7, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2659,7 +2660,7 @@ { \ /* Endpoint: 1, Cluster: Low Power (server) */ \ .clusterId = 0x00000508, \ - .attributes = ZAP_ATTRIBUTE_INDEX(559), \ + .attributes = ZAP_ATTRIBUTE_INDEX(560), \ .attributeCount = 2, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2670,7 +2671,7 @@ { \ /* Endpoint: 1, Cluster: Keypad Input (server) */ \ .clusterId = 0x00000509, \ - .attributes = ZAP_ATTRIBUTE_INDEX(561), \ + .attributes = ZAP_ATTRIBUTE_INDEX(562), \ .attributeCount = 2, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2681,7 +2682,7 @@ { \ /* Endpoint: 1, Cluster: Content Launcher (server) */ \ .clusterId = 0x0000050A, \ - .attributes = ZAP_ATTRIBUTE_INDEX(563), \ + .attributes = ZAP_ATTRIBUTE_INDEX(564), \ .attributeCount = 4, \ .clusterSize = 10, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2692,7 +2693,7 @@ { \ /* Endpoint: 1, Cluster: Audio Output (server) */ \ .clusterId = 0x0000050B, \ - .attributes = ZAP_ATTRIBUTE_INDEX(567), \ + .attributes = ZAP_ATTRIBUTE_INDEX(568), \ .attributeCount = 4, \ .clusterSize = 7, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2703,7 +2704,7 @@ { \ /* Endpoint: 1, Cluster: Application Launcher (server) */ \ .clusterId = 0x0000050C, \ - .attributes = ZAP_ATTRIBUTE_INDEX(571), \ + .attributes = ZAP_ATTRIBUTE_INDEX(572), \ .attributeCount = 3, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2714,7 +2715,7 @@ { \ /* Endpoint: 1, Cluster: Application Basic (server) */ \ .clusterId = 0x0000050D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(574), \ + .attributes = ZAP_ATTRIBUTE_INDEX(575), \ .attributeCount = 9, \ .clusterSize = 110, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2725,7 +2726,7 @@ { \ /* Endpoint: 1, Cluster: Account Login (server) */ \ .clusterId = 0x0000050E, \ - .attributes = ZAP_ATTRIBUTE_INDEX(583), \ + .attributes = ZAP_ATTRIBUTE_INDEX(584), \ .attributeCount = 2, \ .clusterSize = 6, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2736,7 +2737,7 @@ { \ /* Endpoint: 1, Cluster: Test Cluster (server) */ \ .clusterId = 0x0000050F, \ - .attributes = ZAP_ATTRIBUTE_INDEX(585), \ + .attributes = ZAP_ATTRIBUTE_INDEX(586), \ .attributeCount = 82, \ .clusterSize = 2289, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2747,7 +2748,7 @@ { \ /* Endpoint: 1, Cluster: Electrical Measurement (server) */ \ .clusterId = 0x00000B04, \ - .attributes = ZAP_ATTRIBUTE_INDEX(667), \ + .attributes = ZAP_ATTRIBUTE_INDEX(668), \ .attributeCount = 13, \ .clusterSize = 32, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2758,7 +2759,7 @@ { \ /* Endpoint: 2, Cluster: Groups (server) */ \ .clusterId = 0x00000004, \ - .attributes = ZAP_ATTRIBUTE_INDEX(680), \ + .attributes = ZAP_ATTRIBUTE_INDEX(681), \ .attributeCount = 3, \ .clusterSize = 7, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2769,7 +2770,7 @@ { \ /* Endpoint: 2, Cluster: On/Off (server) */ \ .clusterId = 0x00000006, \ - .attributes = ZAP_ATTRIBUTE_INDEX(683), \ + .attributes = ZAP_ATTRIBUTE_INDEX(684), \ .attributeCount = 7, \ .clusterSize = 13, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2780,7 +2781,7 @@ { \ /* Endpoint: 2, Cluster: Descriptor (server) */ \ .clusterId = 0x0000001D, \ - .attributes = ZAP_ATTRIBUTE_INDEX(690), \ + .attributes = ZAP_ATTRIBUTE_INDEX(691), \ .attributeCount = 6, \ .clusterSize = 4, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2791,7 +2792,7 @@ { \ /* Endpoint: 2, Cluster: Power Source (server) */ \ .clusterId = 0x0000002F, \ - .attributes = ZAP_ATTRIBUTE_INDEX(696), \ + .attributes = ZAP_ATTRIBUTE_INDEX(697), \ .attributeCount = 8, \ .clusterSize = 72, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2802,7 +2803,7 @@ { \ /* Endpoint: 2, Cluster: Occupancy Sensing (server) */ \ .clusterId = 0x00000406, \ - .attributes = ZAP_ATTRIBUTE_INDEX(704), \ + .attributes = ZAP_ATTRIBUTE_INDEX(705), \ .attributeCount = 5, \ .clusterSize = 9, \ .mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ @@ -2813,7 +2814,7 @@ { \ /* Endpoint: 65534, Cluster: Network Commissioning (server) */ \ .clusterId = 0x00000031, \ - .attributes = ZAP_ATTRIBUTE_INDEX(709), \ + .attributes = ZAP_ATTRIBUTE_INDEX(710), \ .attributeCount = 10, \ .clusterSize = 0, \ .mask = ZAP_CLUSTER_MASK(SERVER), \ @@ -2832,7 +2833,7 @@ // This is an array of EmberAfEndpointType structures. #define GENERATED_ENDPOINT_TYPES \ { \ - { ZAP_CLUSTER_INDEX(0), 27, 596 }, { ZAP_CLUSTER_INDEX(27), 45, 3473 }, { ZAP_CLUSTER_INDEX(72), 5, 105 }, \ + { ZAP_CLUSTER_INDEX(0), 27, 596 }, { ZAP_CLUSTER_INDEX(27), 45, 3474 }, { ZAP_CLUSTER_INDEX(72), 5, 105 }, \ { ZAP_CLUSTER_INDEX(77), 1, 0 }, \ } @@ -2845,7 +2846,7 @@ static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, #define ATTRIBUTE_SINGLETONS_SIZE (37) // Total size of attribute storage -#define ATTRIBUTE_MAX_SIZE (4174) +#define ATTRIBUTE_MAX_SIZE (4175) // Number of fixed endpoints #define FIXED_ENDPOINT_COUNT (4)