zap regen (#31486)
diff --git a/examples/light-switch-app/qpg/zap/switch.matter b/examples/light-switch-app/qpg/zap/switch.matter
index b0e5f87..82d8b7a 100644
--- a/examples/light-switch-app/qpg/zap/switch.matter
+++ b/examples/light-switch-app/qpg/zap/switch.matter
@@ -178,199 +178,6 @@
fabric command access(invoke: manage) AddGroupIfIdentifying(AddGroupIfIdentifyingRequest): DefaultSuccess = 5;
}
-/** Attributes and commands for scene configuration and manipulation. */
-provisional cluster Scenes = 5 {
- revision 5;
-
- bitmap CopyModeBitmap : bitmap8 {
- kCopyAllScenes = 0x1;
- }
-
- bitmap Feature : bitmap32 {
- kSceneNames = 0x1;
- kExplicit = 0x2;
- kTableSize = 0x4;
- kFabricScenes = 0x8;
- }
-
- bitmap NameSupportBitmap : bitmap8 {
- kSceneNames = 0x80;
- }
-
- struct AttributeValuePair {
- attrib_id attributeID = 0;
- int32u attributeValue = 1;
- }
-
- struct ExtensionFieldSet {
- cluster_id clusterID = 0;
- AttributeValuePair attributeValueList[] = 1;
- }
-
- fabric_scoped struct SceneInfoStruct {
- int8u sceneCount = 0;
- fabric_sensitive int8u currentScene = 1;
- fabric_sensitive group_id currentGroup = 2;
- fabric_sensitive boolean sceneValid = 3;
- int8u remainingCapacity = 4;
- fabric_idx fabricIndex = 254;
- }
-
- readonly attribute optional int8u sceneCount = 0;
- readonly attribute optional int8u currentScene = 1;
- readonly attribute optional group_id currentGroup = 2;
- readonly attribute optional boolean sceneValid = 3;
- readonly attribute NameSupportBitmap nameSupport = 4;
- readonly attribute optional nullable node_id lastConfiguredBy = 5;
- readonly attribute int16u sceneTableSize = 6;
- readonly attribute SceneInfoStruct fabricSceneInfo[] = 7;
- readonly attribute command_id generatedCommandList[] = 65528;
- readonly attribute command_id acceptedCommandList[] = 65529;
- readonly attribute event_id eventList[] = 65530;
- readonly attribute attrib_id attributeList[] = 65531;
- readonly attribute bitmap32 featureMap = 65532;
- readonly attribute int16u clusterRevision = 65533;
-
- request struct AddSceneRequest {
- group_id groupID = 0;
- int8u sceneID = 1;
- int16u transitionTime = 2;
- char_string sceneName = 3;
- ExtensionFieldSet extensionFieldSets[] = 4;
- }
-
- response struct AddSceneResponse = 0 {
- status status = 0;
- group_id groupID = 1;
- int8u sceneID = 2;
- }
-
- request struct ViewSceneRequest {
- group_id groupID = 0;
- int8u sceneID = 1;
- }
-
- response struct ViewSceneResponse = 1 {
- status status = 0;
- group_id groupID = 1;
- int8u sceneID = 2;
- optional int16u transitionTime = 3;
- optional char_string sceneName = 4;
- optional ExtensionFieldSet extensionFieldSets[] = 5;
- }
-
- request struct RemoveSceneRequest {
- group_id groupID = 0;
- int8u sceneID = 1;
- }
-
- response struct RemoveSceneResponse = 2 {
- status status = 0;
- group_id groupID = 1;
- int8u sceneID = 2;
- }
-
- request struct RemoveAllScenesRequest {
- group_id groupID = 0;
- }
-
- response struct RemoveAllScenesResponse = 3 {
- status status = 0;
- group_id groupID = 1;
- }
-
- request struct StoreSceneRequest {
- group_id groupID = 0;
- int8u sceneID = 1;
- }
-
- response struct StoreSceneResponse = 4 {
- status status = 0;
- group_id groupID = 1;
- int8u sceneID = 2;
- }
-
- request struct RecallSceneRequest {
- group_id groupID = 0;
- int8u sceneID = 1;
- optional nullable int16u transitionTime = 2;
- }
-
- request struct GetSceneMembershipRequest {
- group_id groupID = 0;
- }
-
- response struct GetSceneMembershipResponse = 6 {
- status status = 0;
- nullable int8u capacity = 1;
- group_id groupID = 2;
- optional int8u sceneList[] = 3;
- }
-
- request struct EnhancedAddSceneRequest {
- group_id groupID = 0;
- int8u sceneID = 1;
- int16u transitionTime = 2;
- char_string sceneName = 3;
- ExtensionFieldSet extensionFieldSets[] = 4;
- }
-
- response struct EnhancedAddSceneResponse = 64 {
- status status = 0;
- group_id groupID = 1;
- int8u sceneID = 2;
- }
-
- request struct EnhancedViewSceneRequest {
- group_id groupID = 0;
- int8u sceneID = 1;
- }
-
- response struct EnhancedViewSceneResponse = 65 {
- status status = 0;
- group_id groupID = 1;
- int8u sceneID = 2;
- optional int16u transitionTime = 3;
- optional char_string sceneName = 4;
- optional ExtensionFieldSet extensionFieldSets[] = 5;
- }
-
- request struct CopySceneRequest {
- CopyModeBitmap mode = 0;
- group_id groupIdentifierFrom = 1;
- int8u sceneIdentifierFrom = 2;
- group_id groupIdentifierTo = 3;
- int8u sceneIdentifierTo = 4;
- }
-
- response struct CopySceneResponse = 66 {
- status status = 0;
- group_id groupIdentifierFrom = 1;
- int8u sceneIdentifierFrom = 2;
- }
-
- /** Add a scene to the scene table. Extension field sets are supported, and are inputed as '{"ClusterID": VALUE, "AttributeValueList":[{"AttributeId": VALUE, "AttributeValue": VALUE}]}' */
- fabric command access(invoke: manage) AddScene(AddSceneRequest): AddSceneResponse = 0;
- /** Retrieves the requested scene entry from its Scene table. */
- fabric command ViewScene(ViewSceneRequest): ViewSceneResponse = 1;
- /** Removes the requested scene entry, corresponding to the value of the GroupID field, from its Scene Table */
- fabric command access(invoke: manage) RemoveScene(RemoveSceneRequest): RemoveSceneResponse = 2;
- /** Remove all scenes, corresponding to the value of the GroupID field, from its Scene Table */
- fabric command access(invoke: manage) RemoveAllScenes(RemoveAllScenesRequest): RemoveAllScenesResponse = 3;
- /** Adds the scene entry into its Scene Table along with all extension field sets corresponding to the current state of other clusters on the same endpoint */
- fabric command access(invoke: manage) StoreScene(StoreSceneRequest): StoreSceneResponse = 4;
- /** Set the attributes and corresponding state for each other cluster implemented on the endpoint accordingly to the resquested scene entry in the Scene Table */
- fabric command RecallScene(RecallSceneRequest): DefaultSuccess = 5;
- /** Get an unused scene identifier when no commissioning tool is in the network, or for a commissioning tool to get the used scene identifiers within a certain group */
- fabric command GetSceneMembership(GetSceneMembershipRequest): GetSceneMembershipResponse = 6;
- /** Allows a scene to be added using a finer scene transition time than the AddScene command. */
- fabric command EnhancedAddScene(EnhancedAddSceneRequest): EnhancedAddSceneResponse = 64;
- /** Allows a scene to be retrieved using a finer scene transition time than the ViewScene command */
- fabric command EnhancedViewScene(EnhancedViewSceneRequest): EnhancedViewSceneResponse = 65;
- /** Allows a client to efficiently copy scenes from one group/scene identifier pair to another group/scene identifier pair. */
- fabric command CopyScene(CopySceneRequest): CopySceneResponse = 66;
-}
-
/** Attributes and commands for switching devices between 'On' and 'Off' states. */
cluster OnOff = 6 {
revision 6;
@@ -2488,7 +2295,6 @@
device type ma_onofflightswitch = 259, version 1;
binding cluster Identify;
- binding cluster Scenes;
binding cluster OnOff;
binding cluster ColorControl;
diff --git a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter
index 06285df..8fa6b50 100644
--- a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter
+++ b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter
@@ -1536,6 +1536,16 @@
kCoolingAndHeatingWithReheat = 5;
}
+ enum PresetScenarioEnum : enum8 {
+ kUnspecified = 0;
+ kOccupied = 1;
+ kUnoccupied = 2;
+ kSleep = 3;
+ kWake = 4;
+ kVacation = 5;
+ kUserDefined = 6;
+ }
+
enum SetpointChangeSourceEnum : enum8 {
kManual = 0;
kSchedule = 1;
@@ -1597,6 +1607,10 @@
kSetback = 0x10;
kAutoMode = 0x20;
kLocalTemperatureNotExposed = 0x40;
+ kMatterScheduleConfiguration = 0x80;
+ kPresets = 0x100;
+ kSetpoints = 0x200;
+ kQueuedPresetsSupported = 0x400;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -1606,6 +1620,11 @@
kHeatingUsesFuel = 0x20;
}
+ bitmap PresetTypeFeaturesBitmap : bitmap16 {
+ kAutomatic = 0x1;
+ kSupportsNames = 0x2;
+ }
+
bitmap ProgrammingOperationModeBitmap : bitmap8 {
kScheduleActive = 0x1;
kAutoRecovery = 0x2;
@@ -1644,6 +1663,62 @@
kCoolSetpointPresent = 0x2;
}
+ bitmap ScheduleTypeFeaturesBitmap : bitmap16 {
+ kSupportsPresets = 0x1;
+ kSupportsSetpoints = 0x2;
+ kSupportsNames = 0x4;
+ kSupportsOff = 0x8;
+ }
+
+ bitmap TemperatureSetpointHoldPolicyBitmap : bitmap8 {
+ kHoldDurationElapsed = 0x1;
+ kHoldDurationElapsedOrPresetChanged = 0x2;
+ }
+
+ struct ScheduleTransitionStruct {
+ ScheduleDayOfWeekBitmap dayOfWeek = 0;
+ int16u transitionTime = 1;
+ optional octet_string<16> presetHandle = 2;
+ optional SystemModeEnum systemMode = 3;
+ optional temperature coolingSetpoint = 4;
+ optional temperature heatingSetpoint = 5;
+ }
+
+ struct ScheduleStruct {
+ nullable octet_string<16> scheduleHandle = 0;
+ SystemModeEnum systemMode = 1;
+ optional char_string<64> name = 2;
+ optional octet_string<16> presetHandle = 3;
+ ScheduleTransitionStruct transitions[] = 4;
+ optional nullable boolean builtIn = 5;
+ }
+
+ struct PresetStruct {
+ nullable octet_string<16> presetHandle = 0;
+ PresetScenarioEnum presetScenario = 1;
+ optional nullable char_string<64> name = 2;
+ optional temperature coolingSetpoint = 3;
+ optional temperature heatingSetpoint = 4;
+ nullable boolean builtIn = 5;
+ }
+
+ struct PresetTypeStruct {
+ PresetScenarioEnum presetScenario = 0;
+ int8u numberOfPresets = 1;
+ PresetTypeFeaturesBitmap presetTypeFeatures = 2;
+ }
+
+ struct QueuedPresetStruct {
+ nullable octet_string<16> presetHandle = 0;
+ nullable epoch_s transitionTimestamp = 1;
+ }
+
+ struct ScheduleTypeStruct {
+ SystemModeEnum systemMode = 0;
+ int8u numberOfSchedules = 1;
+ ScheduleTypeFeaturesBitmap scheduleTypeFeatures = 2;
+ }
+
struct WeeklyScheduleTransitionStruct {
int16u transitionTime = 0;
nullable temperature heatSetpoint = 1;
@@ -1699,6 +1774,20 @@
attribute access(write: manage) optional ACLouverPositionEnum ACLouverPosition = 69;
readonly attribute optional nullable temperature ACCoilTemperature = 70;
attribute access(write: manage) optional ACCapacityFormatEnum ACCapacityformat = 71;
+ readonly attribute optional PresetTypeStruct presetTypes[] = 72;
+ readonly attribute optional ScheduleTypeStruct scheduleTypes[] = 73;
+ readonly attribute optional int8u numberOfPresets = 74;
+ readonly attribute optional int8u numberOfSchedules = 75;
+ readonly attribute optional int8u numberOfScheduleTransitions = 76;
+ readonly attribute optional nullable int8u numberOfScheduleTransitionPerDay = 77;
+ readonly attribute optional nullable octet_string<16> activePresetHandle = 78;
+ readonly attribute optional nullable octet_string<16> activeScheduleHandle = 79;
+ attribute access(write: manage) optional PresetStruct presets[] = 80;
+ attribute access(write: manage) optional ScheduleStruct schedules[] = 81;
+ readonly attribute optional boolean presetsSchedulesEditable = 82;
+ readonly attribute optional TemperatureSetpointHoldPolicyBitmap temperatureSetpointHoldPolicy = 83;
+ readonly attribute optional nullable epoch_s setpointHoldExpiryTimestamp = 84;
+ readonly attribute optional nullable QueuedPresetStruct queuedPreset = 85;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -1730,14 +1819,45 @@
ScheduleModeBitmap modeToReturn = 1;
}
+ request struct SetActiveScheduleRequestRequest {
+ octet_string<16> scheduleHandle = 0;
+ }
+
+ request struct SetActivePresetRequestRequest {
+ octet_string<16> presetHandle = 0;
+ optional int16u delayMinutes = 1;
+ }
+
+ request struct StartPresetsSchedulesEditRequestRequest {
+ int16u timeoutSeconds = 0;
+ }
+
+ request struct SetTemperatureSetpointHoldPolicyRequest {
+ TemperatureSetpointHoldPolicyBitmap temperatureSetpointHoldPolicy = 0;
+ }
+
/** Command description for SetpointRaiseLower */
command SetpointRaiseLower(SetpointRaiseLowerRequest): DefaultSuccess = 0;
/** Command description for SetWeeklySchedule */
command access(invoke: manage) SetWeeklySchedule(SetWeeklyScheduleRequest): DefaultSuccess = 1;
/** Command description for GetWeeklySchedule */
command GetWeeklySchedule(GetWeeklyScheduleRequest): GetWeeklyScheduleResponse = 2;
- /** The Clear Weekly Schedule command is used to clear the weekly schedule. */
+ /** This command is used to clear the weekly schedule. The ClearWeeklySchedule command has no payload. */
command access(invoke: manage) ClearWeeklySchedule(): DefaultSuccess = 3;
+ /** This command is used to set the active schedule. */
+ command SetActiveScheduleRequest(SetActiveScheduleRequestRequest): DefaultSuccess = 5;
+ /** This command is used to set the active preset. */
+ command SetActivePresetRequest(SetActivePresetRequestRequest): DefaultSuccess = 6;
+ /** This command is used to start editing the presets and schedules. */
+ command access(invoke: manage) StartPresetsSchedulesEditRequest(StartPresetsSchedulesEditRequestRequest): DefaultSuccess = 7;
+ /** This command is used to cancel editing presets and schedules. */
+ command access(invoke: manage) CancelPresetsSchedulesEditRequest(): DefaultSuccess = 8;
+ /** This command is used to notify the server that all edits are done and should be committed. */
+ command access(invoke: manage) CommitPresetsSchedulesRequest(): DefaultSuccess = 9;
+ /** This command is sent to cancel a queued preset. */
+ command access(invoke: manage) CancelSetActivePresetRequest(): DefaultSuccess = 10;
+ /** This command sets the set point hold policy. */
+ command SetTemperatureSetpointHoldPolicy(SetTemperatureSetpointHoldPolicyRequest): DefaultSuccess = 11;
}
/** An interface for configuring the user interface of a thermostat (which may be remote from the thermostat). */