eufy-security-client 2.4.2 → 2.4.4

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 (87) hide show
  1. package/README.md +12 -0
  2. package/build/error.d.ts +57 -57
  3. package/build/error.js +155 -155
  4. package/build/eufysecurity.d.ts +162 -161
  5. package/build/eufysecurity.js +2104 -2091
  6. package/build/eufysecurity.js.map +1 -1
  7. package/build/http/api.d.ts +90 -90
  8. package/build/http/api.js +1407 -1407
  9. package/build/http/api.js.map +1 -1
  10. package/build/http/cache.d.ts +8 -8
  11. package/build/http/cache.js +33 -33
  12. package/build/http/const.d.ts +3 -3
  13. package/build/http/const.js +8545 -8545
  14. package/build/http/device.d.ts +360 -360
  15. package/build/http/device.js +2793 -2793
  16. package/build/http/device.js.map +1 -1
  17. package/build/http/error.d.ts +28 -28
  18. package/build/http/error.js +76 -76
  19. package/build/http/index.d.ts +10 -10
  20. package/build/http/index.js +29 -29
  21. package/build/http/interfaces.d.ts +202 -202
  22. package/build/http/interfaces.js +2 -2
  23. package/build/http/models.d.ts +561 -561
  24. package/build/http/models.js +2 -2
  25. package/build/http/parameter.d.ts +5 -5
  26. package/build/http/parameter.js +75 -75
  27. package/build/http/station.d.ts +292 -292
  28. package/build/http/station.js +6780 -6780
  29. package/build/http/station.js.map +1 -1
  30. package/build/http/types.d.ts +945 -945
  31. package/build/http/types.js +6070 -6070
  32. package/build/http/utils.d.ts +37 -37
  33. package/build/http/utils.js +370 -370
  34. package/build/index.d.ts +7 -7
  35. package/build/index.js +25 -25
  36. package/build/interfaces.d.ts +113 -113
  37. package/build/interfaces.js +2 -2
  38. package/build/mqtt/interface.d.ts +6 -6
  39. package/build/mqtt/interface.js +2 -2
  40. package/build/mqtt/model.d.ts +24 -24
  41. package/build/mqtt/model.js +2 -2
  42. package/build/mqtt/service.d.ts +30 -30
  43. package/build/mqtt/service.js +168 -168
  44. package/build/mqtt/service.js.map +1 -1
  45. package/build/p2p/ble.d.ts +47 -47
  46. package/build/p2p/ble.js +188 -188
  47. package/build/p2p/ble.js.map +1 -1
  48. package/build/p2p/error.d.ts +24 -24
  49. package/build/p2p/error.js +67 -67
  50. package/build/p2p/index.d.ts +8 -8
  51. package/build/p2p/index.js +27 -27
  52. package/build/p2p/interfaces.d.ts +162 -162
  53. package/build/p2p/interfaces.js +2 -2
  54. package/build/p2p/models.d.ts +146 -146
  55. package/build/p2p/models.js +2 -2
  56. package/build/p2p/session.d.ts +168 -168
  57. package/build/p2p/session.js +2087 -2087
  58. package/build/p2p/session.js.map +1 -1
  59. package/build/p2p/talkback.d.ts +10 -10
  60. package/build/p2p/talkback.js +22 -22
  61. package/build/p2p/types.d.ts +923 -923
  62. package/build/p2p/types.js +957 -957
  63. package/build/p2p/utils.d.ts +56 -56
  64. package/build/p2p/utils.js +653 -653
  65. package/build/push/client.d.ts +51 -51
  66. package/build/push/client.js +311 -311
  67. package/build/push/client.js.map +1 -1
  68. package/build/push/index.d.ts +5 -5
  69. package/build/push/index.js +24 -24
  70. package/build/push/interfaces.d.ts +19 -19
  71. package/build/push/interfaces.js +2 -2
  72. package/build/push/models.d.ts +292 -292
  73. package/build/push/models.js +30 -30
  74. package/build/push/parser.d.ts +28 -28
  75. package/build/push/parser.js +215 -215
  76. package/build/push/parser.js.map +1 -1
  77. package/build/push/service.d.ts +45 -45
  78. package/build/push/service.js +643 -643
  79. package/build/push/service.js.map +1 -1
  80. package/build/push/types.d.ts +176 -176
  81. package/build/push/types.js +192 -192
  82. package/build/push/utils.d.ts +7 -7
  83. package/build/push/utils.js +102 -102
  84. package/build/utils.d.ts +16 -13
  85. package/build/utils.js +207 -191
  86. package/build/utils.js.map +1 -1
  87. package/package.json +10 -10
