miot-plugin-sdk
miot-plugin-sdk copied to clipboard
Android版米家出错率提升,iOS不会
是否为新品(必填) 在售
关联的产品model yunshi.lock.s2
项目ID(必填) 无项目ID
企业名称(必填) 陨石科技
环境(必填)
- 电脑操作系统:mac
- 手机系统:Android
- SDK分支: 10011
- 相关模块:
现象(必填) 自更新了米家某个版本之后,米家Android用户越来越多的反馈开关门时间变久,失败次数变多(失败表现为:锁正常运行,app提示失败,自查发现是app收到超时信息了,不到5s?),奇怪的是iOS端几乎没有这个问题
期望(必填) 期望双端表现一致,
其他的上下文/日志/截图 抓了一个反馈的用,搜索failed关键字,出现最多的日志类似如下:
path=/user/get_user_config
query params=[data:{"component_id":0,"keys":["4000","4001","4002","4003","1000","2001","3001","0","5","7","1001","8","20"]}]
headers=[]
error=-9999,Failed to connect to api.io.mi.com/117.48.116.87:443
<<<request fail end
尝试过的解决办法
不要贴大段代码❗️
特意查了一下这个问题,从用户反馈的意见来看,发现不少人反馈:锁正常打开,但是APP提示失败的情况。从用户的日志来看:
SmartHome 269115:[DEBUG]-08-06 23:26:46.699 core-bluetooth: decrypt lock log: code = 0, data = 0100000000004c9c495d SmartHome 269116:[DEBUG]-08-06 23:26:46.711 core-bluetooth: disconnect mac = REI6NTY6NzM6MDM6MUY6MDc SmartHome 269116:[DEBUG]-08-06 23:26:46.715 core-bluetooth: reportLockEvent, get ble firmware version failed
从日志可以发现,锁在打开成功之后,调用一个disconnect 蓝牙的操作。 这可能会影响后续的一些蓝牙读取操作,所以建议插件这边自查一下,是否存在锁打开之后,就立即断开蓝牙的操作。
断开的目的是为了避免锁和app一直连接着,导致其他用户不能操作。问题是,锁和app的交互逻辑是,锁转动直到停止转动才会将开门或关门的信息发送给app,而不是锁一开始转动就告诉app