Thread 中讨论的其他器件:SysConfig、 Z-stack、 UNIFLASH、
早上好。
我正在开发一 个定制路由器(基于 ZR_genericapp)固件、用作多端点智能插头
根据 Ryan 的提示和 关于 多个端点的黄杰文章、我成功地设置了8个 "智能插头"类型的端点(使用计量和开/关集群)、其属性和回调(测试正常)。
现在、我尝试为8个端点的两个群集配置 OnOff 和 CurrentSummationDelivered 属性的报告。
我在 ZNP 协调器上使用 Zigbee2Mqtt 软件、通过前端、我可以成功发送配置报告消息。 但我一直处于某种存储器限制、我尝试解释一下:
如果我仅配置4个端点、则会正确报告每个属性、并且在前端总共可以看到8条报告属性消息(4条 OnOff 消息和4条 CurrentSummationDelivered 消息)。
如果我配置了4个以上的端点、则该报告仅适用于最后一个端点属性。
我发现我必须对 Stack/bdb/bdb_interface.h 中的某些定义执行操作:
//您的作业:根据您的应用程序设置此值
//任何中注册的可报告属性使用的最大字节数
//应用端点(模拟属性)
BDBREPORTING_MAX_ANALOG_ATTR_SIZE 8 -我怀疑我必须使其至少为64 (8 (CurrentSummationDelivered 属性)乘以8字节(uint64)))、但支持的最大值为8、我缺少什么?
//您的作业:根据您的应用程序设置此值
//任何端点中具有可报告属性的群集的最大数量
//(例如 2个具有具有可报告属性的同一群集的端点计为2、
//无论群集中可报告的属性的数量如何)
BDB_MAX_CLUSTERENDPOINTS_REPORTING 16 (8个端点乘以2个具有可报告属性的群集)默认值为5。
在这种情况下、在协调器配置报告消息后、模块仅报告一次最后4-5个端点的属性(非常规)、然后冻结。
我还将绑定表大小增加到了16,默认值为4。
请您提供任何建议、我们将不胜感激。
提前感谢您。
Roberto