@@ -1,77 +1,77 @@
1
- "use strict";
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
- class InvalidPropertyError extends Error {
5
- constructor(message) {
6
- super(message);
7
- Object.setPrototypeOf(this, new.target.prototype);
8
- this.name = InvalidPropertyError.name;
9
- }
10
- }
11
- exports.InvalidPropertyError = InvalidPropertyError;
12
- class LivestreamAlreadyRunningError extends Error {
13
- constructor(message) {
14
- super(message);
15
- Object.setPrototypeOf(this, new.target.prototype);
16
- this.name = LivestreamAlreadyRunningError.name;
17
- }
18
- }
19
- exports.LivestreamAlreadyRunningError = LivestreamAlreadyRunningError;
20
- class LivestreamNotRunningError extends Error {
21
- constructor(message) {
22
- super(message);
23
- Object.setPrototypeOf(this, new.target.prototype);
24
- this.name = LivestreamNotRunningError.name;
25
- }
26
- }
27
- exports.LivestreamNotRunningError = LivestreamNotRunningError;
28
- class PropertyNotSupportedError extends Error {
29
- constructor(message) {
30
- super(message);
31
- Object.setPrototypeOf(this, new.target.prototype);
32
- this.name = PropertyNotSupportedError.name;
33
- }
34
- }
35
- exports.PropertyNotSupportedError = PropertyNotSupportedError;
36
- class ApiResponseCodeError extends Error {
37
- constructor(message) {
38
- super(message);
39
- Object.setPrototypeOf(this, new.target.prototype);
40
- this.name = ApiResponseCodeError.name;
41
- }
42
- }
43
- exports.ApiResponseCodeError = ApiResponseCodeError;
44
- class ApiInvalidResponseError extends Error {
45
- constructor(message) {
46
- super(message);
47
- Object.setPrototypeOf(this, new.target.prototype);
48
- this.name = ApiInvalidResponseError.name;
49
- }
50
- }
51
- exports.ApiInvalidResponseError = ApiInvalidResponseError;
52
- class ApiHTTPResponseCodeError extends Error {
53
- constructor(message) {
54
- super(message);
55
- Object.setPrototypeOf(this, new.target.prototype);
56
- this.name = ApiHTTPResponseCodeError.name;
57
- }
58
- }
59
- exports.ApiHTTPResponseCodeError = ApiHTTPResponseCodeError;
60
- class ApiGenericError extends Error {
61
- constructor(message) {
62
- super(message);
63
- Object.setPrototypeOf(this, new.target.prototype);
64
- this.name = ApiGenericError.name;
65
- }
66
- }
67
- exports.ApiGenericError = ApiGenericError;
68
- class ApiBaseLoadError extends Error {
69
- constructor(code, message) {
70
- super(message);
71
- this.code = code;
72
- Object.setPrototypeOf(this, new.target.prototype);
73
- this.name = ApiBaseLoadError.name;
74
- }
75
- }
76
- exports.ApiBaseLoadError = ApiBaseLoadError;
1
+ "use strict";
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
+ class InvalidPropertyError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ Object.setPrototypeOf(this, new.target.prototype);
8
+ this.name = InvalidPropertyError.name;
9
+ }
10
+ }
11
+ exports.InvalidPropertyError = InvalidPropertyError;
12
+ class LivestreamAlreadyRunningError extends Error {
13
+ constructor(message) {
14
+ super(message);
15
+ Object.setPrototypeOf(this, new.target.prototype);
16
+ this.name = LivestreamAlreadyRunningError.name;
17
+ }
18
+ }
19
+ exports.LivestreamAlreadyRunningError = LivestreamAlreadyRunningError;
20
+ class LivestreamNotRunningError extends Error {
21
+ constructor(message) {
22
+ super(message);
23
+ Object.setPrototypeOf(this, new.target.prototype);
24
+ this.name = LivestreamNotRunningError.name;
25
+ }
26
+ }
27
+ exports.LivestreamNotRunningError = LivestreamNotRunningError;
28
+ class PropertyNotSupportedError extends Error {
29
+ constructor(message) {
30
+ super(message);
31
+ Object.setPrototypeOf(this, new.target.prototype);
32
+ this.name = PropertyNotSupportedError.name;
33
+ }
34
+ }
35
+ exports.PropertyNotSupportedError = PropertyNotSupportedError;
36
+ class ApiResponseCodeError extends Error {
37
+ constructor(message) {
38
+ super(message);
39
+ Object.setPrototypeOf(this, new.target.prototype);
40
+ this.name = ApiResponseCodeError.name;
41
+ }
42
+ }
43
+ exports.ApiResponseCodeError = ApiResponseCodeError;
44
+ class ApiInvalidResponseError extends Error {
45
+ constructor(message) {
46
+ super(message);
47
+ Object.setPrototypeOf(this, new.target.prototype);
48
+ this.name = ApiInvalidResponseError.name;
49
+ }
50
+ }
51
+ exports.ApiInvalidResponseError = ApiInvalidResponseError;
52
+ class ApiHTTPResponseCodeError extends Error {
53
+ constructor(message) {
54
+ super(message);
55
+ Object.setPrototypeOf(this, new.target.prototype);
56
+ this.name = ApiHTTPResponseCodeError.name;
57
+ }
58
+ }
59
+ exports.ApiHTTPResponseCodeError = ApiHTTPResponseCodeError;
60
+ class ApiGenericError extends Error {
61
+ constructor(message) {
62
+ super(message);
63
+ Object.setPrototypeOf(this, new.target.prototype);
64
+ this.name = ApiGenericError.name;
65
+ }
66
+ }
67
+ exports.ApiGenericError = ApiGenericError;
68
+ class ApiBaseLoadError extends Error {
69
+ constructor(code, message) {
70
+ super(message);
71
+ this.code = code;
72
+ Object.setPrototypeOf(this, new.target.prototype);
73
+ this.name = ApiBaseLoadError.name;
74
+ }
75
+ }
76
+ exports.ApiBaseLoadError = ApiBaseLoadError;
77
77
  //# sourceMappingURL=error.js.map
