tal_zg_nwk_status_changed_callback回调只提示当前设备的zigbee网络状态,无法提示互联网状态:
如果当前设备已组网,重启后状态为TAL_ZG_NWK_POWER_ON_ONLINE
如果网关掉电,可通过report数据是否成功判断
tal_zg_nwk_status_changed_callback回调只提示当前设备的zigbee网络状态,无法提示互联网状态:
如果当前设备已组网,重启后状态为TAL_ZG_NWK_POWER_ON_ONLINE
如果网关掉电,可通过report数据是否成功判断
cluster 0xEF00,cmd 0x07命令功能为:
Gw→Zigbee,触发模组侧把当前全部DP上报/部分DP上报
注:设备端可以做个策略,数据最好不要集中上报。
data[0] data[1]需要填充seq(uint16),后续数据按照dp格式上报,dp id(1 字节),dp type(1字节),dp length(2字节),dp value(N字节,实际字节数根据dp length)。
如果上述所说的自定义DP为IOT前台,大于100的DP,走透传通道的,可以使用
/**
@enum zigbee private data(include command data)
*/
typedef struct {
UINT8_T len; ///< data length
UINT8_T data[64]; ///< data buff
} TAL_PRIVATE_DATA_T;
可多个DP一起上报,data部分总长度不能超过64,并且dp数量不能超过10个
HI,
Is the current device a zigbee device?
Can you give us the PID & Model ID?
麻烦给出:
PID:
设备虚拟ID:
未更新时候串口抓包数据(TX RX数据都包含):
固件版本:
如果有条件抓一下空中zigbee包:
麻烦把整个从加组到控制的过程,抓下数据包同时包含设备端日志(同步);
同时附上tal_zcl_specific_msg_recv_callback代码,谢谢。
总结:
1.无论单控或者组控,都是通过command 0x04命令下发的DP数据;
2.收到0x04命令后,需要模组主动通过command 0x06上报DP数据,才会同步到APP端;
3.群控后,如果没有收到模组上报的0x06数据,则会在一段时间后,网关主动通过command 0x07查询该DP,如果模组上报了0x06,则不会再收到主动查询命令0x07;