Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在没有网关的情况下,新门锁项目采用统一接口开门,蓝牙没有开门事件上报,老项目正常。求解。 #1457

Open
gaopingfly opened this issue Aug 21, 2019 · 13 comments
Assignees
Labels
Bug Native端app存在bug 需要修复 安全 通用加解密/锁设备安全控制/ServiceToken接口

Comments

@gaopingfly
Copy link

  • IPA/APK 是否更新到最新?是
  • SDK 是否更新到最新?是
  • Check 文档了吗?是
  • 是否尝试搜索issue?是
  • 是否尝试搜索“常见问题” 是

是否为新品(必填)
新品

关联的产品model
ydhome.lock.c1p

项目ID(必填)
无项目ID

用户ID(必填)
任意账户均可复现

企业名称(必填)
优点科技

环境(必填)

  • 电脑操作系统:Mac OS
  • 手机系统:.Android 6.0
  • SDK分支: 10023
  • 相关模块: Bluetooth

现象(必填)
在没有网关的情况下,采用device.securityLock().toggle开门,新项目中没有开门事件上传。老项目用新的app有开门事件上传。事件统一用0b接口。请问是我们那里缺少了设置吗

期望(必填)
新项目在没有网关的情况下,可以正常同步门锁开门事件

@MIoTBot
Copy link

MIoTBot commented Aug 21, 2019

@gaopingfly 感谢您提出宝贵的 issue,我会通知开发尽快处理!

@zanetti4 zanetti4 added the 接入能力-Android 快连/固件升级等,Wi-Fi / BLE / BLE Mesh / Zigbee / 红外 / NB-IOT label Aug 21, 2019
@cfJand
Copy link
Contributor

cfJand commented Aug 21, 2019

这里需要有几个问题需要明确:
1.iOS上有这个问题吗?
2.新项目和老项目是你们自己的项目吗?
3.如果新、老项目是你们自己的项目,而我们的SDK在没有改变的情况下,建议检查新老项目的区别。

@gaopingfly
Copy link
Author

1、ios上也有这个问题
2、新、老项目都是我们做的,从代码的角度来说没有问题
3、感觉是企业账号上需要配置,但是目前两个项目的配置基本都是相同的。

有没有明确一点的说法,比如:
1、插件调用device.securityLock().toggle
2、门锁实现什么方法
3、服务器配置什么属性

@gaopingfly
Copy link
Author

@@请问这个问题还有人跟吗? @MIoTBot

@lvjie0519
Copy link
Contributor

@gaopingfly
1、老框架下,Android和ios分别使用的是哪个api进行开门事件上传的?

@gaopingfly
Copy link
Author

@lvjie0519
无论新/旧框架,用米家app的开门接口,都不需要由我们主动上传事件。
目前新框架下的代码在旧项目上使用,是有开门事件上报的。只有新项目上没有。

老框架中事件上传接口如下

android :
XmPluginHostApi.instance().callSmartHomeApi(deviceStat.model, "/user/set_user_device_data", jsonObject, new Callback(), Parser.DEFAULT_PARSER)

ios :
MHPluginSDK.callSmartHomeAPI('/user/set_user_device_data',parms, (response) => {
if (response.message == 'ok') {
callBack(true)
} else {
callBack(false)
}
})
}

@lvjie0519
Copy link
Contributor

@gaopingfly
1、Android 旧框架是原生代码写的插件,新框架都是RN插件,你如何让新框架下的代码在旧项目上使用?
2、你的意思是,旧框架下插件调用开门的api,事件会自动上报?无需主动调用callSmartHomeApi 的接口是吗?旧框架下开门的接口具体是哪个api? 同时 你也跟设备端确定下,事件上报是否是设备端进行上报的?
2、新框架下有提供 Service.smarthome.setDeviceData(params) 来进行添加事件记录。

@gaopingfly
Copy link
Author

@lvjie0519
1、可能我说的比较绕,你没有理解,我换个说法吧。
1.1、用新框架的插件在“已经上线”的设备上通过device.securityLock().toggle接口开门,会有开门事件上报(插件本身没有主动调用Service.smarthome.setDeviceData去存储事件)。
1.2、用新框架的插件在“未上线”的设备上开门,同样的开门接口,同样没有主动调用存储事件接口,但没有开门事件。

2、旧框架下ios调用开门方法MHXiaomiBLE.toggleLockXiaoMiBLE(0,10.0,(error, message)=>{...}, outTime),无需主动调用callSmartHomeApi接口,在“已经上线”的项目上也会有开门事件。

目前问过设备端的开发,在“未上线”的项目中,他们给网关和app都上报了开门事件。在“有”网关的情况下,新框架插件“能够”正常获取开门事件。但是在“没有”网关的情况下,新框架插件“无法”获取开门事件。

@lvjie0519
Copy link
Contributor

@gaopingfly
问题很明显了, 有网关的时候,门锁是给网关发信息告知上报开门事件, 然后网关进行上报到服务端;现在没有网关了,是门锁直接与APP进行通信告知APP需要上报开门事件(可能是APP没有进行上报,导致获取不到开门事件)。
@cfJand 看下吧

@Woody2016 Woody2016 added Bug Native端app存在bug 需要修复 and removed 问题咨询 labels Sep 9, 2019
@cfJand
Copy link
Contributor

cfJand commented Sep 16, 2019

@gaopingfly
问题的关键在于你没有这个蓝牙网关。 没有网关的情况下,物理锁的开关门事件是无法直接通知到APP的; 如果通过APP执行开关门操作,是可以执行开关门的上报事件的。

@gaopingfly
Copy link
Author

gaopingfly commented Sep 19, 2019

@cfJand
问题又回到原点了。那我用已经上线的项目,在没有蓝牙网关的情况下,插件没有主动上报事件,app开门是有上报的。用新项目却没有。

@zanetti4 zanetti4 added 安全 通用加解密/锁设备安全控制/ServiceToken接口 and removed 接入能力-Android 快连/固件升级等,Wi-Fi / BLE / BLE Mesh / Zigbee / 红外 / NB-IOT labels Sep 19, 2019
@cfJand
Copy link
Contributor

cfJand commented Sep 20, 2019

@gaopingfly 你意思是新项目在没有网关的情况下,用APP开门,没有事件上报?

@gaopingfly
Copy link
Author

是的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Native端app存在bug 需要修复 安全 通用加解密/锁设备安全控制/ServiceToken接口
Projects
None yet
Development

No branches or pull requests

7 participants