Skip to content

Commit 53e94d6

Browse files
Enable Aliro bits in example lock-app. (project-chip#34657)
* Enable Aliro bits in example lock-app. Fixes the FeatureMap on the cluster to enable the Aliro bits as well, and correctly marks the parts that are implemented via AttributeAccessInterface. * Adjust Test_TC_DRLK_2_9 to not fail when Aliro is supported. * Fix issues in test script.
1 parent 5f6f3f1 commit 53e94d6

File tree

9 files changed

+230
-522
lines changed

9 files changed

+230
-522
lines changed

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

+12-1
Original file line numberDiff line numberDiff line change
@@ -3079,11 +3079,20 @@ endpoint 1 {
30793079
ram attribute wrongCodeEntryLimit default = 3;
30803080
ram attribute userCodeTemporaryDisableTime default = 10;
30813081
ram attribute requirePINforRemoteOperation default = 0;
3082+
callback attribute aliroReaderVerificationKey;
3083+
callback attribute aliroReaderGroupIdentifier;
3084+
callback attribute aliroReaderGroupSubIdentifier;
3085+
callback attribute aliroExpeditedTransactionSupportedProtocolVersions;
3086+
callback attribute aliroGroupResolvingKey;
3087+
callback attribute aliroSupportedBLEUWBProtocolVersions;
3088+
callback attribute aliroBLEAdvertisingVersion;
3089+
callback attribute numberOfAliroCredentialIssuerKeysSupported;
3090+
callback attribute numberOfAliroEndpointKeysSupported;
30823091
callback attribute generatedCommandList;
30833092
callback attribute acceptedCommandList;
30843093
callback attribute eventList;
30853094
callback attribute attributeList;
3086-
ram attribute featureMap default = 0x1DB3;
3095+
ram attribute featureMap default = 0x7DB3;
30873096
ram attribute clusterRevision default = 7;
30883097

30893098
handle command LockDoor;
@@ -3111,6 +3120,8 @@ endpoint 1 {
31113120
handle command GetCredentialStatusResponse;
31123121
handle command ClearCredential;
31133122
handle command UnboltDoor;
3123+
handle command SetAliroReaderConfig;
3124+
handle command ClearAliroReaderConfig;
31143125
}
31153126
}
31163127

examples/lock-app/lock-common/lock-app.zap

+161-1
Original file line numberDiff line numberDiff line change
@@ -5851,6 +5851,22 @@
58515851
"source": "client",
58525852
"isIncoming": 1,
58535853
"isEnabled": 1
5854+
},
5855+
{
5856+
"name": "SetAliroReaderConfig",
5857+
"code": 40,
5858+
"mfgCode": null,
5859+
"source": "client",
5860+
"isIncoming": 1,
5861+
"isEnabled": 1
5862+
},
5863+
{
5864+
"name": "ClearAliroReaderConfig",
5865+
"code": 41,
5866+
"mfgCode": null,
5867+
"source": "client",
5868+
"isIncoming": 1,
5869+
"isEnabled": 1
58545870
}
58555871
],
58565872
"attributes": [
@@ -6270,6 +6286,150 @@
62706286
"maxInterval": 65534,
62716287
"reportableChange": 0
62726288
},
6289+
{
6290+
"name": "AliroReaderVerificationKey",
6291+
"code": 128,
6292+
"mfgCode": null,
6293+
"side": "server",
6294+
"type": "octet_string",
6295+
"included": 1,
6296+
"storageOption": "External",
6297+
"singleton": 0,
6298+
"bounded": 0,
6299+
"defaultValue": "",
6300+
"reportable": 1,
6301+
"minInterval": 1,
6302+
"maxInterval": 65534,
6303+
"reportableChange": 0
6304+
},
6305+
{
6306+
"name": "AliroReaderGroupIdentifier",
6307+
"code": 129,
6308+
"mfgCode": null,
6309+
"side": "server",
6310+
"type": "octet_string",
6311+
"included": 1,
6312+
"storageOption": "External",
6313+
"singleton": 0,
6314+
"bounded": 0,
6315+
"defaultValue": "",
6316+
"reportable": 1,
6317+
"minInterval": 1,
6318+
"maxInterval": 65534,
6319+
"reportableChange": 0
6320+
},
6321+
{
6322+
"name": "AliroReaderGroupSubIdentifier",
6323+
"code": 130,
6324+
"mfgCode": null,
6325+
"side": "server",
6326+
"type": "octet_string",
6327+
"included": 1,
6328+
"storageOption": "External",
6329+
"singleton": 0,
6330+
"bounded": 0,
6331+
"defaultValue": "",
6332+
"reportable": 1,
6333+
"minInterval": 1,
6334+
"maxInterval": 65534,
6335+
"reportableChange": 0
6336+
},
6337+
{
6338+
"name": "AliroExpeditedTransactionSupportedProtocolVersions",
6339+
"code": 131,
6340+
"mfgCode": null,
6341+
"side": "server",
6342+
"type": "array",
6343+
"included": 1,
6344+
"storageOption": "External",
6345+
"singleton": 0,
6346+
"bounded": 0,
6347+
"defaultValue": "",
6348+
"reportable": 1,
6349+
"minInterval": 1,
6350+
"maxInterval": 65534,
6351+
"reportableChange": 0
6352+
},
6353+
{
6354+
"name": "AliroGroupResolvingKey",
6355+
"code": 132,
6356+
"mfgCode": null,
6357+
"side": "server",
6358+
"type": "octet_string",
6359+
"included": 1,
6360+
"storageOption": "External",
6361+
"singleton": 0,
6362+
"bounded": 0,
6363+
"defaultValue": "",
6364+
"reportable": 1,
6365+
"minInterval": 1,
6366+
"maxInterval": 65534,
6367+
"reportableChange": 0
6368+
},
6369+
{
6370+
"name": "AliroSupportedBLEUWBProtocolVersions",
6371+
"code": 133,
6372+
"mfgCode": null,
6373+
"side": "server",
6374+
"type": "array",
6375+
"included": 1,
6376+
"storageOption": "External",
6377+
"singleton": 0,
6378+
"bounded": 0,
6379+
"defaultValue": "",
6380+
"reportable": 1,
6381+
"minInterval": 1,
6382+
"maxInterval": 65534,
6383+
"reportableChange": 0
6384+
},
6385+
{
6386+
"name": "AliroBLEAdvertisingVersion",
6387+
"code": 134,
6388+
"mfgCode": null,
6389+
"side": "server",
6390+
"type": "int8u",
6391+
"included": 1,
6392+
"storageOption": "External",
6393+
"singleton": 0,
6394+
"bounded": 0,
6395+
"defaultValue": "",
6396+
"reportable": 1,
6397+
"minInterval": 1,
6398+
"maxInterval": 65534,
6399+
"reportableChange": 0
6400+
},
6401+
{
6402+
"name": "NumberOfAliroCredentialIssuerKeysSupported",
6403+
"code": 135,
6404+
"mfgCode": null,
6405+
"side": "server",
6406+
"type": "int16u",
6407+
"included": 1,
6408+
"storageOption": "External",
6409+
"singleton": 0,
6410+
"bounded": 0,
6411+
"defaultValue": "",
6412+
"reportable": 1,
6413+
"minInterval": 1,
6414+
"maxInterval": 65534,
6415+
"reportableChange": 0
6416+
},
6417+
{
6418+
"name": "NumberOfAliroEndpointKeysSupported",
6419+
"code": 136,
6420+
"mfgCode": null,
6421+
"side": "server",
6422+
"type": "int16u",
6423+
"included": 1,
6424+
"storageOption": "External",
6425+
"singleton": 0,
6426+
"bounded": 0,
6427+
"defaultValue": "",
6428+
"reportable": 1,
6429+
"minInterval": 1,
6430+
"maxInterval": 65534,
6431+
"reportableChange": 0
6432+
},
62736433
{
62746434
"name": "GeneratedCommandList",
62756435
"code": 65528,
@@ -6344,7 +6504,7 @@
63446504
"storageOption": "RAM",
63456505
"singleton": 0,
63466506
"bounded": 0,
6347-
"defaultValue": "0x1DB3",
6507+
"defaultValue": "0x7DB3",
63486508
"reportable": 1,
63496509
"minInterval": 1,
63506510
"maxInterval": 65534,

src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml

+12-4
Original file line numberDiff line numberDiff line change
@@ -1579,6 +1579,7 @@ tests:
15791579
constraints:
15801580
type: octet_string
15811581
minLength: 65
1582+
maxLength: 65
15821583

15831584
- label:
15841585
"Step 38b: TH writes AliroReaderVerificationKey attribute as an octstr
@@ -1608,6 +1609,8 @@ tests:
16081609
constraints:
16091610
type: octet_string
16101611
minLength: 16
1612+
maxLength: 16
1613+
16111614
- label:
16121615
"Step 39b: TH writes AliroReaderGroupIdentifier attribute as octstr
16131616
value of length 16 which is different from aliroreadergrpidentifier"
@@ -1635,6 +1638,7 @@ tests:
16351638
constraints:
16361639
type: octet_string
16371640
minLength: 16
1641+
maxLength: 16
16381642

16391643
- label:
16401644
"Step 40b: TH writes AliroReaderGroupSubIdentifier attribute as octstr
@@ -1665,6 +1669,7 @@ tests:
16651669
constraints:
16661670
type: list
16671671
maxLength: 16
1672+
16681673
- label:
16691674
"Step 41b: TH writes
16701675
AliroExpeditedTransactionSupportedProtocolVersions attribute as list
@@ -1673,9 +1678,10 @@ tests:
16731678
command: "writeAttribute"
16741679
attribute: "AliroExpeditedTransactionSupportedProtocolVersions"
16751680
arguments:
1676-
value: ["0x1", "0x2"]
1681+
value: ["\x01", "\x02"]
16771682
response:
16781683
error: UNSUPPORTED_WRITE
1684+
16791685
- label:
16801686
"Step 41c: TH reads AliroExpeditedTransactionSupportedProtocolVersions
16811687
attribute from DUT"
@@ -1694,6 +1700,7 @@ tests:
16941700
constraints:
16951701
type: octet_string
16961702
minLength: 16
1703+
maxLength: 16
16971704

16981705
- label:
16991706
"Step 42b: TH writes AliroGroupResolvingKey attribute as octstr value
@@ -1712,6 +1719,7 @@ tests:
17121719
attribute: "AliroGroupResolvingKey"
17131720
response:
17141721
value: alirogrpresolvingkey
1722+
17151723
- label:
17161724
"Step 43a: TH reads AliroSupportedBLEUWBProtocolVersions attribute
17171725
from DUT"
@@ -1721,8 +1729,8 @@ tests:
17211729
response:
17221730
saveAs: alirobleuwbprotocolversion
17231731
constraints:
1724-
type: octet_string
1725-
minLength: 16
1732+
type: list
1733+
maxLength: 16
17261734

17271735
- label:
17281736
"Step 43b: TH writes AliroSupportedBLEUWBProtocolVersions attribute as
@@ -1731,7 +1739,7 @@ tests:
17311739
command: "writeAttribute"
17321740
attribute: "AliroSupportedBLEUWBProtocolVersions"
17331741
arguments:
1734-
value: "047a4c992d75368"
1742+
value: ["\x01", "\x02"]
17351743
response:
17361744
error: UNSUPPORTED_WRITE
17371745

src/app/tests/suites/certification/Test_TC_DRLK_2_9.yaml

+14-1
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ tests:
431431
- label:
432432
"Step 14: TH sends Clear Credential Command to DUT with the following
433433
fields: a)CredentialType as 8(Invalid value) b)CredentialIndex as 2"
434-
PICS: DRLK.S.F08 && DRLK.S.C26.Rsp
434+
PICS: DRLK.S.F08 && DRLK.S.C26.Rsp && !DRLK.S.F0d
435435
command: "ClearCredential"
436436
timedInteractionTimeoutMs: 10000
437437
arguments:
@@ -441,6 +441,19 @@ tests:
441441
response:
442442
error: INVALID_COMMAND
443443

