在ZHA中ACCESS_REPORTABLE Attribute Access Control 如何使用
TI工程师,您好!在ZigBee开发的过程遇到ACCESS_REPORTABLE使用的问题:
协议栈版本:Z-Stack Home 1.2.2a.44539
我现在想实现这样的一个功能:当我发送一个控制开关开的命令给指定的开关设备,开关设备执行完开的命令后,将开关当前的开关状态上报给服务器。
我在switch工程中添加
swtich工程
{
ZCL_CLUSTER_ID_GEN_ON_OFF,
{ // Attribute record
ATTRID_ON_OFF,
ZCL_DATATYPE_UINT8,
ACCESS_CONTROL_READ|ZCL_SEND_ATTR_REPORTS,
(void *)&zclSampleSw_OnOff
}
},
在蒋代码下载到设备上后,控制并进行数据抓包分析,当zclSampleSw_OnOff改变后并没有Report。
现在弄不明白这个ACCESS_REPORTABLE在什么情况下使用,怎么样使用,是否有示例代码!
在属性里面没有ZCL_SEND_ATTR_REPORTS这个说法,直接写ACCESS_CONTROL_READ就可以了。
如果你想report 某个attribute,直接调用report attribute的api函数就可以了
zcl_SendReportCmd( SAMPLETHERMOSTAT_ENDPOINT, &zclSampleThermostat_DstAddr,
ZCL_CLUSTER_ID_HVAC_THERMOSTAT,
pOutDemandReport, ZCL_FRAME_SERVER_CLIENT_DIR, TRUE, zclSampleThermostatSeqNum++ );
你可以参考协议栈下面Thermostat例程