@@ -4195,9 +4195,9 @@ - (NSArray *)_getAttributesToReportWithReportedValues:(NSArray<NSDictionary<NSSt
4195
4195
// When the expected value interval expires, the correct value will be reported,
4196
4196
// if needed.
4197
4197
if (expectedValue) {
4198
- MTR_LOG("%@ report %@ value filtered - expected value still present", self, attributePath);
4198
+ MTR_LOG("%@ report %@ value %@ filtered - expected value still present", self, attributePath, attributeDataValue );
4199
4199
} else {
4200
- MTR_LOG("%@ report %@ value filtered - same as read cache", self, attributePath);
4200
+ MTR_LOG("%@ report %@ value %@ filtered - same as read cache", self, attributePath, attributeDataValue );
4201
4201
}
4202
4202
}
4203
4203
@@ -4310,6 +4310,22 @@ - (void)_doSetPersistedClusterData:(NSDictionary<MTRClusterPath *, MTRDeviceClus
4310
4310
4311
4311
[self _updateAttributeDependentDescriptionData];
4312
4312
4313
+ NSNumber * networkFeatures = nil;
4314
+ {
4315
+ std::lock_guard descriptionLock(_descriptionLock);
4316
+ networkFeatures = _allNetworkFeatures;
4317
+ }
4318
+
4319
+ if ((networkFeatures.unsignedLongLongValue & MTRNetworkCommissioningFeatureWiFiNetworkInterface) == 0 && (networkFeatures.unsignedLongLongValue & MTRNetworkCommissioningFeatureThreadNetworkInterface) == 0) {
4320
+ // We had persisted data, but apparently this device does not have any
4321
+ // known network technologies? Log some more information about what's
4322
+ // going on.
4323
+ auto * rootNetworkCommissioningPath = [MTRClusterPath clusterPathWithEndpointID:@(kRootEndpointId) clusterID:@(MTRClusterIDTypeNetworkCommissioningID)];
4324
+ auto * networkCommisioningData = clusterData[rootNetworkCommissioningPath];
4325
+ MTR_LOG("%@ after setting persisted data, network features: %@, root network commissioning featureMap: %@", self, networkFeatures,
4326
+ networkCommisioningData.attributes[@(MTRClusterGlobalAttributeFeatureMapID)]);
4327
+ }
4328
+
4313
4329
// We have some stored data. Since we don't store data until the end of the
4314
4330
// initial priming report, our device cache must be primed.
4315
4331
_deviceCachePrimed = YES;
0 commit comments