444+
- label:
445+
"Step 14: TH sends Clear Credential Command to DUT with the following
446+
fields: a)CredentialType as 9(Invalid value) b)CredentialIndex as 2"
447+
PICS: DRLK.S.F08 && DRLK.S.C26.Rsp && DRLK.S.F0d
448+
command: "ClearCredential"
449+
timedInteractionTimeoutMs: 10000
450+
arguments:
451+
values:
452+
- name: "Credential"
453+
value: { CredentialType: 9, CredentialIndex: 2 }
454+
response:
455+
error: INVALID_COMMAND
456+
444457
- label: "Cleanup the first created user"
445458
command: "ClearUser"
446459
timedInteractionTimeoutMs: 10000

src/app/tests/suites/certification/ci-pics-values

+13-13
Original file line numberDiff line numberDiff line change
@@ -1519,15 +1519,15 @@ DRLK.S.A0031=1
15191519
DRLK.S.A0032=1
15201520
DRLK.S.A0033=1
15211521
DRLK.S.A0035=0
1522-
DRLK.S.A0080=0
1523-
DRLK.S.A0081=0
1524-
DRLK.S.A0082=0
1525-
DRLK.S.A0083=0
1526-
DRLK.S.A0084=0
1527-
DRLK.S.A0085=0
1528-
DRLK.S.A0086=0
1529-
DRLK.S.A0087=0
1530-
DRLK.S.A0088=0
1522+
DRLK.S.A0080=1
1523+
DRLK.S.A0081=1
1524+
DRLK.S.A0082=1
1525+
DRLK.S.A0083=1
1526+
DRLK.S.A0084=1
1527+
DRLK.S.A0085=1
1528+
DRLK.S.A0086=1
1529+
DRLK.S.A0087=1
1530+
DRLK.S.A0088=1
15311531