@@ -1,10 +1,10 @@
1
- export * from "./api";
2
- export * from "./cache";
3
- export * from "./device";
4
- export * from "./interfaces";
5
- export * from "./models";
6
- export * from "./parameter";
7
- export * from "./station";
8
- export * from "./types";
9
- export * from "./error";
10
- export { isGreaterEqualMinVersion, getAbsoluteFilePath } from "./utils";
1
+ export * from "./api";
2
+ export * from "./cache";
3
+ export * from "./device";
4
+ export * from "./interfaces";
5
+ export * from "./models";
6
+ export * from "./parameter";
7
+ export * from "./station";
8
+ export * from "./types";
9
+ export * from "./error";
10
+ export { isGreaterEqualMinVersion, getAbsoluteFilePath } from "./utils";
@@ -1,30 +1,30 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.getAbsoluteFilePath = exports.isGreaterEqualMinVersion = void 0;
18
- __exportStar(require("./api"), exports);
19
- __exportStar(require("./cache"), exports);
20
- __exportStar(require("./device"), exports);
21
- __exportStar(require("./interfaces"), exports);
22
- __exportStar(require("./models"), exports);
23
- __exportStar(require("./parameter"), exports);
24
- __exportStar(require("./station"), exports);
25
- __exportStar(require("./types"), exports);
26
- __exportStar(require("./error"), exports);
27
- var utils_1 = require("./utils");
28
- Object.defineProperty(exports, "isGreaterEqualMinVersion", { enumerable: true, get: function () { return utils_1.isGreaterEqualMinVersion; } });
29
- Object.defineProperty(exports, "getAbsoluteFilePath", { enumerable: true, get: function () { return utils_1.getAbsoluteFilePath; } });
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getAbsoluteFilePath = exports.isGreaterEqualMinVersion = void 0;
18
+ __exportStar(require("./api"), exports);
19
+ __exportStar(require("./cache"), exports);
20
+ __exportStar(require("./device"), exports);
21
+ __exportStar(require("./interfaces"), exports);
22
+ __exportStar(require("./models"), exports);
23
+ __exportStar(require("./parameter"), exports);
24
+ __exportStar(require("./station"), exports);
25
+ __exportStar(require("./types"), exports);
26
+ __exportStar(require("./error"), exports);
27
+ var utils_1 = require("./utils");
28
+ Object.defineProperty(exports, "isGreaterEqualMinVersion", { enumerable: true, get: function () { return utils_1.isGreaterEqualMinVersion; } });
29
+ Object.defineProperty(exports, "getAbsoluteFilePath", { enumerable: true, get: function () { return utils_1.getAbsoluteFilePath; } });
30
30
  //# sourceMappingURL=index.js.map
