Page 1 of 2
【已解决】对接第三方网关数据上报失败
Posted: 2023年 Dec 21日 13:48
by yezhipeng
Dear All,
环境:EFR32MG21A020_TuyaOS-3.6.1
开发的设备端,可以正常加入第三方网关,也可以接收网关下发的数据,但无法上报数据。这边打印log发现调用tal_zg_send_data接口发送数据时不会进入回调函数?请问这是什么原因?有没有方案解决。
使用bind,config report是可以上报数据,但tal_zg_send_data接口还是无法使用,只能由SDK根据config report设定的参数上报。还有就是report table是需要开发者自己维护?
BRS
Ye.Zhi-Peng
Re: 对接第三方网关数据上报失败
Posted: 2023年 Dec 21日 13:59
by zeso
您好:
Q1:使用bind,config report是可以上报数据,但tal_zg_send_data接口还是无法使用.
A1:麻烦贴一下tal_zg_send_data使用的代码;
Q2:还有就是report table是需要开发者自己维护?
A2:不需要
Re: 对接第三方网关数据上报失败
Posted: 2023年 Dec 21日 14:26
by yezhipeng
Dear All,
Q1:使用bind,config report是可以上报数据,但tal_zg_send_data接口还是无法使用.
A1:麻烦贴一下tal_zg_send_data使用的代码;
这边调用的是贵司app_color_report_ty_temperature_value接口直接发送,通过抓包没有发送出数据,串口有打印如下log
Report temperature qos:1 VALUE 1000
Q2:还有就是report table是需要开发者自己维护?
A2:不需要
这边不调用tkl_zg_reporting_init接口,网关下发config report会返回失败,result是0x81。调用了tkl_zg_reporting_init可以config report成功,但重新上电后report不会上报,需要重新下发config report。
我的栈溢不出
BRS
Ye.Zhi-Peng
Re: 对接第三方网关数据上报失败
Posted: 2023年 Dec 21日 14:49
by zeso
1.现有开发框架,标准3.0网关不支持调用tal_zg_send_data主动上报数据,只能使用config report方式;
2.必须要调用reporting init接口,否则无法使用config report功能;
Re: 对接第三方网关数据上报失败
Posted: 2023年 Dec 21日 15:02
by yezhipeng
1.现有开发框架,标准3.0网关不支持调用tal_zg_send_data主动上报数据,只能使用config report方式;
有方案通过修改第三方网关从而让设备能通过tal_zg_send_data发送?
2.必须要调用reporting init接口,否则无法使用config report功能;
下发的config report,SDK会自动存储flash吗?还是需要开发者自己存储,然后通过tkl_zg_add_reporting_entry接口恢复?
这边重新上电后,report就失效了。
Re: 对接第三方网关数据上报失败
Posted: 2023年 Dec 21日 16:29
by zeso
1.ZCL global 命令通过config report方式,specific命令不受限制;
2.会自动保存的,测试过 设备重新上电report机制保持。另外,除非特殊情况不建议应用层调用tkl接口。
Re: 对接第三方网关数据上报失败
Posted: 2023年 Dec 21日 21:06
by yezhipeng
Dear All,
Code: Select all
我在tuya_init_second函数调用如下接口:
tal_zg_reporting_init(g_report_table, 10);
tal_zg_load_default_reporting_table();
重新上电report不会被恢复,重新config report才行,并且重新上电下发read report,result返回0x8B。
BRS
Ye.Zhi-Peng
Re: 对接第三方网关数据上报失败
Posted: 2023年 Dec 22日 09:30
by zeso
不需要调用tal_zg_load_default_reporting_table。
Re: 对接第三方网关数据上报失败
Posted: 2023年 Dec 22日 09:48
by yezhipeng
Dear All,
只调用tal_zg_reporting_init(g_report_table, 10)也测试过不行,这边有一个疑问,g_report_table的初始数据哪里来,这边初始化提供的全是0.
BRS
Re: 对接第三方网关数据上报失败
Posted: 2023年 Dec 22日 10:02
by zeso
可以理解为:tal_zg_reporting_init配置的是默认的本地report表,config report远程配置report表。这两种方式配置的表项sdk内部会自动保存NV,无需应用层干预保存加载操作。