Mr-Markus / ZigbeeNet

A .NET Standard library for working with ZigBee
Eclipse Public License 1.0
130 stars 46 forks source link

Missing cluster, but message came from device #151

Open atifarkas opened 3 years ago

atifarkas commented 3 years ago

Hi @Mr-Markus !

Xiaomi round sensor WSDCGQ01LM device descriptor is not contain any information about temperature and humidity cluster. But when the parameter changing, message is arrived. If code changed to like this: ZigBeeNetworkManager.cs:804 ZclCluster cluster = endpoint.GetInputCluster(apsFrame.Cluster); if (cluster == null) { cluster = endpoint.GetClusterClass(apsFrame.Cluster); if (cluster != null) { endpoint.AddInputCluster(apsFrame.Cluster, cluster); }
else { Log.Debug("Unknown input cluster {Cluster}", apsFrame.Cluster); return null; } }

And creating this function on ZigBeeEndpoint.cs public void AddInputCluster(int key, ZclCluster cluster) { _inputClusters.TryAdd(key, cluster); }

In this case missing cluster is created when message arrived, data parsed and config saved into datastore.