@@ -1,202 +1,202 @@
1
- /// <reference types="node" />
2
- import { Readable } from "stream";
3
- import { Method } from "got";
4
- import { StreamMetadata } from "../p2p/interfaces";
5
- import { CommandResult } from "../p2p/models";
6
- import { AlarmEvent, ChargingType, SmartSafeAlarm911Event, SmartSafeShakeAlarmEvent } from "../p2p/types";
7
- import { Camera, Device } from "./device";
8
- import { Cipher, Voice, Invite, DeviceListResponse, StationListResponse, HouseListResponse } from "./models";
9
- import { Station } from "./station";
10
- import { CommandName, PropertyName } from "./types";
11
- import { TalkbackStream } from "../p2p/talkback";
12
- export type PropertyValue = number | boolean | string;
13
- export interface PropertyValues {
14
- [index: string]: PropertyValue;
15
- }
16
- export interface RawValues {
17
- [index: number]: string;
18
- }
19
- export interface Devices {
20
- [index: string]: Device;
21
- }
22
- export interface Cameras {
23
- [index: string]: Camera;
24
- }
25
- export interface Stations {
26
- [index: string]: Station;
27
- }
28
- export interface Houses {
29
- [index: string]: HouseListResponse;
30
- }
31
- export interface Hubs {
32
- [index: string]: StationListResponse;
33
- }
34
- export interface FullDevices {
35
- [index: string]: DeviceListResponse;
36
- }
37
- export interface Ciphers {
38
- [index: number]: Cipher;
39
- }
40
- export interface Voices {
41
- [index: number]: Voice;
42
- }
43
- export interface Invites {
44
- [index: number]: Invite;
45
- }
46
- export interface HTTPApiRequest {
47
- method: Method;
48
- endpoint: string;
49
- data?: any;
50
- }
51
- export type PropertyMetadataType = "number" | "boolean" | "string";
52
- export interface PropertyMetadataAny {
53
- key: number | string;
54
- name: PropertyName;
55
- type: PropertyMetadataType;
56
- default?: any;
57
- readable: boolean;
58
- writeable: boolean;
59
- description?: string;
60
- label?: string;
61
- commandId?: number;
62
- }
63
- export interface PropertyMetadataNumeric extends PropertyMetadataAny {
64
- type: "number";
65
- min?: number;
66
- max?: number;
67
- steps?: number;
68
- default?: number;
69
- states?: Record<number, string>;
70
- unit?: string;
71
- }
72
- export interface PropertyMetadataBoolean extends PropertyMetadataAny {
73
- type: "boolean";
74
- default?: boolean;
75
- }
76
- export interface PropertyMetadataString extends PropertyMetadataAny {
77
- type: "string";
78
- minLength?: number;
79
- maxLength?: number;
80
- default?: string;
81
- format?: RegExp;
82
- }
83
- export interface IndexedProperty {
84
- [index: string]: PropertyMetadataAny;
85
- }
86
- export interface Properties {
87
- [index: number]: IndexedProperty;
88
- }
89
- export interface Commands {
90
- [index: number]: Array<CommandName>;
91
- }
92
- export interface HTTPApiPersistentData {
93
- user_id: string;
94
- email: string;
95
- nick_name: string;
96
- device_public_keys: {
97
- [index: string]: string;
98
- };
99
- clientPrivateKey: string;
100
- serverPublicKey: string;
101
- }
102
- export interface CaptchaOptions {
103
- captchaCode: string;
104
- captchaId: string;
105
- }
106
- export interface LoginOptions {
107
- verifyCode?: string;
108
- captcha?: CaptchaOptions;
109
- force: boolean;
110
- }
111
- export interface Schedule {
112
- startDateTime?: Date;
113
- endDateTime?: Date;
114
- week?: {
115
- monday: boolean;
116
- tuesday: boolean;
117
- wednesday: boolean;
118
- thursday: boolean;
119
- friday: boolean;
120
- saturday: boolean;
121
- sunday: boolean;
122
- };
123
- }
124
- export interface HTTPApiEvents {
125
- "devices": (devices: FullDevices) => void;
126
- "hubs": (hubs: Hubs) => void;
127
- "houses": (houses: Houses) => void;
128
- "connect": () => void;
129
- "close": () => void;
130
- "connection error": (error: Error) => void;
131
- "tfa request": () => void;
132
- "captcha request": (id: string, captcha: string) => void;
133
- "auth token invalidated": () => void;
134
- }
135
- export interface StationEvents {
136
- "connect": (station: Station) => void;
137
- "close": (station: Station) => void;
138
- "connection error": (station: Station, error: Error) => void;
139
- "raw device property changed": (deviceSN: string, params: RawValues) => void;
140
- "property changed": (station: Station, name: string, value: PropertyValue) => void;
141
- "raw property changed": (station: Station, type: number, value: string) => void;
142
- "command result": (station: Station, result: CommandResult) => void;
143
- "download start": (station: Station, channel: number, metadata: StreamMetadata, videostream: Readable, audiostream: Readable) => void;
144
- "download finish": (station: Station, channel: number) => void;
145
- "livestream start": (station: Station, channel: number, metadata: StreamMetadata, videostream: Readable, audiostream: Readable) => void;
146
- "livestream stop": (station: Station, channel: number) => void;
147
- "livestream error": (station: Station, channel: number, error: Error) => void;
148
- "rtsp livestream start": (station: Station, channel: number) => void;
149
- "rtsp livestream stop": (station: Station, channel: number) => void;
150
- "rtsp url": (station: Station, channel: number, value: string) => void;
151
- "guard mode": (station: Station, guardMode: number) => void;
152
- "current mode": (station: Station, currentMode: number) => void;
153
- "alarm event": (station: Station, alarmEvent: AlarmEvent) => void;
154
- "ready": (station: Station) => void;
155
- "runtime state": (station: Station, channel: number, batteryLevel: number, temperature: number) => void;
156
- "charging state": (station: Station, channel: number, chargeType: ChargingType, batteryLevel: number) => void;
157
- "wifi rssi": (station: Station, channel: number, rssi: number) => void;
158
- "floodlight manual switch": (station: Station, channel: number, enabled: boolean) => void;
159
- "alarm delay event": (station: Station, alarmDelayEvent: AlarmEvent, alarmDelay: number) => void;
160
- "alarm arm delay event": (station: Station, armDelay: number) => void;
161
- "alarm armed event": (station: Station) => void;
162
- "talkback started": (station: Station, channel: number, talkbackStream: TalkbackStream) => void;
163
- "talkback stopped": (station: Station, channel: number) => void;
164
- "talkback error": (station: Station, channel: number, error: Error) => void;
165
- "secondary command result": (station: Station, result: CommandResult) => void;
166
- "device shake alarm": (deviceSN: string, event: SmartSafeShakeAlarmEvent) => void;
167
- "device 911 alarm": (deviceSN: string, event: SmartSafeAlarm911Event) => void;
168
- "device jammed": (deviceSN: string) => void;
169
- "device low battery": (deviceSN: string) => void;
170
- "device wrong try-protect alarm": (deviceSN: string) => void;
171
- "device pin verified": (deviceSN: string, successfull: boolean) => void;
172
- "sd info ex": (station: Station, sdStatus: number, sdCapacity: number, sdCapacityAvailable: number) => void;
173
- }
174
- export interface DeviceEvents {
175
- "property changed": (device: Device, name: string, value: PropertyValue) => void;
176
- "raw property changed": (device: Device, type: number, value: string) => void;
177
- "motion detected": (device: Device, state: boolean) => void;
178
- "person detected": (device: Device, state: boolean, person: string) => void;
179
- "pet detected": (device: Device, state: boolean) => void;
180
- "sound detected": (device: Device, state: boolean) => void;
181
- "crying detected": (device: Device, state: boolean) => void;
182
- "vehicle detected": (device: Device, state: boolean) => void;
183
- "dog detected": (device: Device, state: boolean) => void;
184
- "dog lick detected": (device: Device, state: boolean) => void;
185
- "dog poop detected": (device: Device, state: boolean) => void;
186
- "stranger person detected": (device: Device, state: boolean) => void;
187
- "rings": (device: Device, state: boolean) => void;
188
- "locked": (device: Device, state: boolean) => void;
189
- "open": (device: Device, state: boolean) => void;
190
- "ready": (device: Device) => void;
191
- "package delivered": (device: Device, state: boolean) => void;
192
- "package stranded": (device: Device, state: boolean) => void;
193
- "package taken": (device: Device, state: boolean) => void;
194
- "someone loitering": (device: Device, state: boolean) => void;
195
- "radar motion detected": (device: Device, state: boolean) => void;
196
- "911 alarm": (device: Device, state: boolean, detail: SmartSafeAlarm911Event) => void;
197
- "shake alarm": (device: Device, state: boolean, detail: SmartSafeShakeAlarmEvent) => void;
198
- "wrong try-protect alarm": (device: Device, state: boolean) => void;
199
- "long time not close": (device: Device, state: boolean) => void;
200
- "low battery": (device: Device, state: boolean) => void;
201
- "jammed": (device: Device, state: boolean) => void;
202
- }
1
+ /// <reference types="node" />
2
+ import { Readable } from "stream";
3
+ import { Method } from "got";
4
+ import { StreamMetadata } from "../p2p/interfaces";
5
+ import { CommandResult } from "../p2p/models";
6
+ import { AlarmEvent, ChargingType, SmartSafeAlarm911Event, SmartSafeShakeAlarmEvent } from "../p2p/types";
7
+ import { Camera, Device } from "./device";
8
+ import { Cipher, Voice, Invite, DeviceListResponse, StationListResponse, HouseListResponse } from "./models";
9
+ import { Station } from "./station";
10
+ import { CommandName, PropertyName } from "./types";
11
+ import { TalkbackStream } from "../p2p/talkback";
12
+ export type PropertyValue = number | boolean | string;
13
+ export interface PropertyValues {
14
+ [index: string]: PropertyValue;
15
+ }
16
+ export interface RawValues {
17
+ [index: number]: string;
18
+ }
19
+ export interface Devices {
20
+ [index: string]: Device;
21
+ }
22
+ export interface Cameras {
23
+ [index: string]: Camera;
24
+ }
25
+ export interface Stations {
26
+ [index: string]: Station;
27
+ }
28
+ export interface Houses {
29
+ [index: string]: HouseListResponse;
30
+ }
31
+ export interface Hubs {
32
+ [index: string]: StationListResponse;
33
+ }
34
+ export interface FullDevices {
35
+ [index: string]: DeviceListResponse;
36
+ }
37
+ export interface Ciphers {
38
+ [index: number]: Cipher;
39
+ }
40
+ export interface Voices {
41
+ [index: number]: Voice;
42
+ }
43
+ export interface Invites {
44
+ [index: number]: Invite;
45
+ }
46
+ export interface HTTPApiRequest {
47
+ method: Method;
48
+ endpoint: string;
49
+ data?: any;
50
+ }
51
+ export type PropertyMetadataType = "number" | "boolean" | "string";
52
+ export interface PropertyMetadataAny {
53
+ key: number | string;
54
+ name: PropertyName;
55
+ type: PropertyMetadataType;
56
+ default?: any;
57
+ readable: boolean;
58
+ writeable: boolean;
59
+ description?: string;
60
+ label?: string;
61
+ commandId?: number;
62
+ }
63
+ export interface PropertyMetadataNumeric extends PropertyMetadataAny {
64
+ type: "number";
65
+ min?: number;
66
+ max?: number;
67
+ steps?: number;
68
+ default?: number;
69
+ states?: Record<number, string>;
70
+ unit?: string;
71
+ }
72
+ export interface PropertyMetadataBoolean extends PropertyMetadataAny {
73
+ type: "boolean";
74
+ default?: boolean;
75
+ }
76
+ export interface PropertyMetadataString extends PropertyMetadataAny {
77
+ type: "string";
78
+ minLength?: number;
79
+ maxLength?: number;
80
+ default?: string;
81
+ format?: RegExp;
82
+ }
83
+ export interface IndexedProperty {
84
+ [index: string]: PropertyMetadataAny;
85
+ }
86
+ export interface Properties {
87
+ [index: number]: IndexedProperty;
88
+ }
89
+ export interface Commands {
90
+ [index: number]: Array<CommandName>;
91
+ }
92
+ export interface HTTPApiPersistentData {
93
+ user_id: string;
94
+ email: string;
95
+ nick_name: string;
96
+ device_public_keys: {
97
+ [index: string]: string;
98
+ };
99
+ clientPrivateKey: string;
100
+ serverPublicKey: string;
101
+ }
102
+ export interface CaptchaOptions {
103
+ captchaCode: string;
104
+ captchaId: string;
105
+ }
106
+ export interface LoginOptions {
107
+ verifyCode?: string;
108
+ captcha?: CaptchaOptions;
109
+ force: boolean;
110
+ }
111
+ export interface Schedule {
112
+ startDateTime?: Date;
113
+ endDateTime?: Date;
114
+ week?: {
115
+ monday: boolean;
116
+ tuesday: boolean;
117
+ wednesday: boolean;
118
+ thursday: boolean;
119
+ friday: boolean;
120
+ saturday: boolean;
121
+ sunday: boolean;
122
+ };
123
+ }
124
+ export interface HTTPApiEvents {
125
+ "devices": (devices: FullDevices) => void;
126
+ "hubs": (hubs: Hubs) => void;
127
+ "houses": (houses: Houses) => void;
128
+ "connect": () => void;
129
+ "close": () => void;
130
+ "connection error": (error: Error) => void;
131
+ "tfa request": () => void;
132
+ "captcha request": (id: string, captcha: string) => void;
133
+ "auth token invalidated": () => void;
134
+ }
135
+ export interface StationEvents {
136
+ "connect": (station: Station) => void;
137
+ "close": (station: Station) => void;
138
+ "connection error": (station: Station, error: Error) => void;
139
+ "raw device property changed": (deviceSN: string, params: RawValues) => void;
140
+ "property changed": (station: Station, name: string, value: PropertyValue) => void;
141
+ "raw property changed": (station: Station, type: number, value: string) => void;
142
+ "command result": (station: Station, result: CommandResult) => void;
143
+ "download start": (station: Station, channel: number, metadata: StreamMetadata, videostream: Readable, audiostream: Readable) => void;
144
+ "download finish": (station: Station, channel: number) => void;
145
+ "livestream start": (station: Station, channel: number, metadata: StreamMetadata, videostream: Readable, audiostream: Readable) => void;
146
+ "livestream stop": (station: Station, channel: number) => void;
147
+ "livestream error": (station: Station, channel: number, error: Error) => void;
148
+ "rtsp livestream start": (station: Station, channel: number) => void;
149
+ "rtsp livestream stop": (station: Station, channel: number) => void;
150
+ "rtsp url": (station: Station, channel: number, value: string) => void;
151
+ "guard mode": (station: Station, guardMode: number) => void;
152
+ "current mode": (station: Station, currentMode: number) => void;
153
+ "alarm event": (station: Station, alarmEvent: AlarmEvent) => void;
154
+ "ready": (station: Station) => void;
155
+ "runtime state": (station: Station, channel: number, batteryLevel: number, temperature: number) => void;
156
+ "charging state": (station: Station, channel: number, chargeType: ChargingType, batteryLevel: number) => void;
157
+ "wifi rssi": (station: Station, channel: number, rssi: number) => void;
158
+ "floodlight manual switch": (station: Station, channel: number, enabled: boolean) => void;
159
+ "alarm delay event": (station: Station, alarmDelayEvent: AlarmEvent, alarmDelay: number) => void;
160
+ "alarm arm delay event": (station: Station, armDelay: number) => void;
161
+ "alarm armed event": (station: Station) => void;
162
+ "talkback started": (station: Station, channel: number, talkbackStream: TalkbackStream) => void;
163
+ "talkback stopped": (station: Station, channel: number) => void;
164
+ "talkback error": (station: Station, channel: number, error: Error) => void;
165
+ "secondary command result": (station: Station, result: CommandResult) => void;
166
+ "device shake alarm": (deviceSN: string, event: SmartSafeShakeAlarmEvent) => void;
167
+ "device 911 alarm": (deviceSN: string, event: SmartSafeAlarm911Event) => void;
168
+ "device jammed": (deviceSN: string) => void;
169
+ "device low battery": (deviceSN: string) => void;
170
+ "device wrong try-protect alarm": (deviceSN: string) => void;
171
+ "device pin verified": (deviceSN: string, successfull: boolean) => void;
172
+ "sd info ex": (station: Station, sdStatus: number, sdCapacity: number, sdCapacityAvailable: number) => void;
173
+ }
174
+ export interface DeviceEvents {
175
+ "property changed": (device: Device, name: string, value: PropertyValue) => void;
176
+ "raw property changed": (device: Device, type: number, value: string) => void;
177
+ "motion detected": (device: Device, state: boolean) => void;
178
+ "person detected": (device: Device, state: boolean, person: string) => void;
179
+ "pet detected": (device: Device, state: boolean) => void;
180
+ "sound detected": (device: Device, state: boolean) => void;
181
+ "crying detected": (device: Device, state: boolean) => void;
182
+ "vehicle detected": (device: Device, state: boolean) => void;
183
+ "dog detected": (device: Device, state: boolean) => void;
184
+ "dog lick detected": (device: Device, state: boolean) => void;
185
+ "dog poop detected": (device: Device, state: boolean) => void;
186
+ "stranger person detected": (device: Device, state: boolean) => void;
187
+ "rings": (device: Device, state: boolean) => void;
188
+ "locked": (device: Device, state: boolean) => void;
189
+ "open": (device: Device, state: boolean) => void;
190
+ "ready": (device: Device) => void;
191
+ "package delivered": (device: Device, state: boolean) => void;
192
+ "package stranded": (device: Device, state: boolean) => void;
193
+ "package taken": (device: Device, state: boolean) => void;
194
+ "someone loitering": (device: Device, state: boolean) => void;
195
+ "radar motion detected": (device: Device, state: boolean) => void;
196
+ "911 alarm": (device: Device, state: boolean, detail: SmartSafeAlarm911Event) => void;
197
+ "shake alarm": (device: Device, state: boolean, detail: SmartSafeShakeAlarmEvent) => void;
198
+ "wrong try-protect alarm": (device: Device, state: boolean) => void;
199
+ "long time not close": (device: Device, state: boolean) => void;
200
+ "low battery": (device: Device, state: boolean) => void;
201
+ "jammed": (device: Device, state: boolean) => void;
202
+ }
@@ -1,3 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  //# sourceMappingURL=interfaces.js.map