diff --git a/examples/log-source-app/log-source-common/log-source-app.matter b/examples/log-source-app/log-source-common/log-source-app.matter index e00f69ca61edc0..543964d22f8683 100644 --- a/examples/log-source-app/log-source-common/log-source-app.matter +++ b/examples/log-source-app/log-source-common/log-source-app.matter @@ -300,8 +300,8 @@ server cluster DiagnosticLogs = 50 { response struct RetrieveLogsResponse = 1 { LogsStatus status = 0; - OCTET_STRING content = 1; - epoch_s timeStamp = 2; + OCTET_STRING logContent = 1; + epoch_s UTCTimeStamp = 2; INT32U timeSinceBoot = 3; } diff --git a/src/app/clusters/diagnostic-logs-server/diagnostic-logs-server.cpp b/src/app/clusters/diagnostic-logs-server/diagnostic-logs-server.cpp index 40b8e84443ce4e..1d0db1b975c880 100644 --- a/src/app/clusters/diagnostic-logs-server/diagnostic-logs-server.cpp +++ b/src/app/clusters/diagnostic-logs-server/diagnostic-logs-server.cpp @@ -74,9 +74,9 @@ void DiagnosticLogsCommandHandler::InvokeCommand(HandlerContext & handlerContext VerifyOrDie(err == CHIP_NO_ERROR); timeMs = *reinterpret_cast(buf.get()); - response.status = chip::app::Clusters::DiagnosticLogs::LogsStatus::kSuccess; - response.content = chip::ByteSpan(buf.get() + sizeof(timeMs), logSize - sizeof(timeMs)); - response.timeStamp = timeMs; + response.status = chip::app::Clusters::DiagnosticLogs::LogsStatus::kSuccess; + response.logContent = chip::ByteSpan(buf.get() + sizeof(timeMs), logSize - sizeof(timeMs)); + response.UTCTimeStamp = timeMs; handlerContext.mCommandHandler.AddResponse(handlerContext.mRequestPath, response); } break; diff --git a/src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml index 74448bf1b37054..2f5f9874c29c1e 100644 --- a/src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/diagnostic-logs-cluster.xml @@ -45,16 +45,16 @@ limitations under the License. true Retrieving diagnostic logs from a Node - - - + + + Response to the RetrieveLogsRequest - - - - + + + + diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index f7573977ba4a49..76131a2a09708b 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -1280,8 +1280,8 @@ client cluster DiagnosticLogs = 50 { response struct RetrieveLogsResponse = 1 { LogsStatus status = 0; - OCTET_STRING content = 1; - epoch_s timeStamp = 2; + OCTET_STRING logContent = 1; + epoch_s UTCTimeStamp = 2; INT32U timeSinceBoot = 3; } diff --git a/src/controller/java/zap-generated/CHIPInvokeCallbacks.cpp b/src/controller/java/zap-generated/CHIPInvokeCallbacks.cpp index a77e04584a2a7b..641136d75b97f8 100644 --- a/src/controller/java/zap-generated/CHIPInvokeCallbacks.cpp +++ b/src/controller/java/zap-generated/CHIPInvokeCallbacks.cpp @@ -1786,28 +1786,28 @@ void CHIPDiagnosticLogsClusterRetrieveLogsResponseCallback::CallbackFn( "(Ljava/lang/Integer;[BLjava/lang/Long;Ljava/lang/Long;)V", &javaMethod); VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Error invoking Java callback: %s", ErrorStr(err))); - jobject status; - std::string statusClassName = "java/lang/Integer"; - std::string statusCtorSignature = "(I)V"; - chip::JniReferences::GetInstance().CreateBoxedObject(statusClassName.c_str(), statusCtorSignature.c_str(), - static_cast(dataResponse.status), status); - jobject content; - jbyteArray contentByteArray = env->NewByteArray(static_cast(dataResponse.content.size())); - env->SetByteArrayRegion(contentByteArray, 0, static_cast(dataResponse.content.size()), - reinterpret_cast(dataResponse.content.data())); - content = contentByteArray; - jobject timeStamp; - std::string timeStampClassName = "java/lang/Long"; - std::string timeStampCtorSignature = "(J)V"; - chip::JniReferences::GetInstance().CreateBoxedObject(timeStampClassName.c_str(), timeStampCtorSignature.c_str(), - dataResponse.timeStamp, timeStamp); - jobject timeSinceBoot; - std::string timeSinceBootClassName = "java/lang/Long"; - std::string timeSinceBootCtorSignature = "(J)V"; + jobject Status; + std::string StatusClassName = "java/lang/Integer"; + std::string StatusCtorSignature = "(I)V"; + chip::JniReferences::GetInstance().CreateBoxedObject(StatusClassName.c_str(), StatusCtorSignature.c_str(), + static_cast(dataResponse.status), Status); + jobject LogContent; + jbyteArray LogContentByteArray = env->NewByteArray(static_cast(dataResponse.logContent.size())); + env->SetByteArrayRegion(LogContentByteArray, 0, static_cast(dataResponse.logContent.size()), + reinterpret_cast(dataResponse.logContent.data())); + LogContent = LogContentByteArray; + jobject UTCTimeStamp; + std::string UTCTimeStampClassName = "java/lang/Long"; + std::string UTCTimeStampCtorSignature = "(J)V"; + chip::JniReferences::GetInstance().CreateBoxedObject(UTCTimeStampClassName.c_str(), UTCTimeStampCtorSignature.c_str(), + dataResponse.UTCTimeStamp, UTCTimeStamp); + jobject TimeSinceBoot; + std::string TimeSinceBootClassName = "java/lang/Long"; + std::string TimeSinceBootCtorSignature = "(J)V"; chip::JniReferences::GetInstance().CreateBoxedObject( - timeSinceBootClassName.c_str(), timeSinceBootCtorSignature.c_str(), dataResponse.timeSinceBoot, timeSinceBoot); + TimeSinceBootClassName.c_str(), TimeSinceBootCtorSignature.c_str(), dataResponse.timeSinceBoot, TimeSinceBoot); - env->CallVoidMethod(javaCallbackRef, javaMethod, status, content, timeStamp, timeSinceBoot); + env->CallVoidMethod(javaCallbackRef, javaMethod, Status, LogContent, UTCTimeStamp, TimeSinceBoot); } CHIPOperationalCredentialsClusterAttestationResponseCallback::CHIPOperationalCredentialsClusterAttestationResponseCallback( jobject javaCallback) : diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java index caf489666d2783..0815690824f936 100644 --- a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java +++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java @@ -6508,7 +6508,7 @@ private native void retrieveLogsRequest( @Nullable Integer timedInvokeTimeoutMs); public interface RetrieveLogsResponseCallback { - void onSuccess(Integer status, byte[] content, Long timeStamp, Long timeSinceBoot); + void onSuccess(Integer status, byte[] logContent, Long UTCTimeStamp, Long timeSinceBoot); void onError(Exception error); } diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java b/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java index 19c2f02ba4c287..ac7c3c7838823e 100644 --- a/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java +++ b/src/controller/java/zap-generated/chip/devicecontroller/ClusterInfoMapping.java @@ -2504,17 +2504,19 @@ public void setCallbackDelegate(ClusterCommandCallback callback) { } @Override - public void onSuccess(Integer status, byte[] content, Long timeStamp, Long timeSinceBoot) { + public void onSuccess( + Integer Status, byte[] LogContent, Long UTCTimeStamp, Long TimeSinceBoot) { Map responseValues = new LinkedHashMap<>(); - CommandResponseInfo statusResponseValue = new CommandResponseInfo("status", "Integer"); - responseValues.put(statusResponseValue, status); - CommandResponseInfo contentResponseValue = new CommandResponseInfo("content", "byte[]"); - responseValues.put(contentResponseValue, content); - CommandResponseInfo timeStampResponseValue = new CommandResponseInfo("timeStamp", "Long"); - responseValues.put(timeStampResponseValue, timeStamp); - CommandResponseInfo timeSinceBootResponseValue = - new CommandResponseInfo("timeSinceBoot", "Long"); - responseValues.put(timeSinceBootResponseValue, timeSinceBoot); + CommandResponseInfo StatusResponseValue = new CommandResponseInfo("Status", "Integer"); + responseValues.put(StatusResponseValue, Status); + CommandResponseInfo LogContentResponseValue = new CommandResponseInfo("LogContent", "byte[]"); + responseValues.put(LogContentResponseValue, LogContent); + CommandResponseInfo UTCTimeStampResponseValue = + new CommandResponseInfo("UTCTimeStamp", "Long"); + responseValues.put(UTCTimeStampResponseValue, UTCTimeStamp); + CommandResponseInfo TimeSinceBootResponseValue = + new CommandResponseInfo("TimeSinceBoot", "Long"); + responseValues.put(TimeSinceBootResponseValue, TimeSinceBoot); callback.onSuccess(responseValues); } diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py index 6dea0ef9539d5d..c5a982651881be 100644 --- a/src/controller/python/chip/clusters/Objects.py +++ b/src/controller/python/chip/clusters/Objects.py @@ -7151,14 +7151,14 @@ def descriptor(cls) -> ClusterObjectDescriptor: return ClusterObjectDescriptor( Fields = [ ClusterObjectFieldDescriptor(Label="status", Tag=0, Type=DiagnosticLogs.Enums.LogsStatus), - ClusterObjectFieldDescriptor(Label="content", Tag=1, Type=bytes), - ClusterObjectFieldDescriptor(Label="timeStamp", Tag=2, Type=uint), + ClusterObjectFieldDescriptor(Label="logContent", Tag=1, Type=bytes), + ClusterObjectFieldDescriptor(Label="UTCTimeStamp", Tag=2, Type=uint), ClusterObjectFieldDescriptor(Label="timeSinceBoot", Tag=3, Type=uint), ]) status: 'DiagnosticLogs.Enums.LogsStatus' = 0 - content: 'bytes' = b"" - timeStamp: 'uint' = 0 + logContent: 'bytes' = b"" + UTCTimeStamp: 'uint' = 0 timeSinceBoot: 'uint' = 0 diff --git a/src/darwin/Framework/CHIP/templates/availability.yaml b/src/darwin/Framework/CHIP/templates/availability.yaml index 79510e723f9877..f38744f7c76104 100644 --- a/src/darwin/Framework/CHIP/templates/availability.yaml +++ b/src/darwin/Framework/CHIP/templates/availability.yaml @@ -4935,6 +4935,10 @@ OnOff: OffWithEffect: - effectIdentifier + DiagnosticLogs: + RetrieveLogsResponse: + - logContent + - utcTimeStamp structs: OTASoftwareUpdateRequestor: - ProviderLocation @@ -5246,6 +5250,10 @@ OnOff: OffWithEffect: - effectId + DiagnosticLogs: + RetrieveLogsResponse: + - content + - timeStamp structs: Descriptor: - DeviceType @@ -5337,6 +5345,10 @@ OnOff: OffWithEffect: effectIdentifier: effectId + DiagnosticLogs: + RetrieveLogsResponse: + logContent: content + utcTimeStamp: timeStamp structs: AccessControl: AccessControlEntryStruct: AccessControlEntry diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm index a77aee371cc2aa..4eaac1ab88fbea 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCallbackBridge.mm @@ -11912,10 +11912,10 @@ response.status = [NSNumber numberWithUnsignedChar:chip::to_underlying(data.status)]; } { - response.content = [NSData dataWithBytes:data.content.data() length:data.content.size()]; + response.logContent = [NSData dataWithBytes:data.logContent.data() length:data.logContent.size()]; } { - response.timeStamp = [NSNumber numberWithUnsignedInt:data.timeStamp]; + response.utcTimeStamp = [NSNumber numberWithUnsignedInt:data.UTCTimeStamp]; } { response.timeSinceBoot = [NSNumber numberWithUnsignedInt:data.timeSinceBoot]; diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h index 333de93093941f..ce896e4df4794b 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h @@ -2101,9 +2101,9 @@ API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @property (nonatomic, copy) NSNumber * _Nonnull status API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); -@property (nonatomic, copy) NSData * _Nonnull content API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); +@property (nonatomic, copy) NSData * _Nonnull logContent MTR_NEWLY_AVAILABLE; -@property (nonatomic, copy) NSNumber * _Nonnull timeStamp API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); +@property (nonatomic, copy) NSNumber * _Nonnull utcTimeStamp MTR_NEWLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull timeSinceBoot API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** @@ -2124,6 +2124,15 @@ API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) tvos(16.1)) MTR_NEWLY_DEPRECATED("Timed invoke does not make sense for server to client commands"); @end +@interface MTRDiagnosticLogsClusterRetrieveLogsResponseParams (Deprecated) + +@property (nonatomic, copy) NSData * _Nonnull content API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use logContent"); + +@property (nonatomic, copy) NSNumber * _Nonnull timeStamp API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) + MTR_NEWLY_DEPRECATED("Please use utcTimeStamp"); +@end + API_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGeneralDiagnosticsClusterTestEventTriggerParams : NSObject diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm index 66db340cb5044f..efc4fee32f2c5d 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm @@ -2938,9 +2938,9 @@ - (instancetype)init _status = @(0); - _content = [NSData data]; + _logContent = [NSData data]; - _timeStamp = @(0); + _utcTimeStamp = @(0); _timeSinceBoot = @(0); _timedInvokeTimeoutMs = nil; @@ -2953,8 +2953,8 @@ - (id)copyWithZone:(NSZone * _Nullable)zone; auto other = [[MTRDiagnosticLogsClusterRetrieveLogsResponseParams alloc] init]; other.status = self.status; - other.content = self.content; - other.timeStamp = self.timeStamp; + other.logContent = self.logContent; + other.utcTimeStamp = self.utcTimeStamp; other.timeSinceBoot = self.timeSinceBoot; other.timedInvokeTimeoutMs = self.timedInvokeTimeoutMs; @@ -2963,12 +2963,35 @@ - (id)copyWithZone:(NSZone * _Nullable)zone; - (NSString *)description { - NSString * descriptionString = [NSString stringWithFormat:@"<%@: status:%@; content:%@; timeStamp:%@; timeSinceBoot:%@; >", - NSStringFromClass([self class]), _status, [_content base64EncodedStringWithOptions:0], - _timeStamp, _timeSinceBoot]; + NSString * descriptionString = [NSString + stringWithFormat:@"<%@: status:%@; logContent:%@; utcTimeStamp:%@; timeSinceBoot:%@; >", NSStringFromClass([self class]), + _status, [_logContent base64EncodedStringWithOptions:0], _utcTimeStamp, _timeSinceBoot]; return descriptionString; } +@end + +@implementation MTRDiagnosticLogsClusterRetrieveLogsResponseParams (Deprecated) + +- (void)setContent:(NSData * _Nonnull)content +{ + self.logContent = content; +} + +- (NSData * _Nonnull)content +{ + return self.logContent; +} + +- (void)setTimeStamp:(NSNumber * _Nonnull)timeStamp +{ + self.utcTimeStamp = timeStamp; +} + +- (NSNumber * _Nonnull)timeStamp +{ + return self.utcTimeStamp; +} @end @implementation MTRGeneralDiagnosticsClusterTestEventTriggerParams - (instancetype)init diff --git a/zzz_generated/app-common/app-common/zap-generated/callback.h b/zzz_generated/app-common/app-common/zap-generated/callback.h index aebe2184331823..6818db81106eb4 100644 --- a/zzz_generated/app-common/app-common/zap-generated/callback.h +++ b/zzz_generated/app-common/app-common/zap-generated/callback.h @@ -8041,8 +8041,8 @@ bool emberAfDiagnosticLogsClusterRetrieveLogsRequestCallback( * @brief Diagnostic Logs Cluster RetrieveLogsResponse Command callback (from server) */ bool emberAfDiagnosticLogsClusterRetrieveLogsResponseCallback(chip::EndpointId endpoint, chip::app::CommandSender * commandObj, - uint8_t status, chip::ByteSpan content, uint32_t timeStamp, - uint32_t timeSinceBoot); + uint8_t Status, chip::ByteSpan LogContent, uint32_t UTCTimeStamp, + uint32_t TimeSinceBoot); /** * @brief General Diagnostics Cluster TestEventTrigger Command callback (from client) */ 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 2d1476bdf79ff7..f80dd0b9024c24 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 @@ -6395,8 +6395,8 @@ CHIP_ERROR Type::Encode(TLV::TLVWriter & writer, TLV::Tag tag) const TLV::TLVType outer; ReturnErrorOnFailure(writer.StartContainer(tag, TLV::kTLVType_Structure, outer)); ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kStatus)), status)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kContent)), content)); - ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTimeStamp)), timeStamp)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kLogContent)), logContent)); + ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kUTCTimeStamp)), UTCTimeStamp)); ReturnErrorOnFailure(DataModel::Encode(writer, TLV::ContextTag(to_underlying(Fields::kTimeSinceBoot)), timeSinceBoot)); ReturnErrorOnFailure(writer.EndContainer(outer)); return CHIP_NO_ERROR; @@ -6419,11 +6419,11 @@ CHIP_ERROR DecodableType::Decode(TLV::TLVReader & reader) case to_underlying(Fields::kStatus): ReturnErrorOnFailure(DataModel::Decode(reader, status)); break; - case to_underlying(Fields::kContent): - ReturnErrorOnFailure(DataModel::Decode(reader, content)); + case to_underlying(Fields::kLogContent): + ReturnErrorOnFailure(DataModel::Decode(reader, logContent)); break; - case to_underlying(Fields::kTimeStamp): - ReturnErrorOnFailure(DataModel::Decode(reader, timeStamp)); + case to_underlying(Fields::kUTCTimeStamp): + ReturnErrorOnFailure(DataModel::Decode(reader, UTCTimeStamp)); break; case to_underlying(Fields::kTimeSinceBoot): ReturnErrorOnFailure(DataModel::Decode(reader, timeSinceBoot)); 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 d9a23bfe1012e6..c85b9ce3b3a4a4 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 @@ -7571,8 +7571,8 @@ namespace RetrieveLogsResponse { enum class Fields { kStatus = 0, - kContent = 1, - kTimeStamp = 2, + kLogContent = 1, + kUTCTimeStamp = 2, kTimeSinceBoot = 3, }; @@ -7584,8 +7584,8 @@ struct Type static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } LogsStatus status = static_cast(0); - chip::ByteSpan content; - uint32_t timeStamp = static_cast(0); + chip::ByteSpan logContent; + uint32_t UTCTimeStamp = static_cast(0); uint32_t timeSinceBoot = static_cast(0); CHIP_ERROR Encode(TLV::TLVWriter & writer, TLV::Tag tag) const; @@ -7602,8 +7602,8 @@ struct DecodableType static constexpr ClusterId GetClusterId() { return Clusters::DiagnosticLogs::Id; } LogsStatus status = static_cast(0); - chip::ByteSpan content; - uint32_t timeStamp = static_cast(0); + chip::ByteSpan logContent; + uint32_t UTCTimeStamp = static_cast(0); uint32_t timeSinceBoot = static_cast(0); CHIP_ERROR Decode(TLV::TLVReader & reader); }; diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp index 5e4ec741353506..813f47039f85fa 100644 --- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp +++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp @@ -3891,8 +3891,8 @@ CHIP_ERROR DataModelLogger::LogValue(const char * label, size_t indent, { DataModelLogger::LogString(label, indent, "{"); ReturnErrorOnFailure(DataModelLogger::LogValue("status", indent + 1, value.status)); - ReturnErrorOnFailure(DataModelLogger::LogValue("content", indent + 1, value.content)); - ReturnErrorOnFailure(DataModelLogger::LogValue("timeStamp", indent + 1, value.timeStamp)); + ReturnErrorOnFailure(DataModelLogger::LogValue("logContent", indent + 1, value.logContent)); + ReturnErrorOnFailure(DataModelLogger::LogValue("UTCTimeStamp", indent + 1, value.UTCTimeStamp)); ReturnErrorOnFailure(DataModelLogger::LogValue("timeSinceBoot", indent + 1, value.timeSinceBoot)); DataModelLogger::LogString(indent, "}"); return CHIP_NO_ERROR;