diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter
index 9c1a05687d3c6a..0e0d9153e3812b 100644
--- a/examples/placeholder/linux/apps/app1/config.matter
+++ b/examples/placeholder/linux/apps/app1/config.matter
@@ -2387,8 +2387,12 @@ cluster BridgedDeviceBasicInformation = 57 {
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
+ request struct KeepActiveRequest {
+ int32u stayActiveDuration = 0;
+ }
+
/** The server SHALL attempt to keep the devices specified active for StayActiveDuration milliseconds when they are next active. */
- command KeepActive(): DefaultSuccess = 128;
+ command KeepActive(KeepActiveRequest): DefaultSuccess = 128;
}
/** This cluster exposes interactions with a switch device, for the purpose of using those interactions by other devices.
diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter
index a48b8accff55c5..23da0f0f0b3186 100644
--- a/examples/placeholder/linux/apps/app2/config.matter
+++ b/examples/placeholder/linux/apps/app2/config.matter
@@ -2344,8 +2344,12 @@ cluster BridgedDeviceBasicInformation = 57 {
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
+ request struct KeepActiveRequest {
+ int32u stayActiveDuration = 0;
+ }
+
/** The server SHALL attempt to keep the devices specified active for StayActiveDuration milliseconds when they are next active. */
- command KeepActive(): DefaultSuccess = 128;
+ command KeepActive(KeepActiveRequest): DefaultSuccess = 128;
}
/** This cluster exposes interactions with a switch device, for the purpose of using those interactions by other devices.
diff --git a/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information.xml b/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information.xml
index ff118a8a80c162..74f88bea39e623 100644
--- a/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information.xml
@@ -96,6 +96,7 @@ limitations under the License.
The server SHALL attempt to keep the devices specified active for StayActiveDuration milliseconds when they are next active.
+
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index dd93ed7fe2cc9b..c42b43180a429e 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -2292,8 +2292,12 @@ cluster BridgedDeviceBasicInformation = 57 {
readonly attribute bitmap32 featureMap = 65532;
readonly attribute int16u clusterRevision = 65533;
+ request struct KeepActiveRequest {
+ int32u stayActiveDuration = 0;
+ }
+
/** The server SHALL attempt to keep the devices specified active for StayActiveDuration milliseconds when they are next active. */
- command KeepActive(): DefaultSuccess = 128;
+ command KeepActive(KeepActiveRequest): DefaultSuccess = 128;
}
/** This cluster exposes interactions with a switch device, for the purpose of using those interactions by other devices.
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
index e11a47a23a8c7c..44916e43508f92 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
@@ -14963,14 +14963,18 @@ public long initWithDevice(long devicePtr, int endpointId) {
return 0L;
}
- public void keepActive(DefaultClusterCallback callback) {
- keepActive(callback, 0);
+ public void keepActive(DefaultClusterCallback callback, Long stayActiveDuration) {
+ keepActive(callback, stayActiveDuration, 0);
}
- public void keepActive(DefaultClusterCallback callback, int timedInvokeTimeoutMs) {
+ public void keepActive(DefaultClusterCallback callback, Long stayActiveDuration, int timedInvokeTimeoutMs) {
final long commandId = 128L;
ArrayList elements = new ArrayList<>();
+ final long stayActiveDurationFieldID = 0L;
+ BaseTLVType stayActiveDurationtlvValue = new UIntType(stayActiveDuration);
+ elements.add(new StructElement(stayActiveDurationFieldID, stayActiveDurationtlvValue));
+
StructType commandArgs = new StructType(elements);
invoke(new InvokeCallbackImpl(callback) {
@Override
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
index ab20bdcaa301e9..d8d0103122870e 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
@@ -4498,7 +4498,24 @@ public static Command value(long id) throws NoSuchFieldError {
}
throw new NoSuchFieldError();
}
- }@Override
+ }public enum KeepActiveCommandField {StayActiveDuration(0),;
+ private final int id;
+ KeepActiveCommandField(int id) {
+ this.id = id;
+ }
+
+ public int getID() {
+ return id;
+ }
+ public static KeepActiveCommandField value(int id) throws NoSuchFieldError {
+ for (KeepActiveCommandField field : KeepActiveCommandField.values()) {
+ if (field.getID() == id) {
+ return field;
+ }
+ }
+ throw new NoSuchFieldError();
+ }
+ }@Override
public String getAttributeName(long id) throws NoSuchFieldError {
return Attribute.value(id).toString();
}
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java
index ca3d74f1ac3797..2eda0a0fe9b6df 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java
@@ -24181,10 +24181,15 @@ public Map> getCommandMap() {
Map bridgedDeviceBasicInformationClusterInteractionInfoMap = new LinkedHashMap<>();
Map bridgedDeviceBasicInformationkeepActiveCommandParams = new LinkedHashMap();
+
+ CommandParameterInfo bridgedDeviceBasicInformationkeepActivestayActiveDurationCommandParameterInfo = new CommandParameterInfo("stayActiveDuration", Long.class, Long.class);
+ bridgedDeviceBasicInformationkeepActiveCommandParams.put("stayActiveDuration",bridgedDeviceBasicInformationkeepActivestayActiveDurationCommandParameterInfo);
InteractionInfo bridgedDeviceBasicInformationkeepActiveInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
((ChipClusters.BridgedDeviceBasicInformationCluster) cluster)
.keepActive((DefaultClusterCallback) callback
+ , (Long)
+ commandArguments.get("stayActiveDuration")
);
},
() -> new DelegatedDefaultClusterCallback(),
diff --git a/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt b/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt
index 45adb1bb8f7820..64742323eec50c 100644
--- a/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt
+++ b/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt
@@ -40,6 +40,7 @@ import matter.controller.cluster.structs.*
import matter.controller.model.AttributePath
import matter.controller.model.CommandPath
import matter.tlv.AnonymousTag
+import matter.tlv.ContextSpecificTag
import matter.tlv.TlvReader
import matter.tlv.TlvWriter
@@ -100,11 +101,14 @@ class BridgedDeviceBasicInformationCluster(
object SubscriptionEstablished : AttributeListAttributeSubscriptionState()
}
- suspend fun keepActive(timedInvokeTimeout: Duration? = null) {
+ suspend fun keepActive(stayActiveDuration: UInt, timedInvokeTimeout: Duration? = null) {
val commandId: UInt = 128u
val tlvWriter = TlvWriter()
tlvWriter.startStructure(AnonymousTag)
+
+ val TAG_STAY_ACTIVE_DURATION_REQ: Int = 0
+ tlvWriter.put(ContextSpecificTag(TAG_STAY_ACTIVE_DURATION_REQ), stayActiveDuration)
tlvWriter.endStructure()
val request: InvokeRequest =
diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py
index 6621bbc4bea2a6..9ff35fceca020a 100644
--- a/src/controller/python/chip/clusters/CHIPClusters.py
+++ b/src/controller/python/chip/clusters/CHIPClusters.py
@@ -3250,6 +3250,7 @@ class ChipClusters:
"commandId": 0x00000080,
"commandName": "KeepActive",
"args": {
+ "stayActiveDuration": "int",
},
},
},
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index fe9a008e11066e..ea5db1a543ef4f 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -11489,8 +11489,11 @@ class KeepActive(ClusterCommand):
def descriptor(cls) -> ClusterObjectDescriptor:
return ClusterObjectDescriptor(
Fields=[
+ ClusterObjectFieldDescriptor(Label="stayActiveDuration", Tag=0, Type=uint),
])
+ stayActiveDuration: 'uint' = 0
+
class Attributes:
@dataclass
class VendorName(ClusterAttributeDescriptor):
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
index 2bcdb3fbc3919e..1d4b2e53dd68a7 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
@@ -3675,9 +3675,7 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
*
* The server SHALL attempt to keep the devices specified active for StayActiveDuration milliseconds when they are next active.
*/
-- (void)keepActiveWithParams:(MTRBridgedDeviceBasicInformationClusterKeepActiveParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE;
-- (void)keepActiveWithCompletion:(MTRStatusCompletion)completion
- MTR_PROVISIONALLY_AVAILABLE;
+- (void)keepActiveWithParams:(MTRBridgedDeviceBasicInformationClusterKeepActiveParams *)params completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE;
- (void)readAttributeVendorNameWithCompletion:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4));
- (void)subscribeAttributeVendorNameWithParams:(MTRSubscribeParams *)params
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
index 641fea65515da4..9a52c2fa6f443f 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
@@ -30658,11 +30658,7 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC
@implementation MTRBaseClusterBridgedDeviceBasicInformation
-- (void)keepActiveWithCompletion:(MTRStatusCompletion)completion
-{
- [self keepActiveWithParams:nil completion:completion];
-}
-- (void)keepActiveWithParams:(MTRBridgedDeviceBasicInformationClusterKeepActiveParams * _Nullable)params completion:(MTRStatusCompletion)completion
+- (void)keepActiveWithParams:(MTRBridgedDeviceBasicInformationClusterKeepActiveParams *)params completion:(MTRStatusCompletion)completion
{
if (params == nil) {
params = [[MTRBridgedDeviceBasicInformationClusterKeepActiveParams
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
index cefb92935beab4..d2b14b7411275a 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
@@ -1699,9 +1699,7 @@ MTR_PROVISIONALLY_AVAILABLE
MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4))
@interface MTRClusterBridgedDeviceBasicInformation : MTRGenericCluster
-- (void)keepActiveWithParams:(MTRBridgedDeviceBasicInformationClusterKeepActiveParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE;
-- (void)keepActiveWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion
- MTR_PROVISIONALLY_AVAILABLE;
+- (void)keepActiveWithParams:(MTRBridgedDeviceBasicInformationClusterKeepActiveParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE;
- (NSDictionary * _Nullable)readAttributeVendorNameWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4));
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm
index 8c38a6c584b79e..8e4eb87ebb9d30 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm
@@ -4944,11 +4944,7 @@ - (void)setDefaultNTPWithParams:(MTRTimeSynchronizationClusterSetDefaultNTPParam
@implementation MTRClusterBridgedDeviceBasicInformation
-- (void)keepActiveWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion
-{
- [self keepActiveWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion];
-}
-- (void)keepActiveWithParams:(MTRBridgedDeviceBasicInformationClusterKeepActiveParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion
+- (void)keepActiveWithParams:(MTRBridgedDeviceBasicInformationClusterKeepActiveParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion
{
if (params == nil) {
params = [[MTRBridgedDeviceBasicInformationClusterKeepActiveParams
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h
index 3746227a4f9d21..ce0efe00ff662b 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h
@@ -2917,6 +2917,8 @@ MTR_PROVISIONALLY_AVAILABLE
MTR_PROVISIONALLY_AVAILABLE
@interface MTRBridgedDeviceBasicInformationClusterKeepActiveParams : NSObject
+
+@property (nonatomic, copy) NSNumber * _Nonnull stayActiveDuration MTR_PROVISIONALLY_AVAILABLE;
/**
* Controls whether the command is a timed command (using Timed Invoke).
*
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm
index 8d18518670e808..d8afae36de88c7 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm
@@ -7560,6 +7560,8 @@ @implementation MTRBridgedDeviceBasicInformationClusterKeepActiveParams
- (instancetype)init
{
if (self = [super init]) {
+
+ _stayActiveDuration = @(0);
_timedInvokeTimeoutMs = nil;
_serverSideProcessingTimeout = nil;
}
@@ -7570,6 +7572,7 @@ - (id)copyWithZone:(NSZone * _Nullable)zone;
{
auto other = [[MTRBridgedDeviceBasicInformationClusterKeepActiveParams alloc] init];
+ other.stayActiveDuration = self.stayActiveDuration;
other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs;
other.serverSideProcessingTimeout = self.serverSideProcessingTimeout;
@@ -7578,7 +7581,7 @@ - (id)copyWithZone:(NSZone * _Nullable)zone;
- (NSString *)description
{
- NSString * descriptionString = [NSString stringWithFormat:@"<%@: >", NSStringFromClass([self class])];
+ NSString * descriptionString = [NSString stringWithFormat:@"<%@: stayActiveDuration:%@; >", NSStringFromClass([self class]), _stayActiveDuration];
return descriptionString;
}
@@ -7590,6 +7593,9 @@ - (CHIP_ERROR)_encodeToTLVReader:(chip::System::PacketBufferTLVReader &)reader
{
chip::app::Clusters::BridgedDeviceBasicInformation::Commands::KeepActive::Type encodableStruct;
ListFreer listFreer;
+ {
+ encodableStruct.stayActiveDuration = self.stayActiveDuration.unsignedIntValue;
+ }
auto buffer = chip::System::PacketBufferHandle::New(chip::System::PacketBuffer::kMaxSizeWithoutReserve, 0);
if (buffer.IsNull()) {
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
index 2a3e9856803f68..01ab703369f3e8 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
@@ -7782,6 +7782,7 @@ namespace KeepActive {
CHIP_ERROR Type::Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const
{
DataModel::WrappedStructEncoder encoder{ aWriter, aTag };
+ encoder.Encode(to_underlying(Fields::kStayActiveDuration), stayActiveDuration);
return encoder.Finalize();
}
@@ -7795,6 +7796,19 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader)
{
return std::get(__element);
}
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ const uint8_t __context_tag = std::get(__element);
+
+ if (__context_tag == to_underlying(Fields::kStayActiveDuration))
+ {
+ err = DataModel::Decode(reader, stayActiveDuration);
+ }
+ else
+ {
+ }
+
+ ReturnErrorOnFailure(err);
}
}
} // namespace KeepActive.
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
index 81be5e1224e81d..21397acf9044b8 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
@@ -10638,6 +10638,7 @@ namespace Commands {
namespace KeepActive {
enum class Fields : uint8_t
{
+ kStayActiveDuration = 0,
};
struct Type
@@ -10647,6 +10648,8 @@ struct Type
static constexpr CommandId GetCommandId() { return Commands::KeepActive::Id; }
static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasicInformation::Id; }
+ uint32_t stayActiveDuration = static_cast(0);
+
CHIP_ERROR Encode(TLV::TLVWriter & aWriter, TLV::Tag aTag) const;
using ResponseType = DataModel::NullObjectType;
@@ -10660,6 +10663,7 @@ struct DecodableType
static constexpr CommandId GetCommandId() { return Commands::KeepActive::Id; }
static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasicInformation::Id; }
+ uint32_t stayActiveDuration = static_cast(0);
CHIP_ERROR Decode(TLV::TLVReader & reader);
};
}; // namespace KeepActive
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
index 273f743a19cf00..de7119888f8af0 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
@@ -3436,6 +3436,7 @@ class BridgedDeviceBasicInformationKeepActive : public ClusterCommand
BridgedDeviceBasicInformationKeepActive(CredentialIssuerCommands * credsIssuerConfig) :
ClusterCommand("keep-active", credsIssuerConfig)
{
+ AddArgument("StayActiveDuration", 0, UINT32_MAX, &mRequest.stayActiveDuration);
ClusterCommand::AddArguments();
}
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 8ebe6735d29dd0..014f1b890bf168 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
@@ -39513,6 +39513,9 @@ class BridgedDeviceBasicInformationKeepActive : public ClusterCommand {
BridgedDeviceBasicInformationKeepActive()
: ClusterCommand("keep-active")
{
+#if MTR_ENABLE_PROVISIONAL
+ AddArgument("StayActiveDuration", 0, UINT32_MAX, &mRequest.stayActiveDuration);
+#endif // MTR_ENABLE_PROVISIONAL
ClusterCommand::AddArguments();
}
@@ -39527,6 +39530,9 @@ class BridgedDeviceBasicInformationKeepActive : public ClusterCommand {
__auto_type * cluster = [[MTRBaseClusterBridgedDeviceBasicInformation alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue];
__auto_type * params = [[MTRBridgedDeviceBasicInformationClusterKeepActiveParams alloc] init];
params.timedInvokeTimeoutMs = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil;
+#if MTR_ENABLE_PROVISIONAL
+ params.stayActiveDuration = [NSNumber numberWithUnsignedInt:mRequest.stayActiveDuration];
+#endif // MTR_ENABLE_PROVISIONAL
uint16_t repeatCount = mRepeatCount.ValueOr(1);
uint16_t __block responsesNeeded = repeatCount;
while (repeatCount--) {
@@ -39547,6 +39553,7 @@ class BridgedDeviceBasicInformationKeepActive : public ClusterCommand {
}
private:
+ chip::app::Clusters::BridgedDeviceBasicInformation::Commands::KeepActive::Type mRequest;
};
#endif // MTR_ENABLE_PROVISIONAL