TI中文支持网
TI专业的中文技术问题搜集分享网站

在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在什么情况下使用,怎么样使用,是否有示例代码!

VV:

在属性里面没有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例程

user5288569:

回复 VV:

不是可以把属性的权限写为“ACCESS_REPORTABLE”吗?如果属性具有这个权限,那属性是否能在数值变化时自动上报呢?会上报给谁?

Alvin Chen:

回复 user5288569:

这个需要你是用ZCL函数或者BDB report . 会report给你绑定的设备上,可以在ZCLxxxx_processincomingMsg() 里面解析。至于是否可以进行report可以查阅ZCL v6 specification里面的属性说明。

赞(0)
未经允许不得转载:TI中文支持网 » 在ZHA中ACCESS_REPORTABLE Attribute Access Control 如何使用
分享到: 更多 (0)