@@ -118,18 +118,23 @@ class ClusterCommand : public InteractionModelCommands, public ModelCommand, pub
118
118
119
119
if (data != nullptr )
120
120
{
121
- LogErrorOnFailure (RemoteDataModelLogger::LogCommandAsJSON (path, data));
122
-
123
- error = DataModelLogger::LogCommand (path, data);
121
+ {
122
+ // log a snapshot to not advance the data reader.
123
+ chip::TLV::TLVReader logTlvReader;
124
+ logTlvReader.Init (*data);
125
+ LogErrorOnFailure (RemoteDataModelLogger::LogCommandAsJSON (path, &logTlvReader));
126
+ error = DataModelLogger::LogCommand (path, &logTlvReader);
127
+ }
124
128
if (CHIP_NO_ERROR != error)
125
129
{
126
130
ChipLogError (chipTool, " Response Failure: Can not decode Data" );
127
131
mError = error;
128
132
return ;
129
133
}
130
134
if ((path.mEndpointId == chip::kRootEndpointId ) && (path.mClusterId == chip::app::Clusters::IcdManagement::Id) &&
131
- (path.mCommandId == chip::app::Clusters::IcdManagement::Commands::RegisterClient ::Id))
135
+ (path.mCommandId == chip::app::Clusters::IcdManagement::Commands::RegisterClientResponse ::Id))
132
136
{
137
+ // log a snapshot to not advance the data reader.
133
138
chip::TLV::TLVReader counterTlvReader;
134
139
counterTlvReader.Init (*data);
135
140
chip::app::Clusters::IcdManagement::Commands::RegisterClientResponse::DecodableType value;
@@ -139,7 +144,6 @@ class ClusterCommand : public InteractionModelCommands, public ModelCommand, pub
139
144
ChipLogError (chipTool, " Failed to decode ICD counter: %" CHIP_ERROR_FORMAT, err.Format ());
140
145
return ;
141
146
}
142
-
143
147
chip::app::ICDClientInfo clientInfo;
144
148
clientInfo.peer_node = mScopedNodeId ;
145
149
clientInfo.monitored_subject = mMonitoredSubject ;
0 commit comments