请问,这个问题有进展吗?
子设备连HA,能正常连接,但无法report数据
Re: 子设备连HA,能正常连接,但无法report数据
1.你好,这部分低功耗的report 因为定时器没有及时刷新导致report 有些异常,你可以按照附件demo的方式,使用tal_zg_write_attribute_with_callback 同时在 tal_zg_post_write_attribute_callback函数中统一使用 zigee_report_check_delay刷新定时器解决。
2.同时由于原厂协议栈在 reportableChangeValueChk 函数中的值比较存在歧义,低功耗检查report table是判断条件为>reportableChange, 所以该值为0是可以将增量为1时的变化触发上报,与zigbee3.0 report table的方式判断是有些歧义的,高版本原厂协议栈已经修复,后续tuyaos也将合入修复项。
- Attachments
-
- tuyaos_demo_zg_light2.7z
- (3.34 MiB) Downloaded 8 times
Re: 子设备连HA,能正常连接,但无法report数据
huanghuan 2025年 Nov 24日 13:481.你好,这部分低功耗的report 因为定时器没有及时刷新导致report 有些异常,你可以按照附件demo的方式,使用tal_zg_write_attribute_with_callback 同时在 tal_zg_post_write_attribute_callback函数中统一使用 zigee_report_check_delay刷新定时器解决。
2.同时由于原厂协议栈在 reportableChangeValueChk 函数中的值比较存在歧义,低功耗检查report table是判断条件为>reportableChange, 所以该值为0是可以将增量为1时的变化触发上报,与zigbee3.0 report table的方式判断是有些歧义的,高版本原厂协议栈已经修复,后续tuyaos也将合入修复项。
第2点,不是很理解。现在SDK中, reportableChangeValueChk 对应用层是屏蔽的吧?
低功耗检查report table是判断条件为>reportableChange, 所以该值为0是可以将增量为1时的变化触发上报,与zigbee3.0 report table的方式判断是有些歧义的
这个对 3.12.0 SDK有什么影响呢? 现在这个针对 value 型的dp点,只要变量化大于0,就会触发上报吧?
另外,对于一些command要怎么发送呢?比如 thermostat中的 Get weekly schedule response,当本地编程发生变化后,需要使用这个命令上报。
Re: 子设备连HA,能正常连接,但无法report数据
1.现在这个针对 value 型的dp点,只要变量化大于0,就会触发上报吧? ---- 是的
2.对于一些command要怎么发送呢?比如 thermostat中的 Get weekly schedule response,当本地编程发生变化后,需要使用这个命令上报。 ----- sdk无法感知你何时需要进行类似report table的属性report,无法被动触发,所以你需要使用原厂 函数主动触发
Code: Select all
_CODE_ZCL_ status_t zcl_sendCmd(u8 srcEp, epInfo_t *pDstEpInfo, u16 clusterId, u8 cmd, u8 specific,
u8 direction, u8 disableDefaultRsp, u16 manuCode, u8 seqNo, u16 cmdPldLen, u8 *cmdPld)Re: 子设备连HA,能正常连接,但无法report数据
了解。
参数中 epInfo_t *pDstEpInfo,这个需要指定哪些参数呢?
Re: 子设备连HA,能正常连接,但无法report数据
Code: Select all
typedef struct{
tl_zb_addr_t dstAddr;
u16 profileId;
u16 aliasSrcAddr;
bool useAlias;
u8 aliasSeqNum;
u8 dstAddrMode;
u8 dstEp;
aps_tx_options txOptions;
u8 radius;
}epInfo_t;Code: Select all
typedef enum{
APS_TX_OPT_SECURITY_ENABLED = BIT(0), //0x01 = Security enabled transmission
APS_TX_OPT_DISABLE_NWK_KEY = BIT(1), //0x02 = Disable NWK key
APS_TX_OPT_ACK_TX = BIT(2), //0x04 = Acknowledged transmission
APS_TX_OPT_FRAG_PERMITTED = BIT(3), //0x08 = Fragmentation permitted
APS_TX_OPT_INCLUDE_NONCE = BIT(4), //0x10 = Include extended nonce in APS security frame
APS_TX_OPT_UNICAST_SKIP_ROUTING = BIT(5), //0x20 = Skip routing when unicast
APS_TX_OPT_INTRA_PAN = BIT(7) //0x80 = Intra-PAN delivery
}aps_tx_options;