@@ -1195,6 +1195,51 @@ cluster WiFiNetworkManagement = 1105 {
1195
1195
command access(invoke: administer) NetworkPassphraseRequest(): NetworkPassphraseResponse = 0;
1196
1196
}
1197
1197
1198
+ /** Manages the names and credentials of Thread networks visible to the user. */
1199
+ cluster ThreadNetworkDirectory = 1107 {
1200
+ revision 1;
1201
+
1202
+ struct ThreadNetworkStruct {
1203
+ octet_string<8> extendedPanID = 0;
1204
+ char_string<16> networkName = 1;
1205
+ int16u channel = 2;
1206
+ int64u activeTimestamp = 3;
1207
+ }
1208
+
1209
+ attribute access(read: manage, write: manage) nullable octet_string<8> preferredExtendedPanID = 0;
1210
+ readonly attribute access(read: operate) ThreadNetworkStruct threadNetworks[] = 1;
1211
+ readonly attribute int8u threadNetworkTableSize = 2;
1212
+ readonly attribute command_id generatedCommandList[] = 65528;
1213
+ readonly attribute command_id acceptedCommandList[] = 65529;
1214
+ readonly attribute event_id eventList[] = 65530;
1215
+ readonly attribute attrib_id attributeList[] = 65531;
1216
+ readonly attribute bitmap32 featureMap = 65532;
1217
+ readonly attribute int16u clusterRevision = 65533;
1218
+
1219
+ request struct AddNetworkRequest {
1220
+ octet_string<254> operationalDataset = 0;
1221
+ }
1222
+
1223
+ request struct RemoveNetworkRequest {
1224
+ octet_string<8> extendedPanID = 0;
1225
+ }
1226
+
1227
+ request struct GetOperationalDatasetRequest {
1228
+ octet_string<8> extendedPanID = 0;
1229
+ }
1230
+
1231
+ response struct OperationalDatasetResponse = 3 {
1232
+ octet_string<254> operationalDataset = 0;
1233
+ }
1234
+
1235
+ /** Adds an entry to the ThreadNetworks list. */
1236
+ timed command access(invoke: manage) AddNetwork(AddNetworkRequest): DefaultSuccess = 0;
1237
+ /** Removes an entry from the ThreadNetworks list. */
1238
+ timed command access(invoke: manage) RemoveNetwork(RemoveNetworkRequest): DefaultSuccess = 1;
1239
+ /** Retrieves a Thread Operational Dataset from the ThreadNetworks list. */
1240
+ timed command GetOperationalDataset(GetOperationalDatasetRequest): OperationalDatasetResponse = 2;
1241
+ }
1242
+
1198
1243
endpoint 0 {
1199
1244
device type ma_rootdevice = 22, version 1;
1200
1245
@@ -1473,6 +1518,23 @@ endpoint 1 {
1473
1518
handle command NetworkPassphraseRequest;
1474
1519
handle command NetworkPassphraseResponse;
1475
1520
}
1521
+
1522
+ server cluster ThreadNetworkDirectory {
1523
+ callback attribute preferredExtendedPanID;
1524
+ callback attribute threadNetworks;
1525
+ callback attribute threadNetworkTableSize;
1526
+ callback attribute generatedCommandList;
1527
+ callback attribute acceptedCommandList;
1528
+ callback attribute eventList;
1529
+ callback attribute attributeList;
1530
+ ram attribute featureMap default = 0;
1531
+ ram attribute clusterRevision default = 1;
1532
+
1533
+ handle command AddNetwork;
1534
+ handle command RemoveNetwork;
1535
+ handle command GetOperationalDataset;
1536
+ handle command OperationalDatasetResponse;
1537
+ }
1476
1538
}
1477
1539
1478
1540
0 commit comments