15321532
#ReadOnly attributes
15331533
DRLK.S.A0028.ReadOnly=1
@@ -1574,8 +1574,8 @@ DRLK.S.F08=1
15741574
DRLK.S.F0a=1
15751575
DRLK.S.F0b=1
15761576
DRLK.S.F0c=1
1577-
DRLK.S.F0d=0
1578-
DRLK.S.F0e=0
1577+
DRLK.S.F0d=1
1578+
DRLK.S.F0e=1
15791579

15801580
# Server Commands
15811581
DRLK.S.C00.Rsp=1
@@ -1597,8 +1597,8 @@ DRLK.S.C22.Rsp=1
15971597
DRLK.S.C24.Rsp=1
15981598
DRLK.S.C26.Rsp=1
15991599
DRLK.S.C27.Rsp=1
1600-
DRLK.S.C28.Rsp=0
1601-
DRLK.S.C29.Rsp=0
1600+
DRLK.S.C28.Rsp=1
1601+
DRLK.S.C29.Rsp=1
16021602
DRLK.S.C0c.Tx=1
16031603
DRLK.S.C0f.Tx=1
16041604
DRLK.S.C12.Tx=1

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

+9
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,15 @@
211211
"CurrentMode",
212212
"FeatureMap"
213213
],
214+
"Door Lock": [
215+
"AliroReaderVerificationKey",
216+
"AliroReaderGroupIdentifier",
217+
"AliroReaderGroupSubIdentifier",
218+
"AliroGroupResolvingKey",
219+
"AliroBLEAdvertisingVersion",
220+
"NumberOfAliroCredentialIssuerKeysSupported",
221+
"NumberOfAliroEndpointKeysSupported"
222+
],
214223
"Energy EVSE": [
215224
"State",
216225
"SupplyState",

0 commit comments

Comments
 (0)