Skip to content

Commit

Permalink
zap regen (#31486)
Browse files Browse the repository at this point in the history
  • Loading branch information
cecille authored Jan 17, 2024
1 parent 3b5fdb8 commit a8df984
Show file tree
Hide file tree
Showing 2 changed files with 121 additions and 195 deletions.
194 changes: 0 additions & 194 deletions examples/light-switch-app/qpg/zap/switch.matter
Original file line number Diff line number Diff line change
Expand Up @@ -178,199 +178,6 @@ cluster Groups = 4 {
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;
Expand Down Expand Up @@ -2488,7 +2295,6 @@ endpoint 1 {
device type ma_onofflightswitch = 259, version 1;

binding cluster Identify;
binding cluster Scenes;
binding cluster OnOff;
binding cluster ColorControl;

Expand Down
122 changes: 121 additions & 1 deletion examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter
Original file line number Diff line number Diff line change
Expand Up @@ -1536,6 +1536,16 @@ cluster Thermostat = 513 {
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;
Expand Down Expand Up @@ -1597,6 +1607,10 @@ cluster Thermostat = 513 {
kSetback = 0x10;
kAutoMode = 0x20;
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
kSetpoints = 0x200;
kQueuedPresetsSupported = 0x400;
}

bitmap HVACSystemTypeBitmap : bitmap8 {
Expand All @@ -1606,6 +1620,11 @@ cluster Thermostat = 513 {
kHeatingUsesFuel = 0x20;
}

bitmap PresetTypeFeaturesBitmap : bitmap16 {
kAutomatic = 0x1;
kSupportsNames = 0x2;
}

bitmap ProgrammingOperationModeBitmap : bitmap8 {
kScheduleActive = 0x1;
kAutoRecovery = 0x2;
Expand Down Expand Up @@ -1644,6 +1663,62 @@ cluster Thermostat = 513 {
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;
Expand Down Expand Up @@ -1699,6 +1774,20 @@ cluster Thermostat = 513 {
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;
Expand Down Expand Up @@ -1730,14 +1819,45 @@ cluster Thermostat = 513 {
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). */
Expand Down

0 comments on commit a8df984

Please sign in to comment.