@quec/rn-device-module 1.9.19 → 2.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/QuecRNDeviceModule.podspec +54 -0
  3. package/README.md +1535 -1043
  4. package/android/build.gradle +119 -0
  5. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  6. package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  7. package/android/gradle.properties +23 -0
  8. package/android/gradlew +185 -0
  9. package/android/gradlew.bat +89 -0
  10. package/android/old-info.properties +2 -0
  11. package/android/proguard-rules.pro +21 -0
  12. package/android/publishInfo.properties +4 -0
  13. package/android/settings.gradle +3 -0
  14. package/android/src/main/AndroidManifest.xml +6 -0
  15. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/IQuecRNDeviceModuleSpec.java +1352 -0
  16. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/QuecRNDeviceModule.java +2423 -0
  17. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/QuecRNDeviceModulePackage.java +23 -0
  18. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/bean/DataInfo.java +25 -0
  19. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/bean/DataRes.java +31 -0
  20. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/bean/DeviceDpsUpdateModel.java +18 -0
  21. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/bean/ModelBridgeBasic.java +86 -0
  22. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/bean/OtaUpgradePlanModel.java +292 -0
  23. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/bean/ShareInfo.java +166 -0
  24. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/bean/UserInfo.java +137 -0
  25. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/bean/WriteCmdWithId.java +10 -0
  26. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/utils/AnalysisChannelDataUtils.java +82 -0
  27. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/utils/DataConvertUtils.kt +130 -0
  28. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/utils/ErrorCode.java +26 -0
  29. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/utils/ErrorUtils.java +11 -0
  30. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/utils/IpcUtil.java +75 -0
  31. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/utils/NetUtils.java +85 -0
  32. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/utils/OnConnectListener.java +22 -0
  33. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/utils/ParamsValueUtils.java +79 -0
  34. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/utils/QuecIotChannelMode.java +8 -0
  35. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/utils/ReactNativeJson.java +199 -0
  36. package/android/src/main/java/com/quectel/smart/rnplugin/quecrndevicemodule/utils/ResponseUtils.java +156 -0
  37. package/android/src/main/res/values/strings.xml +4 -0
  38. package/android/src/main/res/values-en/strings.xml +4 -0
  39. package/android/src/main/res/values-zh/strings.xml +4 -0
  40. package/android/src/test/java/com/quectel/smart/template/ExampleUnitTest.java +17 -0
  41. package/build.gradle +1 -0
  42. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  43. package/gradle/wrapper/gradle-wrapper.properties +6 -0
  44. package/ios/Example/Podfile +17 -0
  45. package/ios/Example/QuecRNDeviceModule/AppDelegate.h +13 -0
  46. package/ios/Example/QuecRNDeviceModule/AppDelegate.m +46 -0
  47. package/ios/Example/QuecRNDeviceModule/Base.lproj/LaunchScreen.storyboard +31 -0
  48. package/ios/Example/QuecRNDeviceModule/Base.lproj/Main.storyboard +31 -0
  49. package/ios/Example/QuecRNDeviceModule/Images.xcassets/AppIcon.appiconset/Contents.json +98 -0
  50. package/ios/Example/QuecRNDeviceModule/QuecRNDeviceModule-Info.plist +40 -0
  51. package/ios/Example/QuecRNDeviceModule/QuecRNDeviceModule-Prefix.pch +16 -0
  52. package/ios/Example/QuecRNDeviceModule/ViewController.h +12 -0
  53. package/ios/Example/QuecRNDeviceModule/ViewController.m +29 -0
  54. package/ios/Example/QuecRNDeviceModule/en.lproj/InfoPlist.strings +2 -0
  55. package/ios/Example/QuecRNDeviceModule/main.m +15 -0
  56. package/ios/Example/QuecRNDeviceModule.xcodeproj/project.pbxproj +583 -0
  57. package/ios/Example/QuecRNDeviceModule.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  58. package/ios/Example/QuecRNDeviceModule.xcodeproj/xcshareddata/xcschemes/QuecRNDeviceModule-Example.xcscheme +101 -0
  59. package/ios/Example/QuecRNDeviceModule.xcworkspace/contents.xcworkspacedata +10 -0
  60. package/ios/Example/QuecRNDeviceModule.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  61. package/ios/LICENSE +4 -0
  62. package/ios/QuecRNDeviceModule/Assets/.gitkeep +0 -0
  63. package/ios/QuecRNDeviceModule/Classes/QuecRNDeviceModule+Ext.h +27 -0
  64. package/ios/QuecRNDeviceModule/Classes/QuecRNDeviceModule+Impl.h +1137 -0
  65. package/ios/QuecRNDeviceModule/Classes/QuecRNDeviceModule+Impl.m +1524 -0
  66. package/ios/QuecRNDeviceModule/Classes/QuecRNDeviceModule.h +157 -0
  67. package/ios/QuecRNDeviceModule/Classes/QuecRNDeviceModule.m +721 -0
  68. package/ios/README.md +20 -0
  69. package/{.prettierrc.js → js/.prettierrc.js} +11 -11
  70. package/js/README.md +1535 -0
  71. package/js/package.json +25 -0
  72. package/{src → js/src}/index.ts +12 -12
  73. package/{src → js/src}/module.ts +1332 -939
  74. package/{src → js/src}/viewCommon.ts +3 -3
  75. package/js/tsconfig.json +26 -0
  76. package/js/yarn.lock +4 -0
  77. package/package.json +10 -25
  78. package/plugin.ts +1180 -0
  79. package/settings.gradle +2 -0
  80. package/tsconfig.json +9 -0
