This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Match Desc Req Non matched

Hi Everyone,

                  I am using  flow and Humidity Sensor, I am sending a ZDP_MatchDescReq from Enddevice. One enddevice will give flow Sensor Value ans other will Give a Humidity value to Coordinator. In the coordinator i am Using

#define ZCLSAMPLELIGHT_OUT_BINDINGLIST 2

static cId_t bindingOutClusters[ZCLSAMPLELIGHT_OUT_BINDINGLIST] =
{

ZCL_CLUSTER_ID_GEN_BASIC

ZCL_CLUSTER_ID_MS_RELATIVE_HUMIDITY,
ZCL_CLUSTER_ID_MS_FLOW_MEASUREMENT
};

Scenario 1:

           Same cluster list is registered with SimpleDes. After powered up Three Device, ZC is Giving Match Desc Req Non matched.

Scenario 2:

         If i switchoff the ZED which is having Humidity Sensor and power up ZED of flow sensor. Then also giving same Response.

Scenario 3: 

          If i remove the cluster of Humidity from ZC or replacing some dummy Cluster of temperature Sensor 

static cId_t bindingOutClusters[ZCLSAMPLELIGHT_OUT_BINDINGLIST] =
{

ZCL_CLUSTER_ID_GEN_BASIC,

(ZCL_CLUSTER_ID_MS_TEMPERATURE_MEASUREMENT,)

ZCL_CLUSTER_ID_MS_FLOW_MEASUREMENT
};

and power on ZED of Flow and ZC only, Then it is Sending Match Rsp.

----------------------------------------------------------------------------------------------------------------

In the ZED of humidity i have used.

ZDP_MatchDescReq( &dstAddr, NWK_BROADCAST_SHORTADDR,
ZCL_HA_PROFILE_ID,
0, NULL, 
ZCLHumiSensor_BINDINGLIST,
bindingInClusters,
FALSE );

where 

#define ZCLHumiSensor_BINDINGLIST 1
static cId_t bindingInClusters[ZCLHumiSensor_BINDINGLIST] =
{
ZCL_CLUSTER_ID_MS_RELATIVE_HUMIDITY
};

I know this is strange. But i can't found the solution for this. After breaking my head, i am asking help from you guys.

  • If you want ZC to response to ZDP_MatchDescReq from ZED, you should put related cluster ID in InClusterList of ZC Simple Descriptor. Did you do that?

  • But i have Put cluster id of flow Sensor in the outcluster only, ZC is responding to  ZDP_MatchDescReq for flow Sensor.

    After taking your Suggestion, I have done a same thing, i put cluster id of Humidity and flow in incluster, it's giving same respone Match Desc Req Non Matched.

  • If you have a look at Sample Switch (act as ZED) and Light (act as ZC) examples, Sample switch will broadcast ZDP_MatchReq (ON/OFF cluster) when SW_4 is triggered and Sample light will response. I would suggest you to try it first.

  • I have Changed my Code, 

    #define ZCLSAMPLELIGHT_MAX_INCLUSTERS 5
    const cId_t zclSampleLight_InClusterList[ZCLSAMPLELIGHT_MAX_INCLUSTERS] =
    {
    ZCL_CLUSTER_ID_GEN_BASIC,
    ZCL_CLUSTER_ID_GEN_SCENES,
    ZCL_CLUSTER_ID_GEN_GROUPS,
    ZCL_CLUSTER_ID_GEN_ON_OFF,
    ZCL_CLUSTER_ID_GEN_LEVEL_CONTROL,
    ZCL_CLUSTER_ID_MS_FLOW_MEASUREMENT,
    ZCL_CLUSTER_ID_MS_RELATIVE_HUMIDITY
    };


    #define ZCLSAMPLELIGHT_MAX_OUTCLUSTERS 3
    const cId_t zclSampleLight_OutClusterList[ZCLSAMPLELIGHT_MAX_OUTCLUSTERS] =
    {
    ZCL_CLUSTER_ID_GEN_BASIC,
    ZCL_CLUSTER_ID_MS_RELATIVE_HUMIDITY,
    ZCL_CLUSTER_ID_MS_FLOW_MEASUREMENT
    };

    SimpleDescriptionFormat_t zclSampleLight_SimpleDesc =
    {
    SAMPLELIGHT_ENDPOINT, // int Endpoint;
    ZCL_HA_PROFILE_ID, // uint16 AppProfId[2];
    ZCL_HA_DEVICEID_DIMMABLE_LIGHT, // uint16 AppDeviceId[2];
    SAMPLELIGHT_DEVICE_VERSION, // int AppDevVer:4;
    SAMPLELIGHT_FLAGS, // int AppFlags:4;
    ZCLSAMPLELIGHT_MAX_INCLUSTERS, // byte AppNumInClusters;
    (cId_t *)zclSampleLight_InClusterList, // byte *pAppInClusterList;
    ZCLSAMPLELIGHT_MAX_OUTCLUSTERS, // byte AppNumInClusters;
    (cId_t *)zclSampleLight_OutClusterList // byte *pAppInClusterList;
    };

    Scenario 1:

                    ZC  giving same response Match Desc Non Matched 

    Scenario 2:

                   If i remove both cluster id from the OutClusterList, Then also Match Desc Non Matched.

    Scenario 3:

                   If i remove Humidity Cluster Id from OutClusterList, Then Match Desc Rsp Send.

    what does it mean? i am panic. Can you guide me in right way.

  • I have done the same tests using SampleLight as ZC and SampleSwitch as ZED but don't have your problem. I would suggest you to set a breakpoint on "if ((ZDO_AnyClusterMatches( numInClusters, inClusters," of ZDO_ProcessMatchDescReq() and debug to see what's wrong.

  • Dear Mr.Yikai,

    I've a problem with Sensor Demo Test,

    I debug and download the Collector EM and did the steps but the LCD some times didn't show that ""Sensor Demo Collector"" and the LED1 always blinding (not ON) , and the only time the LCD shows the Sensor Demo Collector and I tried to sent reports I got MatchC Desc Req not Matched..

    Thanks in Advance