【已解决】【中控】【SDK】中控启动时无法获取设备当前状态

网关设备, 语音中控设备等
Post Reply
yez
Posts: 13

1) 开发包全名
ty_integrated_sdk-TuyaOS2.3.5_ty_integrated_sdk_3.4.2-beta.8_linux_rockchip_rk3308_release_0.0.8.tar.gz
2) 问题现象
程序启动时获取的dp点数据均为默认值,操作设备后状态可以正常更新
3) 操作流程
启动程序后打印所有设备状态
4) 问题时间
11-09 15:58:43:94
5) 相关图片资料

微信截图_20221109160108.png

6) debug日志
1885行打印设备状态

usb串口-1500000_2022-11-09_15_57_56.log
(539.62 KiB) Downloaded 80 times
Last edited by yez on 2022年 Nov 15日 15:44, edited 3 times in total.
luoji
Posts: 99

Re: 【求助】【中控】【SDK】中控启动时无法获取设备当前状态

明天安排处理

lightthgil
Posts: 33

Re: 【求助】【中控】【SDK】中控启动时无法获取设备当前状态

问题原因:启动时,SDK还未获取到设备的当前数据,就调用了tuya_home_ctrl_dev_open,导致无法获取到设备的实际数据
解决方案:请参考demo,user_iot_intf.c文件中tuya_home_init_ex的cbs.all_info_sync_cb,回调接口。该接口会通知应用,设备/房间/场景同步完成。请在同步完成后,再调用tuya_home_ctrl_dev_open。

yez
Posts: 13

Re: 【已解决】【中控】【SDK】中控启动时无法获取设备当前状态

all_info_sync_cb已配置,等待1分钟打印停止后才获取设备列表,log中只触发了tuya_home_control_all_info_sync_event 3情景同步事件

2.png
1.png
lightthgil
Posts: 33

Re: 【求助】【中控】【SDK】中控启动时无法获取设备当前状态

Code: Select all

[01-01 08:00:08:674 TUYA E][tuya_ctrl_sync.c:228] call gw_thread_pool_start_tm_msg(ctrl_mgr.thr_hdl, ctrl_mgr.tmm_sync, delay, TIMER_ONCE) return -2
[01-01 08:00:08:675 TUYA E][tuya_ctrl_mqc.c:713] call tuya_ctrl_sync_all_info(TY_MQ_CONN_SYNC_DELAY_TM) return -2

启动同步设备信息的定时器的时候失败了,失败原因是定时器不存在。但是创建定时器没有失败打印,说明定时器创建是成功的。
同时,日志中有以下打印

Code: Select all

[01-01 18:12:15 TUYA E][tuya_local_ir_control.c:128] mkdir ir lib /tmpir_code error! ret = -1

错误原因是/tmpir_code下无法创建目录,导致SDK初始化错误。初始化错误后,会逆初始化,删除掉之前创建的定时器。引发该问题。

解决方法:tuya_home_control_init.c的第一个入参tuya_home_init_cfg_s.db_path,需要要传入一个可读写的磁盘地址

luoji
Posts: 99

Re: 【求助】【中控】【SDK】中控启动时无法获取设备当前状态

路径后面加个/,例如/tmp/

yez
Posts: 13

Re: 【求助】【中控】【SDK】中控启动时无法获取设备当前状态

可以了,就是路径的问题

Post Reply