diff --git a/src/app/zap-templates/zcl/data-model/chip/thread-border-router-management-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/thread-border-router-management-cluster.xml
index 2c1cd01d67c7b2..b6ee4385fb73ff 100644
--- a/src/app/zap-templates/zcl/data-model/chip/thread-border-router-management-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/thread-border-router-management-cluster.xml
@@ -22,7 +22,7 @@ limitations under the License.
-
+
HRAP
Thread Border Router Management
0x0452
@@ -33,40 +33,39 @@ limitations under the License.
- BorderRouterName
+ BorderRouterName
- BorderAgentID
+ BorderAgentID
- ThreadVersion
+ ThreadVersion
- InterfaceEnabled
+ InterfaceEnabled
- ActiveDatasetTimestamp
+ ActiveDatasetTimestamp
-
-
+
Command to request the active operational dataset of the Thread network to which the border router is connected. This command must be sent over a valid CASE session
-
+
Command to request the pending dataset of the Thread network to which the border router is connected. This command must be sent over a valid CASE session
-
+
Generated response to GetActiveDatasetRequest or GetPendingDatasetRequest commands.
-
+
Command to set or update the active Dataset of the Thread network to which the Border Router is connected.
-
+
Command set or update the pending Dataset of the Thread network to which the Border Router is connected.
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index 80aa1b74c29b59..43a1fb96b2b9ea 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -8010,18 +8010,18 @@ cluster WiFiNetworkManagement = 1105 {
}
/** Manage the Thread network of Thread Border Router */
-cluster ThreadBorderRouterManagement = 1106 {
+provisional cluster ThreadBorderRouterManagement = 1106 {
revision 1;
bitmap Feature : bitmap32 {
kPANChange = 0x1;
}
- readonly attribute char_string<63> borderRouterName = 0;
- readonly attribute octet_string<254> borderAgentID = 1;
- readonly attribute int16u threadVersion = 2;
- readonly attribute boolean interfaceEnabled = 3;
- readonly attribute nullable int64u activeDatasetTimestamp = 5;
+ provisional readonly attribute char_string<63> borderRouterName = 0;
+ provisional readonly attribute octet_string<254> borderAgentID = 1;
+ provisional readonly attribute int16u threadVersion = 2;
+ provisional readonly attribute boolean interfaceEnabled = 3;
+ provisional readonly attribute nullable int64u activeDatasetTimestamp = 4;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -8029,7 +8029,7 @@ cluster ThreadBorderRouterManagement = 1106 {
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
- response struct DatasetResponse = 3 {
+ response struct DatasetResponse = 2 {
octet_string<254> dataset = 0;
}
@@ -8047,9 +8047,9 @@ cluster ThreadBorderRouterManagement = 1106 {
/** Command to request the pending dataset of the Thread network to which the border router is connected. This command must be sent over a valid CASE session */
command access(invoke: manage) GetPendingDatasetRequest(): DatasetResponse = 1;
/** Command to set or update the active Dataset of the Thread network to which the Border Router is connected. */
- command access(invoke: manage) SetActiveDatasetRequest(SetActiveDatasetRequestRequest): DefaultSuccess = 4;
+ command access(invoke: manage) SetActiveDatasetRequest(SetActiveDatasetRequestRequest): DefaultSuccess = 3;
/** Command set or update the pending Dataset of the Thread network to which the Border Router is connected. */
- command access(invoke: manage) SetPendingDatasetRequest(SetPendingDatasetRequestRequest): DefaultSuccess = 5;
+ command access(invoke: manage) SetPendingDatasetRequest(SetPendingDatasetRequestRequest): DefaultSuccess = 4;
}
/** Manages the names and credentials of Thread networks visible to the user. */
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
index e96b2925e77a65..b50456a52fea36 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
@@ -53618,7 +53618,7 @@ public static class ThreadBorderRouterManagementCluster extends BaseChipCluster
private static final long BORDER_AGENT_I_D_ATTRIBUTE_ID = 1L;
private static final long THREAD_VERSION_ATTRIBUTE_ID = 2L;
private static final long INTERFACE_ENABLED_ATTRIBUTE_ID = 3L;
- private static final long ACTIVE_DATASET_TIMESTAMP_ATTRIBUTE_ID = 5L;
+ private static final long ACTIVE_DATASET_TIMESTAMP_ATTRIBUTE_ID = 4L;
private static final long GENERATED_COMMAND_LIST_ATTRIBUTE_ID = 65528L;
private static final long ACCEPTED_COMMAND_LIST_ATTRIBUTE_ID = 65529L;
private static final long EVENT_LIST_ATTRIBUTE_ID = 65530L;
@@ -53693,7 +53693,7 @@ public void setActiveDatasetRequest(DefaultClusterCallback callback, byte[] acti
}
public void setActiveDatasetRequest(DefaultClusterCallback callback, byte[] activeDataset, Optional breadcrumb, int timedInvokeTimeoutMs) {
- final long commandId = 4L;
+ final long commandId = 3L;
ArrayList elements = new ArrayList<>();
final long activeDatasetFieldID = 0L;
@@ -53717,7 +53717,7 @@ public void setPendingDatasetRequest(DefaultClusterCallback callback, byte[] pen
}
public void setPendingDatasetRequest(DefaultClusterCallback callback, byte[] pendingDataset, int timedInvokeTimeoutMs) {
- final long commandId = 5L;
+ final long commandId = 4L;
ArrayList elements = new ArrayList<>();
final long pendingDatasetFieldID = 0L;
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
index eb51a558634fe4..d5950e76261365 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
@@ -14565,7 +14565,7 @@ public enum Attribute {
BorderAgentID(1L),
ThreadVersion(2L),
InterfaceEnabled(3L),
- ActiveDatasetTimestamp(5L),
+ ActiveDatasetTimestamp(4L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
@@ -14614,8 +14614,8 @@ public static Event value(long id) throws NoSuchFieldError {
public enum Command {
GetActiveDatasetRequest(0L),
GetPendingDatasetRequest(1L),
- SetActiveDatasetRequest(4L),
- SetPendingDatasetRequest(5L),;
+ SetActiveDatasetRequest(3L),
+ SetPendingDatasetRequest(4L),;
private final long id;
Command(long id) {
this.id = id;
diff --git a/src/controller/java/generated/java/matter/controller/cluster/clusters/ThreadBorderRouterManagementCluster.kt b/src/controller/java/generated/java/matter/controller/cluster/clusters/ThreadBorderRouterManagementCluster.kt
index 74a006c4d2a96b..b212ff7904d2fc 100644
--- a/src/controller/java/generated/java/matter/controller/cluster/clusters/ThreadBorderRouterManagementCluster.kt
+++ b/src/controller/java/generated/java/matter/controller/cluster/clusters/ThreadBorderRouterManagementCluster.kt
@@ -185,7 +185,7 @@ class ThreadBorderRouterManagementCluster(
breadcrumb: ULong?,
timedInvokeTimeout: Duration? = null,
) {
- val commandId: UInt = 4u
+ val commandId: UInt = 3u
val tlvWriter = TlvWriter()
tlvWriter.startStructure(AnonymousTag)
@@ -212,7 +212,7 @@ class ThreadBorderRouterManagementCluster(
pendingDataset: ByteArray,
timedInvokeTimeout: Duration? = null,
) {
- val commandId: UInt = 5u
+ val commandId: UInt = 4u
val tlvWriter = TlvWriter()
tlvWriter.startStructure(AnonymousTag)
@@ -561,7 +561,7 @@ class ThreadBorderRouterManagementCluster(
}
suspend fun readActiveDatasetTimestampAttribute(): ActiveDatasetTimestampAttribute {
- val ATTRIBUTE_ID: UInt = 5u
+ val ATTRIBUTE_ID: UInt = 4u
val attributePath =
AttributePath(endpointId = endpointId, clusterId = CLUSTER_ID, attributeId = ATTRIBUTE_ID)
@@ -601,7 +601,7 @@ class ThreadBorderRouterManagementCluster(
minInterval: Int,
maxInterval: Int,
): Flow {
- val ATTRIBUTE_ID: UInt = 5u
+ val ATTRIBUTE_ID: UInt = 4u
val attributePaths =
listOf(
AttributePath(endpointId = endpointId, clusterId = CLUSTER_ID, attributeId = ATTRIBUTE_ID)
diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py
index db05bf7319200b..51af5fadd0c8c1 100644
--- a/src/controller/python/chip/clusters/CHIPClusters.py
+++ b/src/controller/python/chip/clusters/CHIPClusters.py
@@ -11714,16 +11714,16 @@ class ChipClusters:
"args": {
},
},
- 0x00000004: {
- "commandId": 0x00000004,
+ 0x00000003: {
+ "commandId": 0x00000003,
"commandName": "SetActiveDatasetRequest",
"args": {
"activeDataset": "bytes",
"breadcrumb": "int",
},
},
- 0x00000005: {
- "commandId": 0x00000005,
+ 0x00000004: {
+ "commandId": 0x00000004,
"commandName": "SetPendingDatasetRequest",
"args": {
"pendingDataset": "bytes",
@@ -11755,9 +11755,9 @@ class ChipClusters:
"type": "bool",
"reportable": True,
},
- 0x00000005: {
+ 0x00000004: {
"attributeName": "ActiveDatasetTimestamp",
- "attributeId": 0x00000005,
+ "attributeId": 0x00000004,
"type": "int",
"reportable": True,
},
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index 516e2f5a2e7800..d86774e4916683 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -41148,7 +41148,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="borderAgentID", Tag=0x00000001, Type=bytes),
ClusterObjectFieldDescriptor(Label="threadVersion", Tag=0x00000002, Type=uint),
ClusterObjectFieldDescriptor(Label="interfaceEnabled", Tag=0x00000003, Type=bool),
- ClusterObjectFieldDescriptor(Label="activeDatasetTimestamp", Tag=0x00000005, Type=typing.Union[Nullable, uint]),
+ ClusterObjectFieldDescriptor(Label="activeDatasetTimestamp", Tag=0x00000004, Type=typing.Union[Nullable, uint]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -41203,7 +41203,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
@dataclass
class DatasetResponse(ClusterCommand):
cluster_id: typing.ClassVar[int] = 0x00000452
- command_id: typing.ClassVar[int] = 0x00000003
+ command_id: typing.ClassVar[int] = 0x00000002
is_client: typing.ClassVar[bool] = False
response_type: typing.ClassVar[str] = None
@@ -41219,7 +41219,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
@dataclass
class SetActiveDatasetRequest(ClusterCommand):
cluster_id: typing.ClassVar[int] = 0x00000452
- command_id: typing.ClassVar[int] = 0x00000004
+ command_id: typing.ClassVar[int] = 0x00000003
is_client: typing.ClassVar[bool] = True
response_type: typing.ClassVar[str] = None
@@ -41237,7 +41237,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
@dataclass
class SetPendingDatasetRequest(ClusterCommand):
cluster_id: typing.ClassVar[int] = 0x00000452
- command_id: typing.ClassVar[int] = 0x00000005
+ command_id: typing.ClassVar[int] = 0x00000004
is_client: typing.ClassVar[bool] = True
response_type: typing.ClassVar[str] = None
@@ -41323,7 +41323,7 @@ def cluster_id(cls) -> int:
@ChipUtility.classproperty
def attribute_id(cls) -> int:
- return 0x00000005
+ return 0x00000004
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
index 2b9d4fbba701d5..d144d8098fcfe8 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
@@ -4395,7 +4395,7 @@ typedef NS_ENUM(uint32_t, MTRAttributeIDType) {
MTRAttributeIDTypeClusterThreadBorderRouterManagementAttributeBorderAgentIDID MTR_PROVISIONALLY_AVAILABLE = 0x00000001,
MTRAttributeIDTypeClusterThreadBorderRouterManagementAttributeThreadVersionID MTR_PROVISIONALLY_AVAILABLE = 0x00000002,
MTRAttributeIDTypeClusterThreadBorderRouterManagementAttributeInterfaceEnabledID MTR_PROVISIONALLY_AVAILABLE = 0x00000003,
- MTRAttributeIDTypeClusterThreadBorderRouterManagementAttributeActiveDatasetTimestampID MTR_PROVISIONALLY_AVAILABLE = 0x00000005,
+ MTRAttributeIDTypeClusterThreadBorderRouterManagementAttributeActiveDatasetTimestampID MTR_PROVISIONALLY_AVAILABLE = 0x00000004,
MTRAttributeIDTypeClusterThreadBorderRouterManagementAttributeGeneratedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeGeneratedCommandListID,
MTRAttributeIDTypeClusterThreadBorderRouterManagementAttributeAcceptedCommandListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeAcceptedCommandListID,
MTRAttributeIDTypeClusterThreadBorderRouterManagementAttributeEventListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeEventListID,
@@ -6641,9 +6641,9 @@ typedef NS_ENUM(uint32_t, MTRCommandIDType) {
// Cluster ThreadBorderRouterManagement commands
MTRCommandIDTypeClusterThreadBorderRouterManagementCommandGetActiveDatasetRequestID MTR_PROVISIONALLY_AVAILABLE = 0x00000000,
MTRCommandIDTypeClusterThreadBorderRouterManagementCommandGetPendingDatasetRequestID MTR_PROVISIONALLY_AVAILABLE = 0x00000001,
- MTRCommandIDTypeClusterThreadBorderRouterManagementCommandDatasetResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000003,
- MTRCommandIDTypeClusterThreadBorderRouterManagementCommandSetActiveDatasetRequestID MTR_PROVISIONALLY_AVAILABLE = 0x00000004,
- MTRCommandIDTypeClusterThreadBorderRouterManagementCommandSetPendingDatasetRequestID MTR_PROVISIONALLY_AVAILABLE = 0x00000005,
+ MTRCommandIDTypeClusterThreadBorderRouterManagementCommandDatasetResponseID MTR_PROVISIONALLY_AVAILABLE = 0x00000002,
+ MTRCommandIDTypeClusterThreadBorderRouterManagementCommandSetActiveDatasetRequestID MTR_PROVISIONALLY_AVAILABLE = 0x00000003,
+ MTRCommandIDTypeClusterThreadBorderRouterManagementCommandSetPendingDatasetRequestID MTR_PROVISIONALLY_AVAILABLE = 0x00000004,
// Cluster ThreadNetworkDirectory commands
MTRCommandIDTypeClusterThreadNetworkDirectoryCommandAddNetworkID MTR_PROVISIONALLY_AVAILABLE = 0x00000000,
diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
index 7bfad24bf56998..1136c9b0e945cb 100644
--- a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
+++ b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
@@ -6699,7 +6699,7 @@ static constexpr AttributeId Id = 0x00000003;
} // namespace InterfaceEnabled
namespace ActiveDatasetTimestamp {
-static constexpr AttributeId Id = 0x00000005;
+static constexpr AttributeId Id = 0x00000004;
} // namespace ActiveDatasetTimestamp
namespace GeneratedCommandList {
diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h b/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h
index cff6ad343f0db3..0248f95ab2c065 100644
--- a/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h
+++ b/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h
@@ -1429,15 +1429,15 @@ static constexpr CommandId Id = 0x00000001;
} // namespace GetPendingDatasetRequest
namespace DatasetResponse {
-static constexpr CommandId Id = 0x00000003;
+static constexpr CommandId Id = 0x00000002;
} // namespace DatasetResponse
namespace SetActiveDatasetRequest {
-static constexpr CommandId Id = 0x00000004;
+static constexpr CommandId Id = 0x00000003;
} // namespace SetActiveDatasetRequest
namespace SetPendingDatasetRequest {
-static constexpr CommandId Id = 0x00000005;
+static constexpr CommandId Id = 0x00000004;
} // namespace SetPendingDatasetRequest
} // namespace Commands
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
index a7bae21539e5b8..6dbb4d8b8ab7b8 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
@@ -11185,15 +11185,15 @@ class WiFiNetworkManagementNetworkPassphraseRequest : public ClusterCommand
| Commands: | |
| * GetActiveDatasetRequest | 0x00 |
| * GetPendingDatasetRequest | 0x01 |
-| * SetActiveDatasetRequest | 0x04 |
-| * SetPendingDatasetRequest | 0x05 |
+| * SetActiveDatasetRequest | 0x03 |
+| * SetPendingDatasetRequest | 0x04 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * BorderRouterName | 0x0000 |
| * BorderAgentID | 0x0001 |
| * ThreadVersion | 0x0002 |
| * InterfaceEnabled | 0x0003 |
-| * ActiveDatasetTimestamp | 0x0005 |
+| * ActiveDatasetTimestamp | 0x0004 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
diff --git a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
index 166c18b63911e4..fc7154bf45f6e5 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
@@ -145154,15 +145154,15 @@ class SubscribeAttributeWiFiNetworkManagementClusterRevision : public SubscribeA
| Commands: | |
| * GetActiveDatasetRequest | 0x00 |
| * GetPendingDatasetRequest | 0x01 |
-| * SetActiveDatasetRequest | 0x04 |
-| * SetPendingDatasetRequest | 0x05 |
+| * SetActiveDatasetRequest | 0x03 |
+| * SetPendingDatasetRequest | 0x04 |
|------------------------------------------------------------------------------|
| Attributes: | |
| * BorderRouterName | 0x0000 |
| * BorderAgentID | 0x0001 |
| * ThreadVersion | 0x0002 |
| * InterfaceEnabled | 0x0003 |
-| * ActiveDatasetTimestamp | 0x0005 |
+| * ActiveDatasetTimestamp | 0x0004 |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |