homeautomation中的report属性如何使用?
这么添加对吗?
light工程
{
ZCL_CLUSTER_ID_GEN_ON_OFF,
{ // Attribute record
ATTRID_ON_OFF,
ZCL_DATATYPE_UINT8,
ACCESS_CONTROL_READ|ZCL_SEND_ATTR_REPORTS,
(void *)&zclSampleLight_OnOff
}
},
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
}
},
这么配置就行了吗?流程是这样吗:light收到switch的命令后进行动作,然后zclSampleLight_OnOff发生了变化,对应到swtich上zclSampleSw_OnOff就发生了变化,然后就用zclSampleSw_OnOff这个值来判断灯的亮灭。
还有一个问题
我看了homeautomation1.2.1门锁例程中的配置
doorlock中的:
ZCL_CLUSTER_ID_CLOSURES_DOOR_LOCK,
{ // Attribute record
ATTRID_CLOSURES_LOCK_STATE,
ZCL_DATATYPE_ENUM8,
(ACCESS_CONTROL_READ | ACCESS_REPORTABLE),
(void *)&zclSampleDoorLock_LockState
}
},
doorlockcontroller中:
ZCL_CLUSTER_ID_CLOSURES_DOOR_LOCK,
{ // Attribute record
ATTRID_CLOSURES_LOCK_STATE,
ZCL_DATATYPE_ENUM8,
(ACCESS_CONTROL_READ | ACCESS_REPORTABLE),
(void *)&zclSampleDoorLockController_LockState
}
},
但我用的是在zstack中的homeautomation,这例程中并没有
#define ACCESS_REPORTABLE 0x04 // indicate attribute is reportable
怎么办呢?到底该如何使用呢?
user5288569:
估计一样是用ACCESS_REPORTABLE。在头文件里面自己加上就好。不知道楼主您最后有没有实现属性report的功能呢?
Alvin Chen:
回复 user5288569:
这个需要你是用ZCL函数或者BDB report . 会report给你绑定的设备上,可以在ZCLxxxx_processincomingMsg() 里面解析。至于是否可以进行report可以查阅ZCL v6 specification里面的属性说明。