eufy-security-client 2.6.2 → 2.7.0
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/LICENSE +21 -21
- package/README.md +762 -745
- package/build/error.d.ts +126 -56
- package/build/error.js +80 -58
- package/build/error.js.map +1 -1
- package/build/eufysecurity.d.ts +4 -2
- package/build/eufysecurity.js +372 -184
- package/build/eufysecurity.js.map +1 -1
- package/build/http/api.js +164 -113
- package/build/http/api.js.map +1 -1
- package/build/http/cache.js +2 -2
- package/build/http/cache.js.map +1 -1
- package/build/http/device.d.ts +26 -1
- package/build/http/device.js +544 -167
- package/build/http/device.js.map +1 -1
- package/build/http/error.d.ts +64 -19
- package/build/http/error.js +53 -29
- package/build/http/error.js.map +1 -1
- package/build/http/interfaces.d.ts +3 -0
- package/build/http/models.d.ts +25 -0
- package/build/http/parameter.d.ts +1 -1
- package/build/http/parameter.js +19 -17
- package/build/http/parameter.js.map +1 -1
- package/build/http/station.d.ts +30 -6
- package/build/http/station.js +1599 -530
- package/build/http/station.js.map +1 -1
- package/build/http/types.d.ts +125 -2
- package/build/http/types.js +932 -53
- package/build/http/types.js.map +1 -1
- package/build/http/utils.js +11 -9
- package/build/http/utils.js.map +1 -1
- package/build/mqtt/service.js +19 -16
- package/build/mqtt/service.js.map +1 -1
- package/build/p2p/ble.js +14 -6
- package/build/p2p/ble.js.map +1 -1
- package/build/p2p/error.d.ts +48 -23
- package/build/p2p/error.js +25 -24
- package/build/p2p/error.js.map +1 -1
- package/build/p2p/interfaces.d.ts +23 -0
- package/build/p2p/models.d.ts +11 -1
- package/build/p2p/session.d.ts +5 -0
- package/build/p2p/session.js +210 -142
- package/build/p2p/session.js.map +1 -1
- package/build/p2p/talkback.js +1 -1
- package/build/p2p/talkback.js.map +1 -1
- package/build/p2p/types.d.ts +36 -1
- package/build/p2p/types.js +72 -31
- package/build/p2p/types.js.map +1 -1
- package/build/p2p/utils.d.ts +3 -1
- package/build/p2p/utils.js +13 -1
- package/build/p2p/utils.js.map +1 -1
- package/build/push/client.js +24 -15
- package/build/push/client.js.map +1 -1
- package/build/push/error.d.ts +73 -0
- package/build/push/error.js +101 -0
- package/build/push/error.js.map +1 -0
- package/build/push/index.d.ts +1 -0
- package/build/push/index.js +1 -0
- package/build/push/index.js.map +1 -1
- package/build/push/models.d.ts +17 -1
- package/build/push/models.js +9 -2
- package/build/push/models.js.map +1 -1
- package/build/push/parser.js +17 -13
- package/build/push/parser.js.map +1 -1
- package/build/push/service.js +160 -62
- package/build/push/service.js.map +1 -1
- package/build/push/types.d.ts +10 -0
- package/build/push/types.js +25 -14
- package/build/push/types.js.map +1 -1
- package/build/push/utils.js +2 -1
- package/build/push/utils.js.map +1 -1
- package/build/utils.d.ts +2 -1
- package/build/utils.js +56 -26
- package/build/utils.js.map +1 -1
- package/package.json +77 -77
package/build/http/error.d.ts
CHANGED
|
@@ -1,28 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { BaseError, Jsonable } from "../error";
|
|
2
|
+
export declare class InvalidPropertyError extends BaseError {
|
|
3
|
+
constructor(message: string, options?: {
|
|
4
|
+
cause?: Error;
|
|
5
|
+
context?: Jsonable;
|
|
6
|
+
});
|
|
3
7
|
}
|
|
4
|
-
export declare class LivestreamAlreadyRunningError extends
|
|
5
|
-
constructor(message?:
|
|
8
|
+
export declare class LivestreamAlreadyRunningError extends BaseError {
|
|
9
|
+
constructor(message: string, options?: {
|
|
10
|
+
cause?: Error;
|
|
11
|
+
context?: Jsonable;
|
|
12
|
+
});
|
|
6
13
|
}
|
|
7
|
-
export declare class LivestreamNotRunningError extends
|
|
8
|
-
constructor(message?:
|
|
14
|
+
export declare class LivestreamNotRunningError extends BaseError {
|
|
15
|
+
constructor(message: string, options?: {
|
|
16
|
+
cause?: Error;
|
|
17
|
+
context?: Jsonable;
|
|
18
|
+
});
|
|
9
19
|
}
|
|
10
|
-
export declare class PropertyNotSupportedError extends
|
|
11
|
-
constructor(message?:
|
|
20
|
+
export declare class PropertyNotSupportedError extends BaseError {
|
|
21
|
+
constructor(message: string, options?: {
|
|
22
|
+
cause?: Error;
|
|
23
|
+
context?: Jsonable;
|
|
24
|
+
});
|
|
12
25
|
}
|
|
13
|
-
export declare class ApiResponseCodeError extends
|
|
14
|
-
constructor(message?:
|
|
26
|
+
export declare class ApiResponseCodeError extends BaseError {
|
|
27
|
+
constructor(message: string, options?: {
|
|
28
|
+
cause?: Error;
|
|
29
|
+
context?: Jsonable;
|
|
30
|
+
});
|
|
15
31
|
}
|
|
16
|
-
export declare class ApiInvalidResponseError extends
|
|
17
|
-
constructor(message?:
|
|
32
|
+
export declare class ApiInvalidResponseError extends BaseError {
|
|
33
|
+
constructor(message: string, options?: {
|
|
34
|
+
cause?: Error;
|
|
35
|
+
context?: Jsonable;
|
|
36
|
+
});
|
|
18
37
|
}
|
|
19
|
-
export declare class ApiHTTPResponseCodeError extends
|
|
20
|
-
constructor(message?:
|
|
38
|
+
export declare class ApiHTTPResponseCodeError extends BaseError {
|
|
39
|
+
constructor(message: string, options?: {
|
|
40
|
+
cause?: Error;
|
|
41
|
+
context?: Jsonable;
|
|
42
|
+
});
|
|
21
43
|
}
|
|
22
|
-
export declare class ApiGenericError extends
|
|
23
|
-
constructor(message?:
|
|
44
|
+
export declare class ApiGenericError extends BaseError {
|
|
45
|
+
constructor(message: string, options?: {
|
|
46
|
+
cause?: Error;
|
|
47
|
+
context?: Jsonable;
|
|
48
|
+
});
|
|
24
49
|
}
|
|
25
|
-
export declare class ApiBaseLoadError extends
|
|
26
|
-
|
|
27
|
-
|
|
50
|
+
export declare class ApiBaseLoadError extends BaseError {
|
|
51
|
+
constructor(message: string, options?: {
|
|
52
|
+
cause?: Error;
|
|
53
|
+
context?: Jsonable;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
export declare class ApiRequestError extends BaseError {
|
|
57
|
+
constructor(message: string, options?: {
|
|
58
|
+
cause?: Error;
|
|
59
|
+
context?: Jsonable;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
export declare class ImageBaseCodeError extends BaseError {
|
|
63
|
+
constructor(message: string, options?: {
|
|
64
|
+
cause?: Error;
|
|
65
|
+
context?: Jsonable;
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
export declare class ImageSeedError extends BaseError {
|
|
69
|
+
constructor(message: string, options?: {
|
|
70
|
+
cause?: Error;
|
|
71
|
+
context?: Jsonable;
|
|
72
|
+
});
|
|
28
73
|
}
|
package/build/http/error.js
CHANGED
|
@@ -1,77 +1,101 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ApiBaseLoadError = exports.ApiGenericError = exports.ApiHTTPResponseCodeError = exports.ApiInvalidResponseError = exports.ApiResponseCodeError = exports.PropertyNotSupportedError = exports.LivestreamNotRunningError = exports.LivestreamAlreadyRunningError = exports.InvalidPropertyError = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
exports.ImageSeedError = exports.ImageBaseCodeError = exports.ApiRequestError = exports.ApiBaseLoadError = exports.ApiGenericError = exports.ApiHTTPResponseCodeError = exports.ApiInvalidResponseError = exports.ApiResponseCodeError = exports.PropertyNotSupportedError = exports.LivestreamNotRunningError = exports.LivestreamAlreadyRunningError = exports.InvalidPropertyError = void 0;
|
|
4
|
+
const error_1 = require("../error");
|
|
5
|
+
class InvalidPropertyError extends error_1.BaseError {
|
|
6
|
+
constructor(message, options = {}) {
|
|
7
|
+
super(message, options);
|
|
7
8
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
8
9
|
this.name = InvalidPropertyError.name;
|
|
9
10
|
}
|
|
10
11
|
}
|
|
11
12
|
exports.InvalidPropertyError = InvalidPropertyError;
|
|
12
|
-
class LivestreamAlreadyRunningError extends
|
|
13
|
-
constructor(message) {
|
|
14
|
-
super(message);
|
|
13
|
+
class LivestreamAlreadyRunningError extends error_1.BaseError {
|
|
14
|
+
constructor(message, options = {}) {
|
|
15
|
+
super(message, options);
|
|
15
16
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
16
17
|
this.name = LivestreamAlreadyRunningError.name;
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
20
|
exports.LivestreamAlreadyRunningError = LivestreamAlreadyRunningError;
|
|
20
|
-
class LivestreamNotRunningError extends
|
|
21
|
-
constructor(message) {
|
|
22
|
-
super(message);
|
|
21
|
+
class LivestreamNotRunningError extends error_1.BaseError {
|
|
22
|
+
constructor(message, options = {}) {
|
|
23
|
+
super(message, options);
|
|
23
24
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
24
25
|
this.name = LivestreamNotRunningError.name;
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
exports.LivestreamNotRunningError = LivestreamNotRunningError;
|
|
28
|
-
class PropertyNotSupportedError extends
|
|
29
|
-
constructor(message) {
|
|
30
|
-
super(message);
|
|
29
|
+
class PropertyNotSupportedError extends error_1.BaseError {
|
|
30
|
+
constructor(message, options = {}) {
|
|
31
|
+
super(message, options);
|
|
31
32
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
32
33
|
this.name = PropertyNotSupportedError.name;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
exports.PropertyNotSupportedError = PropertyNotSupportedError;
|
|
36
|
-
class ApiResponseCodeError extends
|
|
37
|
-
constructor(message) {
|
|
38
|
-
super(message);
|
|
37
|
+
class ApiResponseCodeError extends error_1.BaseError {
|
|
38
|
+
constructor(message, options = {}) {
|
|
39
|
+
super(message, options);
|
|
39
40
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
40
41
|
this.name = ApiResponseCodeError.name;
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
exports.ApiResponseCodeError = ApiResponseCodeError;
|
|
44
|
-
class ApiInvalidResponseError extends
|
|
45
|
-
constructor(message) {
|
|
46
|
-
super(message);
|
|
45
|
+
class ApiInvalidResponseError extends error_1.BaseError {
|
|
46
|
+
constructor(message, options = {}) {
|
|
47
|
+
super(message, options);
|
|
47
48
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
48
49
|
this.name = ApiInvalidResponseError.name;
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
exports.ApiInvalidResponseError = ApiInvalidResponseError;
|
|
52
|
-
class ApiHTTPResponseCodeError extends
|
|
53
|
-
constructor(message) {
|
|
54
|
-
super(message);
|
|
53
|
+
class ApiHTTPResponseCodeError extends error_1.BaseError {
|
|
54
|
+
constructor(message, options = {}) {
|
|
55
|
+
super(message, options);
|
|
55
56
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
56
57
|
this.name = ApiHTTPResponseCodeError.name;
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
exports.ApiHTTPResponseCodeError = ApiHTTPResponseCodeError;
|
|
60
|
-
class ApiGenericError extends
|
|
61
|
-
constructor(message) {
|
|
62
|
-
super(message);
|
|
61
|
+
class ApiGenericError extends error_1.BaseError {
|
|
62
|
+
constructor(message, options = {}) {
|
|
63
|
+
super(message, options);
|
|
63
64
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
64
65
|
this.name = ApiGenericError.name;
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
68
|
exports.ApiGenericError = ApiGenericError;
|
|
68
|
-
class ApiBaseLoadError extends
|
|
69
|
-
constructor(
|
|
70
|
-
super(message);
|
|
71
|
-
this.code = code;
|
|
69
|
+
class ApiBaseLoadError extends error_1.BaseError {
|
|
70
|
+
constructor(message, options = {}) {
|
|
71
|
+
super(message, options);
|
|
72
72
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
73
73
|
this.name = ApiBaseLoadError.name;
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
exports.ApiBaseLoadError = ApiBaseLoadError;
|
|
77
|
+
class ApiRequestError extends error_1.BaseError {
|
|
78
|
+
constructor(message, options = {}) {
|
|
79
|
+
super(message, options);
|
|
80
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
81
|
+
this.name = ApiRequestError.name;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.ApiRequestError = ApiRequestError;
|
|
85
|
+
class ImageBaseCodeError extends error_1.BaseError {
|
|
86
|
+
constructor(message, options = {}) {
|
|
87
|
+
super(message, options);
|
|
88
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
89
|
+
this.name = ImageBaseCodeError.name;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.ImageBaseCodeError = ImageBaseCodeError;
|
|
93
|
+
class ImageSeedError extends error_1.BaseError {
|
|
94
|
+
constructor(message, options = {}) {
|
|
95
|
+
super(message, options);
|
|
96
|
+
Object.setPrototypeOf(this, new.target.prototype);
|
|
97
|
+
this.name = ImageSeedError.name;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.ImageSeedError = ImageSeedError;
|
|
77
101
|
//# sourceMappingURL=error.js.map
|
package/build/http/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/http/error.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAqB,SAAQ,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/http/error.ts"],"names":[],"mappings":"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"}
|
|
@@ -85,6 +85,7 @@ export interface PropertyMetadataString extends PropertyMetadataAny {
|
|
|
85
85
|
}
|
|
86
86
|
export interface PropertyMetadataObject extends PropertyMetadataAny {
|
|
87
87
|
type: "object";
|
|
88
|
+
isValidObject?: (obj: any) => boolean;
|
|
88
89
|
default?: any;
|
|
89
90
|
}
|
|
90
91
|
export interface IndexedProperty {
|
|
@@ -190,6 +191,8 @@ export interface StationEvents {
|
|
|
190
191
|
"database query local": (station: Station, returnCode: DatabaseReturnCode, data: Array<DatabaseQueryLocal>) => void;
|
|
191
192
|
"database count by date": (station: Station, returnCode: DatabaseReturnCode, data: Array<DatabaseCountByDate>) => void;
|
|
192
193
|
"database delete": (station: Station, returnCode: DatabaseReturnCode, failedIds: Array<unknown>) => void;
|
|
194
|
+
"sensor status": (station: Station, channel: number, status: number) => void;
|
|
195
|
+
"garage door status": (station: Station, channel: number, doorId: number, status: number) => void;
|
|
193
196
|
}
|
|
194
197
|
export interface DeviceEvents {
|
|
195
198
|
"property changed": (device: Device, name: string, value: PropertyValue, ready: boolean) => void;
|
package/build/http/models.d.ts
CHANGED
|
@@ -559,3 +559,28 @@ export interface AddUserResponse {
|
|
|
559
559
|
user_id: string;
|
|
560
560
|
short_user_id: string;
|
|
561
561
|
}
|
|
562
|
+
export interface GarageDoorSensorsProperty {
|
|
563
|
+
cmd: number;
|
|
564
|
+
data: {
|
|
565
|
+
door_1: {
|
|
566
|
+
power: number;
|
|
567
|
+
mac_address: string;
|
|
568
|
+
version: string;
|
|
569
|
+
name: string;
|
|
570
|
+
sn: string;
|
|
571
|
+
playalarm: number;
|
|
572
|
+
ota: number;
|
|
573
|
+
needota: number;
|
|
574
|
+
};
|
|
575
|
+
door_2: {
|
|
576
|
+
power: number;
|
|
577
|
+
mac_address: string;
|
|
578
|
+
version: string;
|
|
579
|
+
name: string;
|
|
580
|
+
sn: string;
|
|
581
|
+
playalarm: number;
|
|
582
|
+
ota: number;
|
|
583
|
+
needota: number;
|
|
584
|
+
};
|
|
585
|
+
};
|
|
586
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Logger } from "ts-log";
|
|
2
2
|
export declare class ParameterHelper {
|
|
3
|
-
static readValue(type: number, value: string, log: Logger): string;
|
|
3
|
+
static readValue(type: number, value: string, log: Logger): string | undefined;
|
|
4
4
|
static writeValue(type: number, value: string): string;
|
|
5
5
|
}
|
package/build/http/parameter.js
CHANGED
|
@@ -18,19 +18,22 @@ class ParameterHelper {
|
|
|
18
18
|
type === types_1.CommandType.ARM_DELAY_CUS2 ||
|
|
19
19
|
type === types_1.CommandType.ARM_DELAY_CUS3 ||
|
|
20
20
|
type === types_1.CommandType.ARM_DELAY_OFF ||
|
|
21
|
-
type === types_1.CommandType.CELLULAR_INFO
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
type === types_1.CommandType.CELLULAR_INFO ||
|
|
22
|
+
type === types_1.CommandType.CMD_WALL_LIGHT_SETTINGS_MANUAL_COLORED_LIGHTING ||
|
|
23
|
+
type === types_1.CommandType.CMD_WALL_LIGHT_SETTINGS_SCHEDULE_COLORED_LIGHTING ||
|
|
24
|
+
type === types_1.CommandType.CMD_WALL_LIGHT_SETTINGS_MANUAL_COLORED_LIGHTING ||
|
|
25
|
+
type === types_1.CommandType.CMD_WALL_LIGHT_SETTINGS_COLORED_LIGHTING_COLORS ||
|
|
26
|
+
type === types_1.CommandType.CMD_WALL_LIGHT_SETTINGS_DYNAMIC_LIGHTING_THEMES) {
|
|
27
|
+
if (typeof value === "string") {
|
|
28
|
+
const parsedValue = (0, utils_2.parseJSON)((0, utils_1.decodeBase64)(value).toString("utf8"), log);
|
|
29
|
+
if (parsedValue === undefined) {
|
|
30
|
+
log.warn("Non-parsable parameter value received from eufy cloud. Will be ignored.", { type: type, value: value });
|
|
28
31
|
}
|
|
32
|
+
return parsedValue;
|
|
29
33
|
}
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
else {
|
|
35
|
+
return value; //return object
|
|
32
36
|
}
|
|
33
|
-
return "";
|
|
34
37
|
}
|
|
35
38
|
else if (type === types_1.CommandType.CMD_BAT_DOORBELL_SET_NOTIFICATION_MODE ||
|
|
36
39
|
type === types_1.CommandType.CMD_DOORBELL_DUAL_RADAR_WD_DETECTION_SENSITIVITY ||
|
|
@@ -41,15 +44,14 @@ class ParameterHelper {
|
|
|
41
44
|
type === types_1.CommandType.CMD_DOORBELL_DUAL_RADAR_WD_DISTANCE ||
|
|
42
45
|
type === types_1.CommandType.CMD_DOORBELL_DUAL_RADAR_WD_TIME ||
|
|
43
46
|
type === types_1.CommandType.CMD_DOORBELL_DUAL_DELIVERY_GUARD_SWITCH ||
|
|
44
|
-
type === types_1.CommandType.CMD_DOORBELL_DUAL_PACKAGE_GUARD_VOICE
|
|
47
|
+
type === types_1.CommandType.CMD_DOORBELL_DUAL_PACKAGE_GUARD_VOICE ||
|
|
48
|
+
type === types_1.CommandType.CMD_CAMERA_GARAGE_DOOR_SENSORS) {
|
|
45
49
|
if (typeof value === "string") {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
catch (error) {
|
|
50
|
-
log.error(`Error readValue param ${type} `, error, type, value);
|
|
50
|
+
const parsedValue = (0, utils_2.parseJSON)(value, log);
|
|
51
|
+
if (parsedValue === undefined) {
|
|
52
|
+
log.warn("Non-parsable parameter value received from eufy cloud. Will be ignored.", { type: type, value: value });
|
|
51
53
|
}
|
|
52
|
-
return
|
|
54
|
+
return parsedValue;
|
|
53
55
|
}
|
|
54
56
|
else {
|
|
55
57
|
return value; //return object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../src/http/parameter.ts"],"names":[],"mappings":";;;AAEA,wCAA2C;AAC3C,wCAA4C;AAC5C,oCAAqC;AACrC,mCAAoC;AAEpC,MAAa,eAAe;IAEjB,MAAM,CAAC,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW;QAC5D,IAAI,KAAK,EAAE;YACP,IAAI,IAAI,KAAK,iBAAS,CAAC,WAAW;gBAC9B,IAAI,KAAK,iBAAS,CAAC,mBAAmB;gBACtC,IAAI,KAAK,mBAAW,CAAC,oCAAoC;gBACzD,IAAI,KAAK,mBAAW,CAAC,8BAA8B;gBACnD,IAAI,KAAK,mBAAW,CAAC,cAAc;gBACnC,IAAI,KAAK,mBAAW,CAAC,cAAc;gBACnC,IAAI,KAAK,mBAAW,CAAC,cAAc;gBACnC,IAAI,KAAK,mBAAW,CAAC,cAAc;gBACnC,IAAI,KAAK,mBAAW,CAAC,cAAc;gBACnC,IAAI,KAAK,mBAAW,CAAC,aAAa;gBAClC,IAAI,KAAK,mBAAW,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"parameter.js","sourceRoot":"","sources":["../../src/http/parameter.ts"],"names":[],"mappings":"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"}
|
package/build/http/station.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { TypedEmitter } from "tiny-typed-emitter";
|
|
2
2
|
import { HTTPApi } from "./api";
|
|
3
|
-
import { AlarmTone, NotificationSwitchMode, DeviceType, FloodlightMotionTriggeredDistance, GuardMode, NotificationType, PowerSource, PropertyName, TimeFormat, CommandName, VideoTypeStoreToNAS, HB3DetectionTypes } from "./types";
|
|
3
|
+
import { AlarmTone, NotificationSwitchMode, DeviceType, FloodlightMotionTriggeredDistance, GuardMode, NotificationType, PowerSource, PropertyName, TimeFormat, CommandName, VideoTypeStoreToNAS, HB3DetectionTypes, WalllightNotificationType, DailyLightingType, MotionActivationMode, LightingActiveMode } from "./types";
|
|
4
4
|
import { SnoozeDetail, StationListResponse } from "./models";
|
|
5
5
|
import { IndexedProperty, PropertyMetadataAny, PropertyValue, PropertyValues, RawValues, StationEvents, Schedule } from "./interfaces";
|
|
6
|
-
import {
|
|
6
|
+
import { DynamicLighting, RGBColor } from "../p2p/interfaces";
|
|
7
|
+
import { CalibrateGarageType, FilterDetectType, FilterEventType, FilterStorageType, P2PConnectionType, PanTiltDirection, VideoCodec, WatermarkSetting1, WatermarkSetting2, WatermarkSetting3, WatermarkSetting4, WatermarkSetting5 } from "../p2p/types";
|
|
7
8
|
import { Device } from "./device";
|
|
8
9
|
import { PushMessage } from "../push/models";
|
|
9
10
|
export declare class Station extends TypedEmitter<StationEvents> {
|
|
@@ -30,7 +31,7 @@ export declare class Station extends TypedEmitter<StationEvents> {
|
|
|
30
31
|
getStateChannel(): string;
|
|
31
32
|
getRawStation(): StationListResponse;
|
|
32
33
|
update(station: StationListResponse, cloudOnlyProperties?: boolean): void;
|
|
33
|
-
updateProperty(name: string, value: PropertyValue): boolean;
|
|
34
|
+
updateProperty(name: string, value: PropertyValue, force?: boolean): boolean;
|
|
34
35
|
updateRawProperties(values: RawValues): void;
|
|
35
36
|
protected handlePropertyChange(metadata: PropertyMetadataAny, oldValue: PropertyValue, newValue: PropertyValue): void;
|
|
36
37
|
updateRawProperty(type: number, value: string): boolean;
|
|
@@ -49,6 +50,7 @@ export declare class Station extends TypedEmitter<StationEvents> {
|
|
|
49
50
|
static isStation(type: number): boolean;
|
|
50
51
|
isStation(): boolean;
|
|
51
52
|
isIntegratedDevice(): boolean;
|
|
53
|
+
isP2PConnectableDevice(): boolean;
|
|
52
54
|
getDeviceType(): number;
|
|
53
55
|
getHardwareVersion(): string;
|
|
54
56
|
getMACAddress(): string;
|
|
@@ -119,7 +121,7 @@ export declare class Station extends TypedEmitter<StationEvents> {
|
|
|
119
121
|
enableHomebaseChime(device: Device, value: boolean): Promise<void>;
|
|
120
122
|
setHomebaseChimeRingtoneVolume(device: Device, value: number): Promise<void>;
|
|
121
123
|
setHomebaseChimeRingtoneType(device: Device, value: number): Promise<void>;
|
|
122
|
-
setNotificationType(device: Device, value: NotificationType): Promise<void>;
|
|
124
|
+
setNotificationType(device: Device, value: NotificationType | WalllightNotificationType): Promise<void>;
|
|
123
125
|
setNotificationPerson(device: Device, value: boolean): Promise<void>;
|
|
124
126
|
setNotificationPet(device: Device, value: boolean): Promise<void>;
|
|
125
127
|
setNotificationAllOtherMotion(device: Device, value: boolean): Promise<void>;
|
|
@@ -154,7 +156,7 @@ export declare class Station extends TypedEmitter<StationEvents> {
|
|
|
154
156
|
setStationTimeFormat(value: TimeFormat): Promise<void>;
|
|
155
157
|
setRTSPStream(device: Device, value: boolean): Promise<void>;
|
|
156
158
|
setAntiTheftDetection(device: Device, value: boolean): Promise<void>;
|
|
157
|
-
setWatermark(device: Device, value: WatermarkSetting1 | WatermarkSetting2 | WatermarkSetting3 | WatermarkSetting4): Promise<void>;
|
|
159
|
+
setWatermark(device: Device, value: WatermarkSetting1 | WatermarkSetting2 | WatermarkSetting3 | WatermarkSetting4 | WatermarkSetting5): Promise<void>;
|
|
158
160
|
enableDevice(device: Device, value: boolean): Promise<void>;
|
|
159
161
|
startDownload(device: Device, path: string, cipher_id?: number): Promise<void>;
|
|
160
162
|
cancelDownload(device: Device): Promise<void>;
|
|
@@ -186,7 +188,7 @@ export declare class Station extends TypedEmitter<StationEvents> {
|
|
|
186
188
|
setLightSettingsColorTemperatureManual(device: Device, value: number): Promise<void>;
|
|
187
189
|
setLightSettingsColorTemperatureMotion(device: Device, value: number): Promise<void>;
|
|
188
190
|
setLightSettingsColorTemperatureSchedule(device: Device, value: number): Promise<void>;
|
|
189
|
-
setLightSettingsMotionActivationMode(device: Device, value:
|
|
191
|
+
setLightSettingsMotionActivationMode(device: Device, value: MotionActivationMode): Promise<void>;
|
|
190
192
|
setVideoNightvisionImageAdjustment(device: Device, enabled: boolean): Promise<void>;
|
|
191
193
|
setVideoColorNightvision(device: Device, enabled: boolean): Promise<void>;
|
|
192
194
|
setAutoCalibration(device: Device, enabled: boolean): Promise<void>;
|
|
@@ -302,4 +304,26 @@ export declare class Station extends TypedEmitter<StationEvents> {
|
|
|
302
304
|
private onDatabaseQueryLocal;
|
|
303
305
|
private onDatabaseCountByDate;
|
|
304
306
|
private onDatabaseDelete;
|
|
307
|
+
private onSensorStatus;
|
|
308
|
+
setMotionDetectionTypeHuman(device: Device, value: boolean): Promise<void>;
|
|
309
|
+
setMotionDetectionTypeAllOtherMotions(device: Device, value: boolean): Promise<void>;
|
|
310
|
+
private _setLightSettingsLightingActiveMode;
|
|
311
|
+
setLightSettingsManualLightingActiveMode(device: Device, value: LightingActiveMode): Promise<void>;
|
|
312
|
+
setLightSettingsManualDailyLighting(device: Device, value: DailyLightingType): Promise<void>;
|
|
313
|
+
setLightSettingsManualColoredLighting(device: Device, value: RGBColor): Promise<void>;
|
|
314
|
+
setLightSettingsManualDynamicLighting(device: Device, value: number): Promise<void>;
|
|
315
|
+
setLightSettingsMotionLightingActiveMode(device: Device, value: LightingActiveMode): Promise<void>;
|
|
316
|
+
setLightSettingsMotionDailyLighting(device: Device, value: DailyLightingType): Promise<void>;
|
|
317
|
+
setLightSettingsMotionColoredLighting(device: Device, value: RGBColor): Promise<void>;
|
|
318
|
+
setLightSettingsMotionDynamicLighting(device: Device, value: number): Promise<void>;
|
|
319
|
+
setLightSettingsScheduleLightingActiveMode(device: Device, value: LightingActiveMode): Promise<void>;
|
|
320
|
+
setLightSettingsScheduleDailyLighting(device: Device, value: DailyLightingType): Promise<void>;
|
|
321
|
+
setLightSettingsScheduleColoredLighting(device: Device, value: RGBColor): Promise<void>;
|
|
322
|
+
setLightSettingsScheduleDynamicLighting(device: Device, value: number): Promise<void>;
|
|
323
|
+
setLightSettingsColoredLightingColors(device: Device, value: Array<RGBColor>): Promise<void>;
|
|
324
|
+
setLightSettingsDynamicLightingThemes(device: Device, value: Array<DynamicLighting>): Promise<void>;
|
|
325
|
+
setDoorControlWarning(device: Device, value: boolean): Promise<void>;
|
|
326
|
+
openDoor(device: Device, value: boolean, doorId?: number): Promise<void>;
|
|
327
|
+
private onGarageDoorStatus;
|
|
328
|
+
calibrateGarageDoor(device: Device, doorId: number, type: CalibrateGarageType): Promise<void>;
|
|
305
329
|
}
|