Skip to content

Commit c037636

Browse files
[ICD] Add User active mode trigger types and attributes (#30053)
* update xml to add UAT attributes * Generated files * fix type and id * fix zap
1 parent 5656986 commit c037636

File tree

28 files changed

+704
-3
lines changed

28 files changed

+704
-3
lines changed

examples/all-clusters-app/all-clusters-common/all-clusters-app.matter

+20
Original file line numberDiff line numberDiff line change
@@ -2463,6 +2463,26 @@ server cluster IcdManagement = 70 {
24632463
kLongIdleTimeSupport = 0x4;
24642464
}
24652465

2466+
bitmap UserActiveModeTriggerBitmap : bitmap32 {
2467+
kPowerCycle = 0x1;
2468+
kSettingsMenu = 0x2;
2469+
kCustomInstruction = 0x4;
2470+
kDeviceManual = 0x8;
2471+
kActuateSensor = 0x10;
2472+
kActuateSensorSeconds = 0x20;
2473+
kActuateSensorTimes = 0x40;
2474+
kActuateSensorLightsBlink = 0x80;
2475+
kResetButton = 0x100;
2476+
kResetButtonLightsBlink = 0x200;
2477+
kResetButtonSeconds = 0x400;
2478+
kResetButtonTimes = 0x800;
2479+
kSetupButton = 0x1000;
2480+
kSetupButtonSeconds = 0x2000;
2481+
kSetupButtonLightsBlink = 0x4000;
2482+
kSetupButtonTimes = 0x8000;
2483+
kAppDefinedButton = 0x10000;
2484+
}
2485+
24662486
fabric_scoped struct MonitoringRegistrationStruct {
24672487
fabric_sensitive node_id checkInNodeID = 1;
24682488
fabric_sensitive int64u monitoredSubject = 2;

examples/light-switch-app/light-switch-common/light-switch-app.matter

+20
Original file line numberDiff line numberDiff line change
@@ -1956,6 +1956,26 @@ server cluster IcdManagement = 70 {
19561956
kLongIdleTimeSupport = 0x4;
19571957
}
19581958

1959+
bitmap UserActiveModeTriggerBitmap : bitmap32 {
1960+
kPowerCycle = 0x1;
1961+
kSettingsMenu = 0x2;
1962+
kCustomInstruction = 0x4;
1963+
kDeviceManual = 0x8;
1964+
kActuateSensor = 0x10;
1965+
kActuateSensorSeconds = 0x20;
1966+
kActuateSensorTimes = 0x40;
1967+
kActuateSensorLightsBlink = 0x80;
1968+
kResetButton = 0x100;
1969+
kResetButtonLightsBlink = 0x200;
1970+
kResetButtonSeconds = 0x400;
1971+
kResetButtonTimes = 0x800;
1972+
kSetupButton = 0x1000;
1973+
kSetupButtonSeconds = 0x2000;
1974+
kSetupButtonLightsBlink = 0x4000;
1975+
kSetupButtonTimes = 0x8000;
1976+
kAppDefinedButton = 0x10000;
1977+
}
1978+
19591979
fabric_scoped struct MonitoringRegistrationStruct {
19601980
fabric_sensitive node_id checkInNodeID = 1;
19611981
fabric_sensitive int64u monitoredSubject = 2;

examples/lock-app/lock-common/lock-app.matter

+20
Original file line numberDiff line numberDiff line change
@@ -1687,6 +1687,26 @@ server cluster IcdManagement = 70 {
16871687
kLongIdleTimeSupport = 0x4;
16881688
}
16891689

1690+
bitmap UserActiveModeTriggerBitmap : bitmap32 {
1691+
kPowerCycle = 0x1;
1692+
kSettingsMenu = 0x2;
1693+
kCustomInstruction = 0x4;
1694+
kDeviceManual = 0x8;
1695+
kActuateSensor = 0x10;
1696+
kActuateSensorSeconds = 0x20;
1697+
kActuateSensorTimes = 0x40;
1698+
kActuateSensorLightsBlink = 0x80;
1699+
kResetButton = 0x100;
1700+
kResetButtonLightsBlink = 0x200;
1701+
kResetButtonSeconds = 0x400;
1702+
kResetButtonTimes = 0x800;
1703+
kSetupButton = 0x1000;
1704+
kSetupButtonSeconds = 0x2000;
1705+
kSetupButtonLightsBlink = 0x4000;
1706+
kSetupButtonTimes = 0x8000;
1707+
kAppDefinedButton = 0x10000;
1708+
}
1709+
16901710
fabric_scoped struct MonitoringRegistrationStruct {
16911711
fabric_sensitive node_id checkInNodeID = 1;
16921712
fabric_sensitive int64u monitoredSubject = 2;

examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter

+20
Original file line numberDiff line numberDiff line change
@@ -1569,6 +1569,26 @@ server cluster IcdManagement = 70 {
15691569
kLongIdleTimeSupport = 0x4;
15701570
}
15711571

1572+
bitmap UserActiveModeTriggerBitmap : bitmap32 {
1573+
kPowerCycle = 0x1;
1574+
kSettingsMenu = 0x2;
1575+
kCustomInstruction = 0x4;
1576+
kDeviceManual = 0x8;
1577+
kActuateSensor = 0x10;
1578+
kActuateSensorSeconds = 0x20;
1579+
kActuateSensorTimes = 0x40;
1580+
kActuateSensorLightsBlink = 0x80;
1581+
kResetButton = 0x100;
1582+
kResetButtonLightsBlink = 0x200;
1583+
kResetButtonSeconds = 0x400;
1584+
kResetButtonTimes = 0x800;
1585+
kSetupButton = 0x1000;
1586+
kSetupButtonSeconds = 0x2000;
1587+
kSetupButtonLightsBlink = 0x4000;
1588+
kSetupButtonTimes = 0x8000;
1589+
kAppDefinedButton = 0x10000;
1590+
}
1591+
15721592
fabric_scoped struct MonitoringRegistrationStruct {
15731593
fabric_sensitive node_id checkInNodeID = 1;
15741594
fabric_sensitive int64u monitoredSubject = 2;

src/app/zap-templates/zcl/data-model/chip/icd-management-cluster.xml

+23
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,27 @@ limitations under the License.
2525
<field name="LongIdleTimeSupport" mask="0x4"/>
2626
</bitmap>
2727

28+
<bitmap name="UserActiveModeTriggerBitmap" type="bitmap32">
29+
<cluster code="0x0046"/>
30+
<field name="PowerCycle" mask="0x1"/>
31+
<field name="SettingsMenu" mask="0x2"/>
32+
<field name="CustomInstruction" mask="0x4"/>
33+
<field name="DeviceManual" mask="0x8"/>
34+
<field name="ActuateSensor" mask="0x10"/>
35+
<field name="ActuateSensorSeconds" mask="0x20"/>
36+
<field name="ActuateSensorTimes" mask="0x40"/>
37+
<field name="ActuateSensorLightsBlink" mask="0x80"/>
38+
<field name="ResetButton" mask="0x100"/>
39+
<field name="ResetButtonLightsBlink" mask="0x200"/>
40+
<field name="ResetButtonSeconds" mask="0x400"/>
41+
<field name="ResetButtonTimes" mask="0x800"/>
42+
<field name="SetupButton" mask="0x1000"/>
43+
<field name="SetupButtonSeconds" mask="0x2000"/>
44+
<field name="SetupButtonLightsBlink" mask="0x4000"/>
45+
<field name="SetupButtonTimes" mask="0x8000"/>
46+
<field name="AppDefinedButton" mask="0x10000"/>
47+
</bitmap>
48+
2849
<struct name = "MonitoringRegistrationStruct" isFabricScoped="true">
2950
<cluster code="0x0046"/>
3051
<item fieldId="1" name="CheckInNodeID" type="node_id" isFabricSensitive="true"/>
@@ -56,6 +77,8 @@ limitations under the License.
5677
<access op="read" privilege="administer"/>
5778
</attribute>
5879
<attribute side="server" code="0x05" define="CLIENTS_SUPPORTED_PER_FABRIC" type="int16u" min="1" default="1" writable="false" optional="true" isNullable="false">ClientsSupportedPerFabric</attribute>
80+
<attribute side="server" code="0x06" define="USER_ACTIVE_MODE_TRIGGER_HINT" type="UserActiveModeTriggerBitmap" writable="false" optional="true" isNullable="false">UserActiveModeTriggerHint</attribute>
81+
<attribute side="server" code="0x07" define="USER_ACTIVE_MODE_TRIGGER_INSTRUCTION" type="char_string" length="128" writable="false" optional="true" isNullable="false">UserActiveModeTriggerInstruction</attribute>
5982

6083
<command source="client" code="0x00" name="RegisterClient" response="RegisterClientResponse" isFabricScoped="true" optional="true">
6184
<description> Register a client to the end device </description>

src/app/zap-templates/zcl/zcl-with-test-extensions.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,9 @@
202202
"ActiveModeThreshold",
203203
"RegisteredClients",
204204
"ICDCounter",
205-
"ClientsSupportedPerFabric"
205+
"ClientsSupportedPerFabric",
206+
"UserActiveModeTriggerHint",
207+
"UserActiveModeTriggerInstruction"
206208
],
207209
"Operational Credentials": [
208210
"SupportedFabrics",

src/app/zap-templates/zcl/zcl.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,9 @@
200200
"ActiveModeThreshold",
201201
"RegisteredClients",
202202
"ICDCounter",
203-
"ClientsSupportedPerFabric"
203+
"ClientsSupportedPerFabric",
204+
"UserActiveModeTriggerHint",
205+
"UserActiveModeTriggerInstruction"
204206
],
205207
"Operational Credentials": [
206208
"SupportedFabrics",

src/controller/data_model/controller-clusters.matter

+22
Original file line numberDiff line numberDiff line change
@@ -2727,6 +2727,26 @@ client cluster IcdManagement = 70 {
27272727
kLongIdleTimeSupport = 0x4;
27282728
}
27292729

2730+
bitmap UserActiveModeTriggerBitmap : bitmap32 {
2731+
kPowerCycle = 0x1;
2732+
kSettingsMenu = 0x2;
2733+
kCustomInstruction = 0x4;
2734+
kDeviceManual = 0x8;
2735+
kActuateSensor = 0x10;
2736+
kActuateSensorSeconds = 0x20;
2737+
kActuateSensorTimes = 0x40;
2738+
kActuateSensorLightsBlink = 0x80;
2739+
kResetButton = 0x100;
2740+
kResetButtonLightsBlink = 0x200;
2741+
kResetButtonSeconds = 0x400;
2742+
kResetButtonTimes = 0x800;
2743+
kSetupButton = 0x1000;
2744+
kSetupButtonSeconds = 0x2000;
2745+
kSetupButtonLightsBlink = 0x4000;
2746+
kSetupButtonTimes = 0x8000;
2747+
kAppDefinedButton = 0x10000;
2748+
}
2749+
27302750
fabric_scoped struct MonitoringRegistrationStruct {
27312751
fabric_sensitive node_id checkInNodeID = 1;
27322752
fabric_sensitive int64u monitoredSubject = 2;
@@ -2739,6 +2759,8 @@ client cluster IcdManagement = 70 {
27392759
readonly attribute access(read: administer) optional MonitoringRegistrationStruct registeredClients[] = 3;
27402760
readonly attribute access(read: administer) optional int32u ICDCounter = 4;
27412761
readonly attribute optional int16u clientsSupportedPerFabric = 5;
2762+
readonly attribute optional UserActiveModeTriggerBitmap userActiveModeTriggerHint = 6;
2763+
readonly attribute optional char_string<128> userActiveModeTriggerInstruction = 7;
27422764
readonly attribute command_id generatedCommandList[] = 65528;
27432765
readonly attribute command_id acceptedCommandList[] = 65529;
27442766
readonly attribute event_id eventList[] = 65530;

src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java

+28
Original file line numberDiff line numberDiff line change
@@ -10938,6 +10938,26 @@ public void subscribeClientsSupportedPerFabricAttribute(
1093810938
subscribeClientsSupportedPerFabricAttribute(chipClusterPtr, callback, minInterval, maxInterval);
1093910939
}
1094010940

10941+
public void readUserActiveModeTriggerHintAttribute(
10942+
LongAttributeCallback callback) {
10943+
readUserActiveModeTriggerHintAttribute(chipClusterPtr, callback);
10944+
}
10945+
10946+
public void subscribeUserActiveModeTriggerHintAttribute(
10947+
LongAttributeCallback callback, int minInterval, int maxInterval) {
10948+
subscribeUserActiveModeTriggerHintAttribute(chipClusterPtr, callback, minInterval, maxInterval);
10949+
}
10950+
10951+
public void readUserActiveModeTriggerInstructionAttribute(
10952+
CharStringAttributeCallback callback) {
10953+
readUserActiveModeTriggerInstructionAttribute(chipClusterPtr, callback);
10954+
}
10955+
10956+
public void subscribeUserActiveModeTriggerInstructionAttribute(
10957+
CharStringAttributeCallback callback, int minInterval, int maxInterval) {
10958+
subscribeUserActiveModeTriggerInstructionAttribute(chipClusterPtr, callback, minInterval, maxInterval);
10959+
}
10960+
1094110961
public void readGeneratedCommandListAttribute(
1094210962
GeneratedCommandListAttributeCallback callback) {
1094310963
readGeneratedCommandListAttribute(chipClusterPtr, callback);
@@ -11022,6 +11042,14 @@ public void subscribeClusterRevisionAttribute(
1102211042

1102311043
private native void subscribeClientsSupportedPerFabricAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval);
1102411044

11045+
private native void readUserActiveModeTriggerHintAttribute(long chipClusterPtr, LongAttributeCallback callback);
11046+
11047+
private native void subscribeUserActiveModeTriggerHintAttribute(long chipClusterPtr, LongAttributeCallback callback, int minInterval, int maxInterval);
11048+
11049+
private native void readUserActiveModeTriggerInstructionAttribute(long chipClusterPtr, CharStringAttributeCallback callback);
11050+
11051+
private native void subscribeUserActiveModeTriggerInstructionAttribute(long chipClusterPtr, CharStringAttributeCallback callback, int minInterval, int maxInterval);
11052+
1102511053
private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback);
1102611054

1102711055
private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval);

src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java

+2
Original file line numberDiff line numberDiff line change
@@ -5968,6 +5968,8 @@ public enum Attribute {
59685968
RegisteredClients(3L),
59695969
ICDCounter(4L),
59705970
ClientsSupportedPerFabric(5L),
5971+
UserActiveModeTriggerHint(6L),
5972+
UserActiveModeTriggerInstruction(7L),
59715973
GeneratedCommandList(65528L),
59725974
AcceptedCommandList(65529L),
59735975
EventList(65530L),

src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java

+22
Original file line numberDiff line numberDiff line change
@@ -5917,6 +5917,28 @@ private static Map<String, InteractionInfo> readIcdManagementInteractionInfo() {
59175917
readIcdManagementClientsSupportedPerFabricCommandParams
59185918
);
59195919
result.put("readClientsSupportedPerFabricAttribute", readIcdManagementClientsSupportedPerFabricAttributeInteractionInfo);
5920+
Map<String, CommandParameterInfo> readIcdManagementUserActiveModeTriggerHintCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
5921+
InteractionInfo readIcdManagementUserActiveModeTriggerHintAttributeInteractionInfo = new InteractionInfo(
5922+
(cluster, callback, commandArguments) -> {
5923+
((ChipClusters.IcdManagementCluster) cluster).readUserActiveModeTriggerHintAttribute(
5924+
(ChipClusters.LongAttributeCallback) callback
5925+
);
5926+
},
5927+
() -> new ClusterInfoMapping.DelegatedLongAttributeCallback(),
5928+
readIcdManagementUserActiveModeTriggerHintCommandParams
5929+
);
5930+
result.put("readUserActiveModeTriggerHintAttribute", readIcdManagementUserActiveModeTriggerHintAttributeInteractionInfo);
5931+
Map<String, CommandParameterInfo> readIcdManagementUserActiveModeTriggerInstructionCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
5932+
InteractionInfo readIcdManagementUserActiveModeTriggerInstructionAttributeInteractionInfo = new InteractionInfo(
5933+
(cluster, callback, commandArguments) -> {
5934+
((ChipClusters.IcdManagementCluster) cluster).readUserActiveModeTriggerInstructionAttribute(
5935+
(ChipClusters.CharStringAttributeCallback) callback
5936+
);
5937+
},
5938+
() -> new ClusterInfoMapping.DelegatedCharStringAttributeCallback(),
5939+
readIcdManagementUserActiveModeTriggerInstructionCommandParams
5940+
);
5941+
result.put("readUserActiveModeTriggerInstructionAttribute", readIcdManagementUserActiveModeTriggerInstructionAttributeInteractionInfo);
59205942
Map<String, CommandParameterInfo> readIcdManagementGeneratedCommandListCommandParams = new LinkedHashMap<String, CommandParameterInfo>();
59215943
InteractionInfo readIcdManagementGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
59225944
(cluster, callback, commandArguments) -> {

src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp

+28
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/controller/python/chip/clusters/CHIPClusters.py

+12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)