在zcl_xxx_data.c文件增加了如下Cluster信息,但是发不去;
#define MAX_INCLUSTERS4
const cId_t zcl_InClusterList[MAX_INCLUSTERS] =
{ZCL_CLUSTER_ID_GEN_BASIC,ZCL_CLUSTER_ID_GEN_IDENTIFY,ZCL_CLUSTER_ID_HVAC_FAN_CONTROL,TEST_CLUSTER_ID
// ZCL_CLUSTER_ID_MS_TEMPERATURE_MEASUREMENT
};
#define MAX_OUTCLUSTERS2
const cId_t zcl_OutClusterList[MAX_OUTCLUSTERS] =
{ZCL_CLUSTER_ID_GEN_IDENTIFY,TEST_CLUSTER_ID
// ZCL_CLUSTER_ID_MS_TEMPERATURE_MEASUREMENT
};
//atrribute 初始化
{TEST_CLUSTER_ID,{ // Attribute recordTEST_ATRR_ID,ZCL_DATATYPE_UINT8,ACCESS_REPORTABLE | ACCESS_CONTROL_WRITE,(void *)&testAttr}},{TEST_CLUSTER_ID,{ // Attribute recordATTRID_CLUSTER_REVISION,ZCL_DATATYPE_UINT16,ACCESS_CONTROL_READ | ACCESS_GLOBAL,(void *)&zcl_clusterRevision_all}},
增加了上述代码,然后原本的Cluster是可以Report,自定义的却不行。
Alvin Chen:
不要描述现象,抓包又发出吗,是否绑定成功或者地址是否正确?
one Man:
回复 Alvin Chen:
抓包发现没有发出来,广播模式发送。
one Man:
回复 Alvin Chen:
使用zcl_SendReportCmd发送,没用邦定。
Alvin Chen:
回复 one Man:
你要确认一下endpoint
user5798117:
回复 Alvin Chen:
我当时也被折腾了好久。
如果是用了样例程序,大约是这个原因,样例程序中有两个地方都对EndPoint进行了注册:
// Register the Simple Descriptor for this applicationbdb_RegisterSimpleDescriptor( &zclSampleSw_SimpleDesc );…
// Register for a test endpointafRegister( &sampleSw_TestEp );将第一个注释掉即可。 原因是第一个用的是zclTaskId
TI中文支持网