From 1da65cde512f9e3e0d743bf6d71524d186d78a96 Mon Sep 17 00:00:00 2001 From: yunhanw Date: Fri, 5 Nov 2021 13:38:56 -0700 Subject: [PATCH] Inject nodeId from subscribed path to path set by SetDirty --SetDirty don't take the nodeId in clusterInfo, it just mark all interested attribute dirty, when generated report, we need explicitly inject node Id from subscribed path to interested dirty path, then construct correct tlv representation. --- src/app/reporting/Engine.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/app/reporting/Engine.cpp b/src/app/reporting/Engine.cpp index 546d9e93d239c0..4e92bd687b1264 100644 --- a/src/app/reporting/Engine.cpp +++ b/src/app/reporting/Engine.cpp @@ -124,6 +124,8 @@ CHIP_ERROR Engine::BuildSingleReportDataAttributeDataList(ReportDataMessage::Bui { if (clusterInfo->IsAttributePathSupersetOf(*path)) { + // SetDirty's path don't have the particular nodeId, need to reover nodeId from subscribed path + path->mNodeId = clusterInfo->mNodeId; err = RetrieveClusterData(apReadHandler->GetFabricIndex(), attributeDataList, *path); } else if (path->IsAttributePathSupersetOf(*clusterInfo))