@@ -0,0 +1,1352 @@
1
+ package com.quectel.smart.rnplugin.quecrndevicemodule;
2
+
3
+ import com.facebook.react.bridge.Promise;
4
+ import com.facebook.react.bridge.ReadableArray;
5
+ import com.facebook.react.bridge.ReadableMap;
6
+ import com.facebook.react.bridge.Callback;
7
+
8
+ /**
9
+ @version: 3.2.0
10
+ @owner: vic.huang@quectel.com
11
+ @platform: all
12
+ 设备桥组件
13
+ */
14
+
15
+ public interface IQuecRNDeviceModuleSpec{
16
+
17
+ /**
18
+ 获取当前设备WS订阅通道状态,订阅状态为true,不代表设备在线,只代表app和云端对当前设备进行了订阅
19
+
20
+ @param promise 回调 callback {"subscribe": true/false }
21
+ @available: 1.8.0
22
+ @platform: all
23
+ */
24
+
25
+ void isWebSocketSubscribe(Promise promise);
26
+
27
+ /**
28
+ 获取设备通道连接中状态
29
+
30
+ @param promise 回调 callback {"connectingState": 0/1/2/3/4/5/6/7}
31
+ onlineStateMaskWS = 1 << 0,
32
+ onlineStateMaskWifi = 1 << 1,
33
+ onlineStateMaskBle = 1 << 2,
34
+ (0: all offline, 1: websocket online, 2 : wifi online, 3: wifi + websocket online, 4: ble online, 5: websocket + ble online, 6: ble + wifi online , 7: wifi + ble + ws online)
35
+ @available: 1.8.0
36
+ @platform: all
37
+ */
38
+
39
+ void getDeviceConnectingState(Promise promise);
40
+
41
+ /**
42
+ writeDpsByHttp
43
+
44
+ @param dps – dps 确保code和value不为空 [ {id:0, code:"electric" type:BOOL, value:false} ,{id:1, code:"electric2", type:INT, value:2}]
45
+ @param deviceList – deviceList 设备列表 [{"deviceKey":"", "productKey":""}]
46
+ @param type - 类型 1:透传 2:属性 3:服务
47
+ @param extraData – {
48
+ dataFormat 数据类型 1:Hex 2:Text(当type为透传时,需要指定 dataFormat)
49
+ cacheTime 缓存时间,单位为秒,缓存时间范围 1-7776000 秒,启用缓存时必须设置缓存时间
50
+ isCache 是否启用缓存 1:启用 2:不启用,默认不启用
51
+ isCover 是否覆盖之前发送的相同的命令 1:覆盖 2:不覆盖,默认不覆盖,启用缓存时此参数有效
52
+
53
+ 查看接口定义
54
+ }
55
+ @param promise 回调 callback
56
+ @available: 1.8.0
57
+ @platform: all
58
+ */
59
+
60
+ void writeDpsByHttp(ReadableArray dps, ReadableArray deviceList, int type, ReadableMap extraData, Promise promise);
61
+
62
+ /**
63
+ read data points
64
+
65
+ @param dps – dps [ {id:0, type:BOOL, value:false} ,{id:1, type:INT, value:2}]
66
+ @param extraData – map
67
+ cacheTime number 指令缓存时间,ws通道有效,单位是s
68
+ msgId number 消息Id,ws通道有效
69
+ @param promise 回调 callback
70
+ @available: 1.6.8
71
+ @platform: all
72
+ */
73
+
74
+ void readDpsWithExtraData(ReadableArray dps, ReadableMap extraData, Promise promise);
75
+
76
+ /**
77
+ read data points
78
+
79
+ @param dps – dps [ {id:0, type:BOOL, value:false} ,{id:1, type:INT, value:2}]
80
+ @param extraData – map
81
+ cacheTime number 指令缓存时间,ws通道有效,单位是s
82
+ msgId number 消息Id,ws通道有效
83
+ @param mode – mode 下发模式: 0 auto,1: websocket 2:wifi 3:ble
84
+ @param promise 回调 callback
85
+ @available: 1.6.8
86
+ @platform: all
87
+ */
88
+
89
+ void readDpsWithExtraDataAndMode(ReadableArray dps, ReadableMap extraData, int mode, Promise promise);
90
+
91
+ /**
92
+ write data points
93
+
94
+ @param dps – dps [ {id:0, type:BOOL, value:false} ,{id:1, type:INT, value:2}]
95
+ @param extraData – map
96
+ cacheTime number 指令缓存时间,ws通道有效,单位是s
97
+ msgId number 消息Id,ws通道有效
98
+ @param promise 回调 callback
99
+ @available: 1.6.8
100
+ @platform: all
101
+ */
102
+
103
+ void writeDpsWithExtraData(ReadableArray dps, ReadableMap extraData, Promise promise);
104
+
105
+ /**
106
+ write data points
107
+
108
+ @param dps – dps [ {id:0, type:BOOL, value:false} ,{id:1, type:INT, value:2}]
109
+ @param extraData – map
110
+ cacheTime number 指令缓存时间,ws通道有效,单位是s
111
+ msgId number 消息Id,ws通道有效
112
+ @param mode – mode 下发模式: 0 auto,1: websocket 2:wifi 3:ble
113
+ @param promise 回调 callback
114
+ @available: 1.6.8
115
+ @platform: all
116
+ */
117
+
118
+ void writeDpsWithExtraDataAndMode(ReadableArray dps, ReadableMap extraData, int mode, Promise promise);
119
+
120
+ /**
121
+ 获取设备通道状态
122
+
123
+ @param promise 回调 callback {"state": 0/1/2}
124
+ (0: 未开启, 1: 未授权, 2 : 可用)
125
+ @available: 1.4.0
126
+ @platform: all
127
+ */
128
+
129
+ void getBleState(Promise promise);
130
+
131
+ /**
132
+ 获取物模型以及属性值
133
+
134
+ @param params map
135
+ productKey string 产品key
136
+ deviceKey string 设备key
137
+ codeList string 非必填 查询的属性标识符
138
+ gatewayDk string 网关设备的 Device Key
139
+ gatewayPk string 网关设备的 Product Key
140
+ 和查询类型配合使用,如果查询多个属性,使用英文逗号分隔
141
+
142
+ type string 非必填 查询类型
143
+ 1 查询设备基础属性
144
+ 2 查询物模型属性
145
+ 3 查询定位信息
146
+ 查询类型可以单选和多选,如果需要查询多个类型的属性值,使用英文逗号分隔
147
+
148
+ filterType 过滤类型
149
+ 0: 仅获取属性定义(默认行为)
150
+ 1: 获取属性和事件定义
151
+ 2: 获取属性,事件和服务定义 (为后续预留)
152
+ @param promise promise 执行回调
153
+ @available: 2.16.0
154
+ @platform: all
155
+ */
156
+
157
+ void getTslAndAttrs(ReadableMap params, Promise promise);
158
+
159
+ /**
160
+ read data points
161
+
162
+ @param dps – dps [ {id:0, type:BOOL, value:false} ,{id:1, type:INT, value:2}]
163
+ @param promise 回调 callback
164
+ @available: 1.4.0
165
+ @platform: all
166
+ */
167
+
168
+ void readDps(ReadableArray dps, Promise promise);
169
+
170
+ /**
171
+ write data points
172
+
173
+ @param dps – dps [ {id:0, type:BOOL, value:false} ,{id:1, type:INT, value:2}]
174
+ @param promise 回调 callback
175
+ @available: 1.4.0
176
+ @platform: all
177
+ */
178
+
179
+ void writeDps(ReadableArray dps, Promise promise);
180
+
181
+ /**
182
+ write transparent data
183
+
184
+ @param data 透传数据, 二进制base64转换的字符串
185
+ @param mode 发送模式
186
+ @param extraData 额外参数(预留)
187
+ @param promise 回调callback
188
+ @available: 1.7.0
189
+ @platform: all
190
+ */
191
+
192
+ void writeTransparent(String data, int mode, ReadableMap extraData, Promise promise);
193
+
194
+ /**
195
+ read data points
196
+
197
+ @param dps – dps [ {id:0, type:BOOL, value:false} ,{id:1, type:INT, value:2}]
198
+ @param mode – mode 下发模式: 0 auto,1: websocket 2:wifi 3:ble
199
+ @param promise 回调 callback
200
+ @available: 1.4.0
201
+ @platform: all
202
+ */
203
+
204
+ void readDpsWithMode(ReadableArray dps, int mode, Promise promise);
205
+
206
+ /**
207
+ write data points
208
+
209
+ @param dps – dps [ {id:0, type:BOOL, value:false} ,{id:1, type:INT, value:2}]
210
+ @param mode – mode 下发模式: 0 auto,1: websocket 2:wifi 3:ble
211
+ @param promise 回调 callback
212
+ @available: 1.4.0
213
+ @platform: all
214
+ */
215
+
216
+ void writeDpsWithMode(ReadableArray dps, int mode, Promise promise);
217
+
218
+ /**
219
+ 获取设备通道状态
220
+
221
+ @param promise 回调 callback {"onlineState": 0/1/2/3/4/5/6/7}
222
+ onlineStateMaskWS = 1 << 0,
223
+ onlineStateMaskWifi = 1 << 1,
224
+ onlineStateMaskBle = 1 << 2,
225
+ (0: all offline, 1: websocket online, 2 : wifi online, 3: wifi + websocket online, 4: ble online, 5: websocket + ble online, 6: ble + wifi online , 7: wifi + ble + ws online)
226
+ @available: 1.4.0
227
+ @platform: all
228
+ */
229
+
230
+ void getOnlineState(Promise promise);
231
+
232
+ /**
233
+ 建立通道,(设备会自动根据设备通道能力capabilitiesBitmask建立通道,此API用于手动切换指定通道)
234
+
235
+ @param mode – mode 建立通道模式: 0 auto,1: websocket 2:wifi 3:ble
236
+ 注意:1,建立的通通与已连接通道不同时,已连接通道会断开。
237
+ 2,当设备不具备相应通道,建立其不具备的通道会失败。不会再自动建立其他通道
238
+ @available: 1.4.0
239
+ @platform: all
240
+ */
241
+
242
+ void connectChannel(int mode);
243
+
244
+ /**
245
+ 断开通道,(
246
+
247
+ @param type – type 通道类型,0: 关闭所有通道(关闭wifi和ble), 2:wifi 3:ble
248
+ @available: 1.4.0
249
+ @platform: all
250
+ */
251
+
252
+ void disconnectChannel(int type);
253
+
254
+ /**
255
+ 获取websocket是否登录成功
256
+
257
+ @param isLoginCallback Func 接受是否登录websocket回调 已登录成功 true 登录失败 false
258
+ @available: 1.0.0
259
+ @platform: all
260
+ */
261
+
262
+ @Deprecated
263
+ void isWebSocketLoginCallback(Callback isLoginCallback);
264
+
265
+ /**
266
+ 订阅设备
267
+
268
+ @param list 订阅设备列表,订阅结果QuecDeviceServiceWebSocketDelegate返回
269
+ [
270
+ {
271
+ "deviceKey": "1234567890",
272
+ "messageType": [
273
+ "ONLINE"
274
+ ],
275
+ "productKey": "p12345"
276
+ },
277
+ {
278
+ "deviceKey": "1234567890",
279
+ "messageType": [
280
+ "ONLINE",
281
+ "STATUS"
282
+ ],
283
+ "productKey": "p12345"
284
+ }
285
+ ]
286
+ @available: 1.0.0
287
+ @platform: all
288
+ */
289
+
290
+ @Deprecated
291
+ void subscribeDevicesWithList(ReadableArray list);
292
+
293
+ /**
294
+ 取消订阅设备
295
+
296
+ @param list 取消订阅设备列表,取消订阅结果QuecDeviceServiceWebSocketDelegate返回
297
+ [
298
+ {
299
+ "deviceKey": "1234567890",
300
+ "productKey": "p12345"
301
+ },
302
+ {
303
+ "deviceKey": "1234567890",
304
+ "productKey": "p12345"
305
+ }
306
+ ]
307
+ @available: 1.0.0
308
+ @platform: all
309
+ */
310
+
311
+ @Deprecated
312
+ void unSubscribeDevicesWithList(ReadableArray list);
313
+
314
+ /**
315
+ 获取设备业务属性值
316
+
317
+ @param params 发送数据,需要在delegate的websocketDidOpen回调之后才能调用
318
+ 透传
319
+ {
320
+ "cmd": "send",
321
+ "data": {
322
+ "cacheTime": 3600,
323
+ "dataFormat": "Text",
324
+ "deviceKey": "866123456789015",
325
+ "isCache": true,
326
+ "productKey": "p12345",
327
+ "raw": "123456",
328
+ "type": "RAW"
329
+ }
330
+ }
331
+ 物模型
332
+ {
333
+ "cmd": "send",
334
+ "data": {
335
+ "deviceKey": "1234567890",
336
+ "kv": "[{\"id\":5,\"name\":\"openapi\",\"type\":\"BOOL\",\"value\":\"true\"}]",
337
+ "productKey": "p12345",
338
+ "type": "WRITE-ATTR"
339
+ }
340
+ }
341
+ @available: 1.0.0
342
+ @platform: all
343
+ */
344
+
345
+ @Deprecated
346
+ void sendDataToDeviceByWebSocketWithDataDict(ReadableMap params);
347
+
348
+ /**
349
+ 获取设备列表
350
+
351
+ @param pageNumber number 页码
352
+ @param pageSize number 页大小
353
+ @param promise promise 执行回调
354
+ callback {"data": {"list" : [], "total" : 12}}
355
+ @available: 1.0.0
356
+ @platform: all
357
+ */
358
+
359
+ @Deprecated
360
+ void getDeviceListWithPageNumber(int pageNumber, int pageSize, Promise promise);
361
+
362
+ /**
363
+ 获取设备业务物模型属性值
364
+
365
+ @param params map
366
+ productKey string 产品key
367
+ deviceKey string 设备key
368
+ codeList string 非必填 查询的属性标识符
369
+ gatewayDk string 网关设备的 Device Key
370
+ gatewayPk string 网关设备的 Product Key
371
+ 和查询类型配合使用,如果查询多个属性,使用英文逗号分隔
372
+ type string 非必填 查询类型
373
+ 1 查询设备基础属性
374
+ 2 查询物模型属性
375
+ 3 查询定位信息
376
+ 查询类型可以单选和多选,如果需要查询多个类型的属性值,使用英文逗号分隔
377
+ @param promise promise 执行回调
378
+ @available: 1.0.0
379
+ @platform: all
380
+ */
381
+
382
+ @Deprecated
383
+ void getProductTSLWithProductKey(ReadableMap params, Promise promise);
384
+
385
+ /**
386
+ 获取设备业务属性值
387
+
388
+ @param params map
389
+ productKey string 产品key
390
+ deviceKey string 设备key
391
+ codeList string 非必填 查询的属性标识符
392
+ 和查询类型配合使用,如果查询多个属性,使用英文逗号分隔
393
+ type string 非必填 查询类型
394
+ 1 查询设备基础属性
395
+ 2 查询物模型属性
396
+ 3 查询定位信息
397
+ 查询类型可以单选和多选,如果需要查询多个类型的属性值,使用英文逗号分隔
398
+ @param promise promise 执行回调
399
+ @available: 1.0.0
400
+ @platform: all
401
+ */
402
+
403
+ @Deprecated
404
+ void getDeviceBusinessAttributesWithProductKey(ReadableMap params, Promise promise);
405
+
406
+ /**
407
+ 更改分享设备名称
408
+
409
+ @param deviceName string 设备名称
410
+ @param shareCode string 分享码
411
+ @param promise promise 执行回调
412
+ @available: 1.0.0
413
+ @platform: all
414
+ */
415
+
416
+ @Deprecated
417
+ void updateDeviceNameByShareUserWithDeviceName(String deviceName, String shareCode, Promise promise);
418
+
419
+ /**
420
+ 更改分享设备名称
421
+
422
+ @param deviceName string deviceName
423
+ @param productKey string product key
424
+ @param deviceKey string deviceKey
425
+ @param promise promise 执行回调
426
+ @available: 1.0.0
427
+ @platform: all
428
+ */
429
+
430
+ @Deprecated
431
+ void updateDeviceName(String deviceName, String productKey, String deviceKey, Promise promise);
432
+
433
+ /**
434
+ 查询网关设备下子设备列表
435
+
436
+ @param params deviceKey string 必传 网关设备deviceKey
437
+ productKey string 必传 网关设备productKey
438
+ pageNumber number 必传 页码
439
+ pageSize number 必传 页大小
440
+ @param promise promise 执行回调
441
+ callback {"data": {"list" : [], "total" : 12}}
442
+ @available: 1.0.0
443
+ @platform: all
444
+ */
445
+
446
+ @Deprecated
447
+ void getGatewayDeviceChildListWithParams(ReadableMap params, Promise promise);
448
+
449
+ /**
450
+ 设备解绑
451
+
452
+ @param deviceKey string device key
453
+ @param productKey string product key
454
+ @param promise promise 执行回调
455
+ @available: 1.0.0
456
+ @platform: all
457
+ */
458
+
459
+ @Deprecated
460
+ void unbindDeviceWithDeviceKey(String deviceKey, String productKey, Promise promise);
461
+
462
+ /**
463
+ 设备解绑
464
+
465
+ @param shareCode string 分享码
466
+ @param promise promise 执行回调
467
+ @available: 1.0.0
468
+ @platform: all
469
+ */
470
+
471
+ @Deprecated
472
+ void unShareDeviceByShareUserWithShareCode(String shareCode, Promise promise);
473
+
474
+ /**
475
+ 获取设备属性图表列表
476
+
477
+ @param params productKey 产品key
478
+ deviceKey 设备key
479
+ startTimestamp 开始时间(毫秒时间戳)
480
+ endTimestamp 结束时间(毫秒时间戳)
481
+ attributeCode 物模型属性标识符,查询多个属性时使用英文逗号分隔
482
+ gatewayDk 网关设备的 Device Key
483
+ gatewayPk 网关设备的 Product Key
484
+ countType 聚合类型(默认3):1-最大值 2-最小值 3-平均值 4-差值 5-总值
485
+ timeGranularity 统计时间粒度(默认2):1-月 2-日 3-小时 4-分钟 5-秒
486
+ callback {"data": []}
487
+ @param promise promise 执行回调
488
+ @available: 1.1.0
489
+ @platform: all
490
+ */
491
+
492
+ void getPropertyChartListWithParams(ReadableMap params, Promise promise);
493
+
494
+ /**
495
+ 获取设备分享人列表
496
+
497
+ @param deviceKey string 设备名称
498
+ @param productKey string 产品key
499
+ @param promise promise 执行回调
500
+ @available: 1.1.0
501
+ @platform: all
502
+ */
503
+
504
+ void getDeviceShareUserListWithDeviceKey(String deviceKey, String productKey, Promise promise);
505
+
506
+ /**
507
+ 分享人设置分享信息
508
+
509
+ @param params deviceKey string 设备key
510
+ productKey string 产品key
511
+ acceptingExpireTime number 分享二维码种子失效时间 时间戳(毫秒),表示该分享在此时间戳时间内没有使用,会失效
512
+ coverMark number 覆盖标志:1 直接覆盖上条有效分享(默认)(覆盖原有的分享码);2 直接添加,允许多条并存;3 只有分享时间延长了,才允许覆盖上条分享
513
+ isSharingAlwaysValid bool 设备是否永久有效
514
+ sharingExpireTime number 设备使用到期时间 时间戳(毫秒),表示该分享的设备,被分享人可以使用的时间,isSharingAlwaysValid为YES时该参数无效
515
+ @param promise promise 执行回调
516
+ @available: 1.1.0
517
+ @platform: all
518
+ */
519
+
520
+ void setShareInfoByOwnerWithDeviceKey(ReadableMap params, Promise promise);
521
+
522
+ /**
523
+ 分享人取消分享
524
+
525
+ @param shareCode string 分享码
526
+ @param promise promise 执行回调
527
+ @available: 1.1.0
528
+ @platform: all
529
+ */
530
+
531
+ void unShareDeviceByOwnerWithShareCode(String shareCode, Promise promise);
532
+
533
+ /**
534
+ 获取设备历史轨迹
535
+
536
+ @param params productKey 产品key
537
+ deviceKey 设备key
538
+ startTimestamp 开始时间(毫秒时间戳)
539
+ endTimestamp 结束时间(毫秒时间戳)
540
+ gatewayDk 网关设备的 Device Key
541
+ gatewayPk 网关设备的 Product Key
542
+ locateTypes 定位类型(默认查询所有类型的定位),查询多种定位时使用英文逗号分隔
543
+ GNSS-全球导航卫星系统
544
+ GPS-美国导航定位系统
545
+ GL-俄罗斯格洛纳导航定位系统
546
+ GA-欧盟伽利略卫星导航系统
547
+ BD/PQ-中国导航定位系统
548
+ LBS-基于通信运营商的基站定位系统
549
+ @param promise
550
+ @available: 1.1.0
551
+ @platform: all
552
+ */
553
+
554
+ void getLocationHistoryWithParams(ReadableMap params, Promise promise);
555
+
556
+ /**
557
+ 获取设备信息
558
+
559
+ @param deviceKey string 设备key
560
+ @param productKey string 产品key
561
+ @param promise promise 执行回调
562
+ @available: 1.2.0
563
+ @platform: all
564
+ */
565
+
566
+ void getDeviceInfoByDeviceKey(String deviceKey, String productKey, Promise promise);
567
+
568
+ /**
569
+ 获取设备属性信息
570
+
571
+ @param params map
572
+ productKey 产品key
573
+ deviceKey 设备key
574
+ startTimestamp 开始时间(毫秒时间戳)
575
+ endTimestamp 结束时间(毫秒时间戳)
576
+ attributeCode 物模型属性标识符,查询多个属性时使用英文逗号分隔
577
+ gatewayDk 网关设备的 Device Key
578
+ gatewayPk 网关设备的 Product Key
579
+ pageNumber 当前页,默认为第 1 页
580
+ pageSize 页大小,默认为 10 条
581
+ @param promise promise 执行回调
582
+ @available: 1.2.0
583
+ @platform: all
584
+ */
585
+
586
+ void getPropertyDataListWithParams(ReadableMap params, Promise promise);
587
+
588
+ /**
589
+ 获取设备属性环比统计数据
590
+
591
+ @param params map
592
+ productKey 产品key
593
+ deviceKey 设备key
594
+ currentTimestamp 当前时间(毫秒时间戳
595
+ attributeCode 物模型属性标识符,查询多个属性时使用英文逗号分隔
596
+ gatewayDk 网关设备的 Device Key
597
+ gatewayPk 网关设备的 Product Key
598
+ countType 聚合类型(默认3):1-最大值 2-最小值 3-平均值 4-差值 5-总值
599
+ timeGranularities 统计时间粒度,查询多个粒度时使用英文逗号分隔(默认1):1-日 2-周 3-月 4-年
600
+ callback {"data": []}
601
+ @param promise promise 执行回调
602
+ @available: 1.2.0
603
+ @platform: all
604
+ */
605
+
606
+ void getPropertyStatisticsWithParams(ReadableMap params, Promise promise);
607
+
608
+ /**
609
+ 通过分享码查询设备信息
610
+
611
+ @param shareCode 分享码
612
+ @param promise 回调
613
+ @available: 1.3.0
614
+ @platform: all
615
+ */
616
+
617
+ void getDeviceInfoByShareCode(String shareCode, Promise promise);
618
+
619
+ /**
620
+ 获取设备列表-根据设备名称搜索
621
+
622
+ @param deviceName 设备名称
623
+ @param pageNumber number 页码
624
+ @param pageSize number 页大小
625
+ @param promise 回调 callback {"data": {"list" : [], "total" : 12}}
626
+ @available: 1.3.0
627
+ @platform: all
628
+ */
629
+
630
+ void getDeviceListByDeviceName(String deviceName, int pageNumber, int pageSize, Promise promise);
631
+
632
+ /**
633
+ 通过SN绑定设备
634
+
635
+ @param serialNumber string 设备SN码
636
+ @param productKey string 产品key
637
+ @param deviceName string 设备名称
638
+ @param promise 回调 callback
639
+ @available: 1.3.0
640
+ @platform: all
641
+ */
642
+
643
+ void bindDeviceBySerialNumber(String serialNumber, String productKey, String deviceName, Promise promise);
644
+
645
+ /**
646
+ 通过authCode绑定设备
647
+ 可用于wifi/wifi+蓝牙设备绑定
648
+
649
+ @param params Map 包含以下属性
650
+ authCode string 设备authCode
651
+ productKey string 产品key
652
+ deviceKey string 设备key
653
+ deviceName string 设备名称
654
+ @param promise 回调 callback
655
+ @available: 1.3.0
656
+ @platform: all
657
+ */
658
+
659
+ void bindDeviceByAuthCode(ReadableMap params, Promise promise);
660
+
661
+ /**
662
+ 通过authCode + password绑定设备
663
+ 可用于蓝牙设备绑定
664
+
665
+ @param params Map 包含以下属性
666
+ authCode string 设备authCode
667
+ productKey string 产品key
668
+ deviceKey string 设备key
669
+ password string 设备password
670
+ deviceName string 设备名称
671
+ @param promise 回调 callback
672
+ @available: 1.3.0
673
+ @platform: all
674
+ */
675
+
676
+ void bindDeviceByPSWAuthCode(ReadableMap params, Promise promise);
677
+
678
+ /**
679
+ 查询设备升级信息
680
+
681
+ @param productKey string 产品key
682
+ @param deviceKey string 设备key
683
+ @param params map 其他信息 非必传
684
+ batteryLevelLimit number 设备剩余电量百分比
685
+ mcuVersions array 固件信息 componentNo string 升级组件标识 version string 升级组件版本
686
+ minSignalIntensity number 设备最小信号量 dbM
687
+ moduleVersion string 模组版本
688
+ upgradeTime number 升级时间时间戳,默认为当前时间戳
689
+ useSpace number 所需磁盘空间,KB
690
+ {'batteryLevelLimit':1, 'mcuVersions':[{'componentNo': '', 'version': ''}], 'minSignalIntensity':1, 'moduleVersion':'', 'upgradeTime':1, 'useSpace':1}
691
+ @param promise 回调 callback
692
+ @available: 1.3.0
693
+ @platform: all
694
+ */
695
+
696
+ void getFetchPlanWithProductKey(String productKey, String deviceKey, ReadableMap params, Promise promise);
697
+
698
+ /**
699
+ 上报设备升级信息
700
+
701
+ @param params map
702
+ productKey string 产品key
703
+ deviceKey string 设备key
704
+ componentNo string 升级固件标识
705
+ reportStatus number 升级状态 0 - 1 2
706
+ @param promise 回调 callback
707
+ @available: 1.3.0
708
+ @platform: all
709
+ */
710
+
711
+ void reportDeviceUpgradeStatusWithProductKey(ReadableMap params, Promise promise);
712
+
713
+ /**
714
+ 设备批量控制
715
+
716
+ @param params Map
717
+ data 遵循tsl格式的json string [{"id":62,"value":99,"type":"INT","name":"温度(temp)"},{"id":63,"value":"true","type":"BOOL","name":"开关机状态(powerstate)"}]
718
+ deviceList 设备列表 [{"deviceKey":"", "productKey":""}]
719
+ type number 类型 1:透传 2:属性 3:服务
720
+ dataFormat number 数据类型 1:Hex 2:Text(当type为透传时,需要指定 dataFormat)
721
+ cacheTime number 非必传 缓存时间,单位为秒,缓存时间范围 1-7776000 秒,启用缓存时必须设置缓存时间
722
+ isCache number 非必传 是否启用缓存 1:启用 2:不启用,默认不启用
723
+ isCover number 非必传 是否覆盖之前发送的相同的命令 1:覆盖 2:不覆盖,默认不覆盖,启用缓存时此参数有效
724
+ @param promise 回调 callback
725
+ @available: 1.3.0
726
+ @platform: all
727
+ */
728
+
729
+ void sendDataToDevicesByHttpWithData(ReadableMap params, Promise promise);
730
+
731
+ /**
732
+ 创建定时任务
733
+
734
+ @param params productKey – string 必传 产品key
735
+ deviceKey – string 必传 设备key
736
+ type – string 必传 定时任务类型,once: 执行一次,day-repeat: 每天重复,custom-repeat: 自定义重复,multi-section: 多段执行,random: 随机执行,delay: 延迟执行(倒计时)
737
+ timers:[{
738
+ action – string 必传 定时任务执行的命令,格式:物模型的 json 字符串,
739
+ time – string 非必传 执行时间,格式为 HH:mm:ss, 当 type = once || day-repeat || custom-repeat ||
740
+ multi-section 时必填,
741
+ startTime – string 非必传 当 type 为 random 时必填,格式为 "HH:mm:ss",如 "12:00:00"
742
+ endTime – string 非必传 当 type 为 random 时必填,格式为 "HH:mm:ss",如 "12:00:00"
743
+ delay – number 非必传 延迟执行时间,单位为秒, 当 type = delay 时必填,单位为 s
744
+ }]
745
+ enabled – 定时任务状态:false-停止(默认) true-启动
746
+ dayOfWeek – string 非必传 周几执行:1-周一 2-周二 3-周三 4-周四 5-周五 6-周六 7-周日, 可以多选,传多个值时使用英文逗号分隔, 当 type = custom-repeat || multi-section || random 时必填
747
+ @param promise 回调 callback {"data": {}}
748
+ @available: 1.3.0
749
+ @platform: all
750
+ */
751
+
752
+ void addCornJob(ReadableMap params, Promise promise);
753
+
754
+ /**
755
+ 修改定时任务
756
+
757
+ @param params productKey – string 必传 产品key
758
+ deviceKey – string 必传 设备key
759
+ ruleId – string 必传 规则唯一标识,修改规则实例信息时必填
760
+ type – string 必传 定时任务类型,once: 执行一次,day-repeat: 每天重复,custom-repeat: 自定义重复,multi-section: 多段执行,random: 随机执行,delay: 延迟执行(倒计时)
761
+ timers:[{
762
+ action – string 必传 定时任务执行的命令,格式:物模型的 json 字符串,
763
+ time – string 非必传 执行时间,格式为 HH:mm:ss, 当 type = once || day-repeat || custom-repeat ||
764
+ multi-section 时必填,
765
+ startTime – string 非必传 当 type 为 random 时必填,格式为 "HH:mm:ss",如 "12:00:00"
766
+ endTime – string 非必传 当 type 为 random 时必填,格式为 "HH:mm:ss",如 "12:00:00"
767
+ delay – number 非必传 延迟执行时间,单位为秒, 当 type = delay 时必填,单位为 s
768
+ }]
769
+ enabled – 定时任务状态:false-停止(默认) true-启动
770
+ dayOfWeek – string 非必传 周几执行:1-周一 2-周二 3-周三 4-周四 5-周五 6-周六 7-周日, 可以多选,传多个值时使用英文逗号分隔, 当 type = custom-repeat || multi-section || random 时必填
771
+ @param promise 回调 callback {"data": {}}
772
+ @available: 1.3.0
773
+ @platform: all
774
+ */
775
+
776
+ void setCronJob(ReadableMap params, Promise promise);
777
+
778
+ /**
779
+ 查询设备下定时任务列表
780
+
781
+ @param params productKey – string 必传 产品key
782
+ deviceKey – string 必传 设备key
783
+ type – string 必传 定时任务类型,once: 执行一次,day-repeat: 每天重复,custom-repeat: 自定义重复,multi-section: 多段执行,random: 随机执行,delay: 延迟执行(倒计时)
784
+ page – number 分页页码,默认: 1
785
+ pageSize – number 分页大小,默认: 10
786
+ @param promise 回调 callback {"data": {"list" : [], "total" : 12}}
787
+ @available: 1.3.0
788
+ @platform: all
789
+ */
790
+
791
+ void getCronJobList(ReadableMap params, Promise promise);
792
+
793
+ /**
794
+ 查询定时任务详情
795
+
796
+ @param ruleId – string 必传 定时任务ID
797
+ @param promise 回调 callback {"data": {}}
798
+ @available: 1.3.0
799
+ @platform: all
800
+ */
801
+
802
+ void getCronJobInfo(String ruleId, Promise promise);
803
+
804
+ /**
805
+ 批量删除定时任务
806
+
807
+ @param params – {ruleIdList:[] String[] 必传 定时任务ID}
808
+ @param promise 回调 callback {"data": {}}
809
+ @available: 1.3.0
810
+ @platform: all
811
+ */
812
+
813
+ void batchDeleteCronJob(ReadableMap params, Promise promise);
814
+
815
+ /**
816
+ 查询产品下定时任务限制数
817
+
818
+ @param productKey – string 必传 产品key
819
+ @param promise 回调callback {"data": {}}
820
+ @available: 1.3.0
821
+ @platform: all
822
+ */
823
+
824
+ void getProductCornJobLimit(String productKey, Promise promise);
825
+
826
+ /**
827
+ 打开websocket
828
+
829
+ @available: 1.3.0
830
+ @platform: all
831
+ */
832
+
833
+ void openWebSocket();
834
+
835
+ /**
836
+ 关闭websocket
837
+
838
+ @available: 1.3.0
839
+ @platform: all
840
+ */
841
+
842
+ void closeWebSocket();
843
+
844
+ /**
845
+ 查询产品的tls模型
846
+
847
+ @param param -{productKey:String } --必传
848
+ @param promise -{callback:{data:{}}
849
+ @available: 1.5.0
850
+ @platform: all
851
+ */
852
+
853
+ void getProductTSLWithCacheByProductKey(ReadableMap param, Promise promise);
854
+
855
+ /**
856
+ 门锁事件日志
857
+
858
+ @param params {codeList:["",""],productKey:"",deviceKey:"",startTime:long,endTime:long,pageNumber:1,pageSize:10}
859
+ @param promise
860
+ @available: 1.9.0
861
+ @platform: all
862
+ */
863
+
864
+ void listDeviceEvent(ReadableMap params, Promise promise);
865
+
866
+ /**
867
+ 设备解绑
868
+
869
+ @param pk string 产品id
870
+ @param dk string 设备id
871
+ @param shareCode string 分享码
872
+ @param promise promise 执行回调
873
+ @available: 1.9.6
874
+ @platform: all
875
+ */
876
+
877
+ @Deprecated
878
+ void unShareDeviceByShareUserWithShareCodeIpc(String pk, String dk, String shareCode, Promise promise);
879
+
880
+ /**
881
+ 订阅设备(非当前面板设备)
882
+
883
+ @param pk string 产品id
884
+ @param dk string 设备id
885
+ @available: 2.0.0
886
+ @platform: all
887
+ */
888
+
889
+ void subscribeDevice(String pk, String dk);
890
+
891
+ /**
892
+ 取消订阅 (非当前面板设备)
893
+
894
+ @param pk string 产品id
895
+ @param dk string 设备id
896
+ @available: 2.0.0
897
+ @platform: all
898
+ */
899
+
900
+ void unSubscribeDevice(String pk, String dk);
901
+
902
+ /**
903
+ 设置主从设备关联关系
904
+
905
+ @param list - array<DeviceModel> 关联设备列表
906
+ [
907
+ {
908
+ "deviceKey": "1234567890",
909
+ "productKey": "p12345",
910
+ ...设备其他信息
911
+ },
912
+ {
913
+ "deviceKey": "1234567890",
914
+ "productKey": "p12345"
915
+ ...设备其他信息
916
+ }
917
+ ]
918
+ @param master - DeviceModel Object 主设备信息
919
+ @param fid - string 家庭 id, 没有传空
920
+ @param promise promise 执行回调
921
+ @available: 2.0.0
922
+ @platform: all
923
+ */
924
+
925
+ void deviceAssociationWithList(ReadableArray list, ReadableMap master, String fid, Promise promise);
926
+
927
+ /**
928
+ 设备关联关系查询
929
+
930
+ @param master - DeviceModel Object 主设备信息
931
+ @param fid - string 家庭 id, 没有传空
932
+ @param codelist - string 物模型code, 用逗号分隔
933
+ @param promise promise 执行回调
934
+ @available: 2.0.0
935
+ @platform: all
936
+ */
937
+
938
+ void deviceAssociation(ReadableMap master, String fid, String codelist, Promise promise);
939
+
940
+ /**
941
+ 设备关联关系解除
942
+
943
+ @param device - DeviceModel Object 从设备信息
944
+ @param fid - string 家庭 id, 没有传空
945
+ @param promise promise 执行回调
946
+ @available: 2.0.0
947
+ @platform: all
948
+ */
949
+
950
+ void deviceDisassociation(ReadableMap device, String fid, Promise promise);
951
+
952
+ /**
953
+ 设备关联关系配置查询
954
+
955
+ @param pk string 主设备pk
956
+ @param promise promise 执行回调
957
+ @available: 2.0.0
958
+ @platform: all
959
+ */
960
+
961
+ void deviceAssociationConfig(String pk, Promise promise);
962
+
963
+ /**
964
+ 通过设备dk,pk获取指定设备设备通道状态
965
+
966
+ @param pk - string 设备 productkey
967
+ @param dk - string 设备 devicekey
968
+ @param promise 回调 callback {"onlineState": 0/1/2/3/4/5/6/7}
969
+ onlineStateMaskWS = 1 << 0,
970
+ onlineStateMaskWifi = 1 << 1,
971
+ onlineStateMaskBle = 1 << 2,
972
+ (0: all offline, 1: websocket online, 2 : wifi online, 3: wifi + websocket online, 4: ble online, 5: websocket + ble online, 6: ble + wifi online , 7: wifi + ble + ws online)
973
+ @available: 2.0.0
974
+ @platform: all
975
+ */
976
+
977
+ void getDeviceOnlineState(String pk, String dk, Promise promise);
978
+
979
+ /**
980
+ 设置离线提醒开关
981
+
982
+ @param enableOfflineReminder number 开关 0关闭1开启
983
+ @param productKey - string productKey
984
+ @param deviceKey - string deviceKey
985
+ @param promise promise回调
986
+ @available: 2.4.0
987
+ @platform: all
988
+ */
989
+
990
+ void setOfflineReminder(int enableOfflineReminder, String productKey, String deviceKey, Promise promise);
991
+
992
+ /**
993
+ 离线提醒开关查询
994
+
995
+ @param productKey - string productKey
996
+ @param deviceKey - string deviceKey
997
+ @param promise promise 回调
998
+ @available: 2.4.0
999
+ @platform: all
1000
+ */
1001
+
1002
+ void getOfflineReminderInfo(String productKey, String deviceKey, Promise promise);
1003
+
1004
+ /**
1005
+ 获取设备是否有OTA计划
1006
+
1007
+ @param device - DeviceModel Object 设备信息
1008
+ @param promise promise 回调
1009
+ @available: 2.4.0
1010
+ @platform: all
1011
+ */
1012
+
1013
+ void checkDeviceUpdatePlan(ReadableMap device, Promise promise);
1014
+
1015
+ /**
1016
+ 打开设备OTA详情
1017
+
1018
+ @param productKey - string productKey
1019
+ @param deviceKey - string deviceKey
1020
+ @param promise promise 回调
1021
+ @available: 2.4.0
1022
+ @platform: all
1023
+ */
1024
+
1025
+ void openDeviceOTAPage(String productKey, String deviceKey, Promise promise);
1026
+
1027
+ /**
1028
+ 获取当前手机设置时区
1029
+
1030
+ @param promise promise 执行回调
1031
+ @available: 2.5.7
1032
+ @platform: all
1033
+ */
1034
+
1035
+ void getTimeDifferenceWithGMT(Promise promise);
1036
+
1037
+ /**
1038
+ 获取当前设备设置时区
1039
+
1040
+ @param productKey - string productKey
1041
+ @param deviceKey - string deviceKey
1042
+ @param promise promise 执行回调
1043
+ @available: 2.5.7
1044
+ @platform: all
1045
+ */
1046
+
1047
+ void getDeviceTimeZone(String productKey, String deviceKey, Promise promise);
1048
+
1049
+ /**
1050
+ 设置设备时区
1051
+
1052
+ @param productKey - string productKey
1053
+ @param deviceKey - string deviceKey
1054
+ @param timezone - string 时区
1055
+ @param promise promise 执行回调
1056
+ @available: 2.5.7
1057
+ @platform: all
1058
+ */
1059
+
1060
+ void setDeviceTimeZone(String productKey, String deviceKey, String timezone, Promise promise);
1061
+
1062
+ /**
1063
+ 获取设备当前连接WiFi信息
1064
+
1065
+ @param productKey - string productKey
1066
+ @param deviceKey - string deviceKey
1067
+ @param promise promise 执行回调
1068
+ @available: 2.10.0
1069
+ @platform: all
1070
+ */
1071
+
1072
+ void getDeviceStateInfo(String productKey, String deviceKey, Promise promise);
1073
+
1074
+ /**
1075
+ 跳转WiFi列表页
1076
+
1077
+ @param productKey - string productKey
1078
+ @param deviceKey - string deviceKey
1079
+ @param oldSsid - string 已连接ssid
1080
+ @param signal_strength - string 信号强度
1081
+ @param supportOnlineWiFiScan - boolean 设备是否支持在线WiFi扫描
1082
+ @param promise promise 执行回调
1083
+ @available: 2.10.0
1084
+ @platform: all
1085
+ */
1086
+
1087
+ void jumpDeviceWiFiListPage(String productKey, String deviceKey, String oldSsid, String signal_strength, boolean supportOnlineWiFiScan, Promise promise);
1088
+
1089
+ /**
1090
+ 获取产品说明书地址
1091
+
1092
+ @param productKey - string productKey
1093
+ @param promise promise 执行回调 { "data":{"url": "https://xxx.pdf"}}
1094
+ @available: 2.10.0
1095
+ @platform: all
1096
+ */
1097
+
1098
+ void getProductDescription(String productKey, Promise promise);
1099
+
1100
+ /**
1101
+ 获取设备列表
1102
+
1103
+ @param pageNumber number 页码
1104
+ @param pageSize number 页大小
1105
+ @param promise promise 执行回调
1106
+ callback {"data": {"list" : [], "total" : 12}}
1107
+ @available: 2.11.5
1108
+ @platform: all
1109
+ */
1110
+
1111
+ void getFamilyDeviceList(int pageNumber, int pageSize, Promise promise);
1112
+
1113
+ /**
1114
+ 设备校时 only pure bt
1115
+
1116
+ @param productKey - string productKey
1117
+ @param deviceKey - string deviceKey
1118
+ @param promise 回调
1119
+ @available: 2.11.0
1120
+ @platform: all
1121
+ */
1122
+
1123
+ void timeZoneSync(String productKey, String deviceKey, Promise promise);
1124
+
1125
+ /**
1126
+ 纯蓝牙设备解绑
1127
+
1128
+ @param productKey - string productKey
1129
+ @param deviceKey - string deviceKey
1130
+ @param isInit - boolean 是否重置设备
1131
+ @param random - string 非必传 random
1132
+ @param pureBtResetCredentials - string 非必传 重置凭证
1133
+ @param promise 回调
1134
+ @available: 2.11.0
1135
+ @platform: all
1136
+ */
1137
+
1138
+ void unbindlingPureBtDevice(String productKey, String deviceKey, boolean isInit, String random, String pureBtResetCredentials, Promise promise);
1139
+
1140
+ /**
1141
+ 获取产品物模型(无网络获取缓存)
1142
+
1143
+ @param productKey - string productKey
1144
+ @param promise promise 执行回调
1145
+ @available: 2.11.0
1146
+ @platform: all
1147
+ */
1148
+
1149
+ void getTsl(String productKey, Promise promise);
1150
+
1151
+ /**
1152
+ 激活设备(设备配网)
1153
+
1154
+ @param productKey productKey
1155
+ @param deviceKey deviceKey
1156
+ @param promise 执行结果
1157
+ @available: 2.12.0
1158
+ @platform: all
1159
+ */
1160
+
1161
+ void startVerifyDevice(String productKey, String deviceKey, Promise promise);
1162
+
1163
+ /**
1164
+ 已绑定设备配网
1165
+
1166
+ @param productKey productKey
1167
+ @param deviceKey deviceKey
1168
+ @param promise 执行结果
1169
+ @available: 2.14.5
1170
+ @platform: all
1171
+ */
1172
+
1173
+ void startNetConfigDevice(String productKey, String deviceKey, Promise promise);
1174
+
1175
+ /**
1176
+ 被分享人查询分享权限
1177
+
1178
+ @param shareCodeList 分享码列表
1179
+ @param promise 执行结果
1180
+ @available: 2.19.0
1181
+ @platform: all
1182
+ */
1183
+
1184
+ void getSharePermList(ReadableArray shareCodeList, Promise promise);
1185
+
1186
+ /**
1187
+ 立刻上传设备历史数据
1188
+
1189
+ @param productKey productKey
1190
+ @param deviceKey deviceKey
1191
+ @param promise 执行结果
1192
+ @available: 3.1.0
1193
+ @platform: all
1194
+ */
1195
+
1196
+ void uploadDeviceHistoricalData(String productKey, String deviceKey, Promise promise);
1197
+
1198
+ /**
1199
+ 获取产品语音技能支持
1200
+
1201
+ @param productKey productKey
1202
+ @param uid 终端用户id
1203
+ @param account 当前用户的账号(优先邮箱 没有就手机号, 都没有就不传)
1204
+ @param promise 执行结果 callback {"supportAlexa": true/false, "supportAssistant": true/false,}
1205
+ supportAlexa 是否支持Alexa 语音
1206
+ supportAssistant 是否支持google assistant
1207
+ @available: 3.2.0
1208
+ @platform: all
1209
+ */
1210
+
1211
+ void getVoiceSupport(String productKey, String uid, String account, Promise promise);
1212
+
1213
+ /**
1214
+ 设备链路连接状态状态通知
1215
+ @available: 1.8.0
1216
+ @platform: all
1217
+ @param: object 事件数据 {"connectingState": 0/1/2/3/4/5/6/7}
1218
+ connectingStateMaskWS = 1 << 0,
1219
+ connectingStateMaskWifi = 1 << 1,
1220
+ connectingStateMaskBle = 1 << 2,
1221
+ (0: all offline, 1: websocket online, 2 : wifi online, 3: wifi + websocket online, 4: ble online, 5: websocket + ble online, 6: ble + wifi online , 7: wifi + ble + ws online)
1222
+ */
1223
+
1224
+ void onDeviceConnectingState(ReadableMap object);
1225
+
1226
+ /**
1227
+ 设备在离线状态通知
1228
+ @available: 1.4.0
1229
+ @platform: all
1230
+ @param: object 事件数据 {"onlineState": 0/1/2/3/4/5/6/7}
1231
+ onlineStateMaskWS = 1 << 0,
1232
+ onlineStateMaskWifi = 1 << 1,
1233
+ onlineStateMaskBle = 1 << 2,
1234
+ (0: all offline, 1: websocket online, 2 : wifi online, 3: wifi + websocket online, 4: ble online, 5: websocket + ble online, 6: ble + wifi online , 7: wifi + ble + ws online)
1235
+ */
1236
+
1237
+ void onDeviceOnlineState(ReadableMap object);
1238
+
1239
+ /**
1240
+ 设备dps更新 (尽量)
1241
+ @available: 1.4.0
1242
+ @platform: all
1243
+ @param: object 事件数据 {
1244
+ type: (1:ws 2: wifi 3: ble,)
1245
+ action: {
1246
+ 1.读取消息(面板不需要处理)
1247
+ 2.设备上报-读响应
1248
+ 3.发生消息(面板不需要处理)
1249
+ 4.设备上报-写响应
1250
+ 5.调用 EXE-SERV2服务 (面板暂时不需要处理)
1251
+ 6.设备上报-服务调用
1252
+ 7.设备告警-info
1253
+ 8.设备告警-warn
1254
+ 9.设备告警-error
1255
+ 10.位置信息LOCATION
1256
+ 11.发生RAW (面板暂时不需要处理)
1257
+ 12.接受RAW (面板暂时不需要处理)
1258
+ 13.设备上报-自动上报
1259
+ 14.设备在线状态 (面板不需要处理)
1260
+ 15.设备上报-信号量
1261
+ 16.设备上报-设备
1262
+ 17.设备上报-设备被移除(value: 1 解绑, 2.重置, 3.分享过期, 4.取消分享, 5.覆盖分享, 6. 用户注销, 7. 从设备组中移除)
1263
+ 18.设备状态信息回复
1264
+ 19.透传数据方向 app → iot
1265
+ 20.透传数据 方向 iot→ app
1266
+ }
1267
+ pk: "xxxx",
1268
+ dk: "xxxx",
1269
+ "dps": [{id: 0, type:BOOL, value, true/false},{id: 1, type:INT, value, 1}, ...]
1270
+ "transparent": "xxx"(二进制数据base64后转字符串),
1271
+ }
1272
+ */
1273
+
1274
+ void onDeviceDpsUpdate(ReadableMap object);
1275
+
1276
+ /**
1277
+ 设备信息更新
1278
+ @available: 1.4.0
1279
+ @platform: all
1280
+ @param: object 事件数据
1281
+ */
1282
+
1283
+ void onDeviceInfoUpdate(ReadableMap object);
1284
+
1285
+ /**
1286
+ WebSocket 已打开事件
1287
+ @available: 1.0.0
1288
+ @platform: all
1289
+ @param: object 事件数据 data = {"code":"this is code", @"message":" this is reason"}
1290
+ reminder.data = {}
1291
+ */
1292
+
1293
+ void onWebSocketDidOpen(ReadableMap object);
1294
+
1295
+ /**
1296
+ WebSocket 错误事件
1297
+ @available: 1.0.0
1298
+ @platform: all
1299
+ @param: object 事件数据 data = {"code":"this is code", @"message":" this is reason"}
1300
+ */
1301
+
1302
+ void onWebSocketDidError(ReadableMap object);
1303
+
1304
+ /**
1305
+ WebSocket 消息事件
1306
+ @available: 1.0.0
1307
+ @platform: all
1308
+ @param: object 事件数据
1309
+ object.data = {
1310
+ "cmd": "message",
1311
+ "data": {
1312
+ "createdAt": 1609316592000,
1313
+ "data": {
1314
+ "value": 1
1315
+ },
1316
+ "deviceKey": "866123456789015",
1317
+ "productKey": "123456",
1318
+ "ticket": "5f9924d171977c33bc5ad1b1",
1319
+ "type": "ONLINE"
1320
+ }
1321
+ }
1322
+ error
1323
+ {
1324
+ cmd = error;
1325
+ data = {
1326
+ code = 4010;
1327
+ msg = "user not logged in";
1328
+ reqMsg = "";
1329
+ };
1330
+ */
1331
+
1332
+ void onWebSocketDidReceiveMessage(ReadableMap object);
1333
+
1334
+ /**
1335
+ 设备关联选中的设备
1336
+ @available: 2.0.0
1337
+ @platform: all
1338
+ @param: list 设备列表数组,Object是devcie model
1339
+ */
1340
+
1341
+ void deviceAssociationSelected(ReadableArray list);
1342
+
1343
+ /**
1344
+ 设备信息更新
1345
+ @available: 2.10.0
1346
+ @platform: all
1347
+ @param: object 设备状态数据
1348
+ */
1349
+
1350
+ void onDeviceStatusUpdate(ReadableMap object);
1351
+
1352
+ }