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.
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.