@ray-js/lock-sdk 1.0.0-beta-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.
- package/lib/api/index.d.ts +5 -0
- package/lib/api/index.js +18 -0
- package/lib/api/linkage.d.ts +161 -0
- package/lib/api/linkage.js +74 -0
- package/lib/api/lock.d.ts +195 -0
- package/lib/api/lock.js +129 -0
- package/lib/api/log.d.ts +166 -0
- package/lib/api/log.js +44 -0
- package/lib/api/setting.d.ts +14 -0
- package/lib/api/setting.js +36 -0
- package/lib/api/temp.d.ts +211 -0
- package/lib/api/temp.js +130 -0
- package/lib/api/user.d.ts +154 -0
- package/lib/api/user.js +59 -0
- package/lib/api/video.d.ts +9 -0
- package/lib/api/video.js +17 -0
- package/lib/config/dp-code/index.d.ts +175 -0
- package/lib/config/dp-code/index.js +224 -0
- package/lib/config/dp-map/common.d.ts +102 -0
- package/lib/config/dp-map/common.js +120 -0
- package/lib/config/dp-map/normal.d.ts +6 -0
- package/lib/config/dp-map/normal.js +51 -0
- package/lib/config/dp-map/open.d.ts +21 -0
- package/lib/config/dp-map/open.js +62 -0
- package/lib/config/dp-map/unlock-method-big.d.ts +559 -0
- package/lib/config/dp-map/unlock-method-big.js +237 -0
- package/lib/config/dp-map/unlock-method.d.ts +551 -0
- package/lib/config/dp-map/unlock-method.js +231 -0
- package/lib/config/index.d.ts +46 -0
- package/lib/config/index.js +56 -0
- package/lib/constant.d.ts +101 -0
- package/lib/constant.js +136 -0
- package/lib/dp-interface.d.ts +7 -0
- package/lib/dp-interface.js +1 -0
- package/lib/event.d.ts +8 -0
- package/lib/event.js +9 -0
- package/lib/index.d.ts +25 -0
- package/lib/index.js +92 -0
- package/lib/interface.d.ts +807 -0
- package/lib/interface.js +1 -0
- package/lib/linkage.d.ts +26 -0
- package/lib/linkage.js +175 -0
- package/lib/log.d.ts +91 -0
- package/lib/log.js +314 -0
- package/lib/media.d.ts +43 -0
- package/lib/media.js +80 -0
- package/lib/open.d.ts +48 -0
- package/lib/open.js +247 -0
- package/lib/other.d.ts +36 -0
- package/lib/other.js +178 -0
- package/lib/parse/index.d.ts +6 -0
- package/lib/parse/index.js +22 -0
- package/lib/signal.d.ts +26 -0
- package/lib/signal.js +38 -0
- package/lib/sleep.d.ts +61 -0
- package/lib/sleep.js +121 -0
- package/lib/state.d.ts +54 -0
- package/lib/state.js +429 -0
- package/lib/sync/remote-serect-key.d.ts +5 -0
- package/lib/sync/remote-serect-key.js +60 -0
- package/lib/sync/t0.d.ts +5 -0
- package/lib/sync/t0.js +33 -0
- package/lib/sync/temp.d.ts +7 -0
- package/lib/sync/temp.js +88 -0
- package/lib/sync/unlock-mothod.d.ts +5 -0
- package/lib/sync/unlock-mothod.js +54 -0
- package/lib/temporary.d.ts +226 -0
- package/lib/temporary.js +637 -0
- package/lib/unlock-method.d.ts +269 -0
- package/lib/unlock-method.js +723 -0
- package/lib/user.d.ts +108 -0
- package/lib/user.js +361 -0
- package/lib/utils/base64-to-hex.d.ts +1 -0
- package/lib/utils/base64-to-hex.js +12 -0
- package/lib/utils/byte.d.ts +19 -0
- package/lib/utils/byte.js +74 -0
- package/lib/utils/constant.d.ts +11 -0
- package/lib/utils/constant.js +17 -0
- package/lib/utils/device.d.ts +207 -0
- package/lib/utils/device.js +353 -0
- package/lib/utils/errors.d.ts +2 -0
- package/lib/utils/errors.js +125 -0
- package/lib/utils/event.d.ts +23 -0
- package/lib/utils/event.js +144 -0
- package/lib/utils/hex-to-base64.d.ts +1 -0
- package/lib/utils/hex-to-base64.js +8 -0
- package/lib/utils/hex-to-bytes.d.ts +6 -0
- package/lib/utils/hex-to-bytes.js +16 -0
- package/lib/utils/index.d.ts +169 -0
- package/lib/utils/index.js +419 -0
- package/lib/utils/log.d.ts +5 -0
- package/lib/utils/log.js +78 -0
- package/lib/utils/publishDps.d.ts +11 -0
- package/lib/utils/publishDps.js +91 -0
- package/package.json +37 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { Condition } from "@ray-js/tuya-dp-transform";
|
|
2
|
+
/**
|
|
3
|
+
* 时效性配置
|
|
4
|
+
*/
|
|
5
|
+
export declare const validConfigDpMap: {
|
|
6
|
+
readonly name: "validConfig";
|
|
7
|
+
readonly type: "child";
|
|
8
|
+
readonly bytes: 17;
|
|
9
|
+
readonly childMap: readonly [{
|
|
10
|
+
readonly name: "startTime";
|
|
11
|
+
readonly bytes: 4;
|
|
12
|
+
}, {
|
|
13
|
+
readonly name: "endTime";
|
|
14
|
+
readonly bytes: 4;
|
|
15
|
+
}, {
|
|
16
|
+
readonly name: "loop";
|
|
17
|
+
}, {
|
|
18
|
+
readonly name: "loopConfig";
|
|
19
|
+
readonly condition: {
|
|
20
|
+
readonly type: "and";
|
|
21
|
+
readonly conditions: readonly [{
|
|
22
|
+
readonly prop: "validConfig.loop";
|
|
23
|
+
readonly value: 2;
|
|
24
|
+
readonly operation: "neq";
|
|
25
|
+
}, {
|
|
26
|
+
readonly prop: "loop";
|
|
27
|
+
readonly value: 3;
|
|
28
|
+
readonly operation: "neq";
|
|
29
|
+
}];
|
|
30
|
+
};
|
|
31
|
+
readonly bytes: 4;
|
|
32
|
+
readonly defaultValue: 0;
|
|
33
|
+
}, {
|
|
34
|
+
readonly name: "weeks";
|
|
35
|
+
readonly condition: {
|
|
36
|
+
readonly prop: "validConfig.loop";
|
|
37
|
+
readonly value: 2;
|
|
38
|
+
};
|
|
39
|
+
readonly type: "custom";
|
|
40
|
+
readonly bytes: 4;
|
|
41
|
+
readonly parse: (value: number) => number[];
|
|
42
|
+
readonly format: (value: number[]) => string;
|
|
43
|
+
readonly defaultValue: readonly [0, 0, 0, 0, 0, 0, 0];
|
|
44
|
+
}, {
|
|
45
|
+
readonly name: "days";
|
|
46
|
+
readonly condition: {
|
|
47
|
+
readonly prop: "validConfig.loop";
|
|
48
|
+
readonly value: 3;
|
|
49
|
+
};
|
|
50
|
+
readonly type: "bits";
|
|
51
|
+
readonly bytes: 4;
|
|
52
|
+
readonly defaultValue: 0;
|
|
53
|
+
}, {
|
|
54
|
+
readonly name: "startHour";
|
|
55
|
+
readonly type: "number";
|
|
56
|
+
readonly bytes: 1;
|
|
57
|
+
readonly defaultValue: 0;
|
|
58
|
+
}, {
|
|
59
|
+
readonly name: "startMinute";
|
|
60
|
+
readonly type: "number";
|
|
61
|
+
readonly bytes: 1;
|
|
62
|
+
readonly defaultValue: 0;
|
|
63
|
+
}, {
|
|
64
|
+
readonly name: "endHour";
|
|
65
|
+
readonly type: "number";
|
|
66
|
+
readonly bytes: 1;
|
|
67
|
+
readonly defaultValue: 0;
|
|
68
|
+
}, {
|
|
69
|
+
readonly name: "endMinute";
|
|
70
|
+
readonly type: "number";
|
|
71
|
+
readonly bytes: 1;
|
|
72
|
+
readonly defaultValue: 0;
|
|
73
|
+
}];
|
|
74
|
+
};
|
|
75
|
+
export declare const pwdConfigDpMap: readonly [{
|
|
76
|
+
readonly name: "pwdLength";
|
|
77
|
+
}, {
|
|
78
|
+
readonly name: "pwd";
|
|
79
|
+
readonly type: "number";
|
|
80
|
+
readonly limit: "pwdLength";
|
|
81
|
+
readonly loop: true;
|
|
82
|
+
readonly defaultValue: readonly [];
|
|
83
|
+
}];
|
|
84
|
+
export declare const getPwdConfigDpMap: (when?: Condition) => readonly [{
|
|
85
|
+
readonly name: "pwdLength";
|
|
86
|
+
}, {
|
|
87
|
+
readonly name: "pwd";
|
|
88
|
+
readonly type: "number";
|
|
89
|
+
readonly limit: "pwdLength";
|
|
90
|
+
readonly loop: true;
|
|
91
|
+
readonly defaultValue: readonly [];
|
|
92
|
+
}] | ({
|
|
93
|
+
condition: Condition;
|
|
94
|
+
name: "pwdLength";
|
|
95
|
+
} | {
|
|
96
|
+
condition: Condition;
|
|
97
|
+
name: "pwd";
|
|
98
|
+
type: "number";
|
|
99
|
+
limit: "pwdLength";
|
|
100
|
+
loop: true;
|
|
101
|
+
defaultValue: readonly [];
|
|
102
|
+
})[];
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import "core-js/modules/esnext.iterator.constructor.js";
|
|
3
|
+
import "core-js/modules/esnext.iterator.map.js";
|
|
4
|
+
/**
|
|
5
|
+
* 时效性配置
|
|
6
|
+
*/
|
|
7
|
+
export const validConfigDpMap = {
|
|
8
|
+
name: "validConfig",
|
|
9
|
+
type: "child",
|
|
10
|
+
bytes: 17,
|
|
11
|
+
childMap: [{
|
|
12
|
+
name: "startTime",
|
|
13
|
+
bytes: 4
|
|
14
|
+
}, {
|
|
15
|
+
name: "endTime",
|
|
16
|
+
bytes: 4
|
|
17
|
+
},
|
|
18
|
+
// 时效的循环方式 0x00:不循环 0x01:天循环 0x02:周循环 0x03:月循环
|
|
19
|
+
{
|
|
20
|
+
name: "loop"
|
|
21
|
+
},
|
|
22
|
+
// 无重复,或天重复
|
|
23
|
+
{
|
|
24
|
+
name: "loopConfig",
|
|
25
|
+
condition: {
|
|
26
|
+
type: "and",
|
|
27
|
+
conditions: [{
|
|
28
|
+
prop: "validConfig.loop",
|
|
29
|
+
value: 0x02,
|
|
30
|
+
operation: "neq"
|
|
31
|
+
}, {
|
|
32
|
+
prop: "loop",
|
|
33
|
+
value: 0x03,
|
|
34
|
+
operation: "neq"
|
|
35
|
+
}]
|
|
36
|
+
},
|
|
37
|
+
bytes: 4,
|
|
38
|
+
defaultValue: 0
|
|
39
|
+
},
|
|
40
|
+
// 周重复
|
|
41
|
+
{
|
|
42
|
+
name: "weeks",
|
|
43
|
+
condition: {
|
|
44
|
+
prop: "validConfig.loop",
|
|
45
|
+
value: 0x02
|
|
46
|
+
},
|
|
47
|
+
type: "custom",
|
|
48
|
+
bytes: 4,
|
|
49
|
+
parse: value => {
|
|
50
|
+
return value.toString(2).padStart(7, "0").split("").map(v => Number(v)).reverse().slice(0, 7);
|
|
51
|
+
},
|
|
52
|
+
format: value => {
|
|
53
|
+
const weekHex = parseInt(value.reverse().join(""), 2).toString(16).padStart(2, "0");
|
|
54
|
+
return `000000${weekHex}`;
|
|
55
|
+
},
|
|
56
|
+
defaultValue: [0, 0, 0, 0, 0, 0, 0]
|
|
57
|
+
},
|
|
58
|
+
// 月重复
|
|
59
|
+
{
|
|
60
|
+
name: "days",
|
|
61
|
+
condition: {
|
|
62
|
+
prop: "validConfig.loop",
|
|
63
|
+
value: 0x03
|
|
64
|
+
},
|
|
65
|
+
type: "bits",
|
|
66
|
+
bytes: 4,
|
|
67
|
+
defaultValue: 0
|
|
68
|
+
},
|
|
69
|
+
// 一天中的超始时间,小时
|
|
70
|
+
{
|
|
71
|
+
name: "startHour",
|
|
72
|
+
type: "number",
|
|
73
|
+
bytes: 1,
|
|
74
|
+
defaultValue: 0
|
|
75
|
+
},
|
|
76
|
+
// 一天中的超始时间,分钟
|
|
77
|
+
{
|
|
78
|
+
name: "startMinute",
|
|
79
|
+
type: "number",
|
|
80
|
+
bytes: 1,
|
|
81
|
+
defaultValue: 0
|
|
82
|
+
},
|
|
83
|
+
// 一天中的结束时间,小时
|
|
84
|
+
{
|
|
85
|
+
name: "endHour",
|
|
86
|
+
type: "number",
|
|
87
|
+
bytes: 1,
|
|
88
|
+
defaultValue: 0
|
|
89
|
+
},
|
|
90
|
+
// 一天中的结束时间,分钟
|
|
91
|
+
{
|
|
92
|
+
name: "endMinute",
|
|
93
|
+
type: "number",
|
|
94
|
+
bytes: 1,
|
|
95
|
+
defaultValue: 0
|
|
96
|
+
}]
|
|
97
|
+
};
|
|
98
|
+
export const pwdConfigDpMap = [
|
|
99
|
+
// 密码长度
|
|
100
|
+
{
|
|
101
|
+
name: "pwdLength"
|
|
102
|
+
},
|
|
103
|
+
// 密码
|
|
104
|
+
{
|
|
105
|
+
name: "pwd",
|
|
106
|
+
type: "number",
|
|
107
|
+
limit: "pwdLength",
|
|
108
|
+
loop: true,
|
|
109
|
+
defaultValue: []
|
|
110
|
+
}];
|
|
111
|
+
export const getPwdConfigDpMap = when => {
|
|
112
|
+
if (when) {
|
|
113
|
+
return pwdConfigDpMap.map(item => {
|
|
114
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
115
|
+
condition: when
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return pwdConfigDpMap;
|
|
120
|
+
};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// 锂电池电量
|
|
2
|
+
const battery = [{
|
|
3
|
+
name: "percent"
|
|
4
|
+
}, {
|
|
5
|
+
name: "status"
|
|
6
|
+
}];
|
|
7
|
+
|
|
8
|
+
// 设备信息,包含设备的能力
|
|
9
|
+
const capabilities = [
|
|
10
|
+
// 模组
|
|
11
|
+
{
|
|
12
|
+
name: "type"
|
|
13
|
+
}, {
|
|
14
|
+
name: "vedioType"
|
|
15
|
+
}, {
|
|
16
|
+
name: "voiceType"
|
|
17
|
+
}, {
|
|
18
|
+
name: "streamType"
|
|
19
|
+
}, {
|
|
20
|
+
name: "communicationType",
|
|
21
|
+
defaultValue: 0
|
|
22
|
+
}, {
|
|
23
|
+
name: "rotateType",
|
|
24
|
+
defaultValue: 0
|
|
25
|
+
}];
|
|
26
|
+
|
|
27
|
+
// 休眠时间设置
|
|
28
|
+
const dormancyTime = [{
|
|
29
|
+
name: "startHour"
|
|
30
|
+
}, {
|
|
31
|
+
name: "startMunite"
|
|
32
|
+
}, {
|
|
33
|
+
name: "endHour"
|
|
34
|
+
}, {
|
|
35
|
+
name: "endMunite"
|
|
36
|
+
}, {
|
|
37
|
+
name: "weeks",
|
|
38
|
+
type: "week"
|
|
39
|
+
}];
|
|
40
|
+
|
|
41
|
+
// 勿扰时间设置
|
|
42
|
+
const doNotDisturbTime = [{
|
|
43
|
+
name: "startHour"
|
|
44
|
+
}, {
|
|
45
|
+
name: "startMunite"
|
|
46
|
+
}, {
|
|
47
|
+
name: "endHour"
|
|
48
|
+
}, {
|
|
49
|
+
name: "endMunite"
|
|
50
|
+
}];
|
|
51
|
+
export { battery, capabilities, dormancyTime, doNotDisturbTime };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DpMap } from "@ray-js/tuya-dp-transform";
|
|
2
|
+
/**
|
|
3
|
+
* 密钥配置
|
|
4
|
+
* 下发配置
|
|
5
|
+
*/
|
|
6
|
+
export declare const setKey: DpMap;
|
|
7
|
+
/**
|
|
8
|
+
* 密钥配置
|
|
9
|
+
* 上报配置
|
|
10
|
+
*/
|
|
11
|
+
export declare const reportSetKey: DpMap;
|
|
12
|
+
/**
|
|
13
|
+
* 远程开门
|
|
14
|
+
* 下发配置
|
|
15
|
+
*/
|
|
16
|
+
export declare const open: DpMap;
|
|
17
|
+
/**
|
|
18
|
+
* 远程开门
|
|
19
|
+
* 上报配置
|
|
20
|
+
*/
|
|
21
|
+
export declare const reportOpen: DpMap;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 密钥配置
|
|
3
|
+
* 下发配置
|
|
4
|
+
*/
|
|
5
|
+
export const setKey = [{
|
|
6
|
+
name: "valid",
|
|
7
|
+
type: "boolean",
|
|
8
|
+
defaultValue: false
|
|
9
|
+
}, {
|
|
10
|
+
name: "memberId",
|
|
11
|
+
bytes: 2
|
|
12
|
+
}, {
|
|
13
|
+
name: "startTime",
|
|
14
|
+
bytes: 4
|
|
15
|
+
}, {
|
|
16
|
+
name: "endTime",
|
|
17
|
+
bytes: 4
|
|
18
|
+
}, {
|
|
19
|
+
name: "validNum"
|
|
20
|
+
}, {
|
|
21
|
+
name: "key",
|
|
22
|
+
bytes: 8
|
|
23
|
+
}];
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 密钥配置
|
|
27
|
+
* 上报配置
|
|
28
|
+
*/
|
|
29
|
+
export const reportSetKey = [{
|
|
30
|
+
name: "status"
|
|
31
|
+
}, {
|
|
32
|
+
name: "memberId",
|
|
33
|
+
bytes: 2
|
|
34
|
+
}];
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* 远程开门
|
|
38
|
+
* 下发配置
|
|
39
|
+
*/
|
|
40
|
+
export const open = [{
|
|
41
|
+
name: "status"
|
|
42
|
+
}, {
|
|
43
|
+
name: "memberId",
|
|
44
|
+
bytes: 2
|
|
45
|
+
}, {
|
|
46
|
+
name: "key",
|
|
47
|
+
bytes: 8
|
|
48
|
+
}, {
|
|
49
|
+
name: "type",
|
|
50
|
+
bytes: 2
|
|
51
|
+
}];
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* 远程开门
|
|
55
|
+
* 上报配置
|
|
56
|
+
*/
|
|
57
|
+
export const reportOpen = [{
|
|
58
|
+
name: "status"
|
|
59
|
+
}, {
|
|
60
|
+
name: "memberId",
|
|
61
|
+
bytes: 2
|
|
62
|
+
}];
|