Hi Guys,
I´m working to implement the message report attribute according to ZCL foundation, using the "push" method attribute reporting, the devices themselves send reports when the attribute changes. In my case, I using the ZCL_CLUSTER_ID_GEN_ON_OFF, but when I check the message sent by device, over the air, I saw that has malformed ZCL parameters. It can be seen on PIC attached.
I have configured in my APP file the parameters as you can see below:
/********************************************************************* * GLOBAL VARIABLES */ zclReportCmd_t rptcmd; Init was configured in the ZCL cluster parameters: //reporting attributes configuration rptcmd.numAttr = 1; rptcmd.attrList[0].attrID = ATTRID_ON_OFF; // Attribute ID of OnOff included in the Cluster Gen On/Off is 0 (ZigBee Cluster Library spec) rptcmd.attrList[0].dataType = ZCL_DATATYPE_BOOLEAN; rptcmd.attrList[0].attrData = (uint8*)&zclTTa0003_OnOff;
ZCL Reporting CMD was inclued in My APP OnOffCB:
static void zclTTa0003_OnOffCB( uint8 cmd )
{
afIncomingMSGPacket_t *pPtr = zcl_getRawAFMsg();
zclTTa0003_DstAddr.addr.shortAddr = pPtr->srcAddr.addr.shortAddr;
// Turn on the light
if ( cmd == COMMAND_ON )
{
zclTTa0003_OnOff = LIGHT_ON;
seqNumb++;
zcl_SendReportCmd(TTa0003_ENDPOINT,&zclTTa0003_DstAddr, ZCL_CLUSTER_ID_GEN_ON_OFF, &rptcmd, ZCL_FRAME_CLIENT_SERVER_DIR, false, seqNumb );
}
// Turn off the light
else if ( cmd == COMMAND_OFF )
{
zclTTa0003_OnOff = LIGHT_OFF;
seqNumb++;
zcl_SendReportCmd(TTa0003_ENDPOINT,&zclTTa0003_DstAddr, ZCL_CLUSTER_ID_GEN_ON_OFF, &rptcmd, ZCL_FRAME_CLIENT_SERVER_DIR, false, 0 );
}
I see in the ZigBee Cluster Library Quick Reference, as you see below, that All those parameters included in zcl_SendReportCMD are right but I cat in Wireshark, file attached, that has malformed parameters.
Does someone, please, give an idea of how to fix it?
