@homebridge-eufy-security/eufy-security-client 3.7.2-dev.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.
Files changed (129) hide show
  1. package/.prettierignore/342/200/216 +8 -0
  2. package/.prettierrc +11 -0
  3. package/LICENSE +21 -0
  4. package/README.md +970 -0
  5. package/build/error.d.ts +138 -0
  6. package/build/error.js +190 -0
  7. package/build/error.js.map +1 -0
  8. package/build/eufysecurity.d.ts +180 -0
  9. package/build/eufysecurity.js +3148 -0
  10. package/build/eufysecurity.js.map +1 -0
  11. package/build/http/api.d.ts +119 -0
  12. package/build/http/api.js +1877 -0
  13. package/build/http/api.js.map +1 -0
  14. package/build/http/cache.d.ts +8 -0
  15. package/build/http/cache.js +34 -0
  16. package/build/http/cache.js.map +1 -0
  17. package/build/http/const.d.ts +8 -0
  18. package/build/http/const.js +3054 -0
  19. package/build/http/const.js.map +1 -0
  20. package/build/http/device.d.ts +490 -0
  21. package/build/http/device.js +5256 -0
  22. package/build/http/device.js.map +1 -0
  23. package/build/http/error.d.ts +73 -0
  24. package/build/http/error.js +101 -0
  25. package/build/http/error.js.map +1 -0
  26. package/build/http/index.d.ts +10 -0
  27. package/build/http/index.js +30 -0
  28. package/build/http/index.js.map +1 -0
  29. package/build/http/interfaces.d.ts +248 -0
  30. package/build/http/interfaces.js +3 -0
  31. package/build/http/interfaces.js.map +1 -0
  32. package/build/http/models.d.ts +608 -0
  33. package/build/http/models.js +3 -0
  34. package/build/http/models.js.map +1 -0
  35. package/build/http/parameter.d.ts +7 -0
  36. package/build/http/parameter.js +119 -0
  37. package/build/http/parameter.js.map +1 -0
  38. package/build/http/station.d.ts +382 -0
  39. package/build/http/station.js +15735 -0
  40. package/build/http/station.js.map +1 -0
  41. package/build/http/types.d.ts +1358 -0
  42. package/build/http/types.js +10333 -0
  43. package/build/http/types.js.map +1 -0
  44. package/build/http/utils.d.ts +89 -0
  45. package/build/http/utils.js +916 -0
  46. package/build/http/utils.js.map +1 -0
  47. package/build/index.d.ts +8 -0
  48. package/build/index.js +29 -0
  49. package/build/index.js.map +1 -0
  50. package/build/interfaces.d.ts +147 -0
  51. package/build/interfaces.js +7 -0
  52. package/build/interfaces.js.map +1 -0
  53. package/build/logging.d.ts +36 -0
  54. package/build/logging.js +119 -0
  55. package/build/logging.js.map +1 -0
  56. package/build/mqtt/interface.d.ts +6 -0
  57. package/build/mqtt/interface.js +3 -0
  58. package/build/mqtt/interface.js.map +1 -0
  59. package/build/mqtt/model.d.ts +24 -0
  60. package/build/mqtt/model.js +3 -0
  61. package/build/mqtt/model.js.map +1 -0
  62. package/build/mqtt/mqtt-eufy.crt +79 -0
  63. package/build/mqtt/proto/lock.proto +33 -0
  64. package/build/mqtt/service.d.ts +28 -0
  65. package/build/mqtt/service.js +196 -0
  66. package/build/mqtt/service.js.map +1 -0
  67. package/build/p2p/ble.d.ts +59 -0
  68. package/build/p2p/ble.js +281 -0
  69. package/build/p2p/ble.js.map +1 -0
  70. package/build/p2p/error.d.ts +49 -0
  71. package/build/p2p/error.js +69 -0
  72. package/build/p2p/error.js.map +1 -0
  73. package/build/p2p/index.d.ts +8 -0
  74. package/build/p2p/index.js +28 -0
  75. package/build/p2p/index.js.map +1 -0
  76. package/build/p2p/interfaces.d.ts +423 -0
  77. package/build/p2p/interfaces.js +3 -0
  78. package/build/p2p/interfaces.js.map +1 -0
  79. package/build/p2p/models.d.ts +295 -0
  80. package/build/p2p/models.js +3 -0
  81. package/build/p2p/models.js.map +1 -0
  82. package/build/p2p/session.d.ts +186 -0
  83. package/build/p2p/session.js +3737 -0
  84. package/build/p2p/session.js.map +1 -0
  85. package/build/p2p/talkback.d.ts +8 -0
  86. package/build/p2p/talkback.js +23 -0
  87. package/build/p2p/talkback.js.map +1 -0
  88. package/build/p2p/types.d.ts +1164 -0
  89. package/build/p2p/types.js +1219 -0
  90. package/build/p2p/types.js.map +1 -0
  91. package/build/p2p/utils.d.ts +72 -0
  92. package/build/p2p/utils.js +865 -0
  93. package/build/p2p/utils.js.map +1 -0
  94. package/build/push/client.d.ts +49 -0
  95. package/build/push/client.js +344 -0
  96. package/build/push/client.js.map +1 -0
  97. package/build/push/error.d.ts +73 -0
  98. package/build/push/error.js +101 -0
  99. package/build/push/error.js.map +1 -0
  100. package/build/push/index.d.ts +6 -0
  101. package/build/push/index.js +26 -0
  102. package/build/push/index.js.map +1 -0
  103. package/build/push/interfaces.d.ts +19 -0
  104. package/build/push/interfaces.js +3 -0
  105. package/build/push/interfaces.js.map +1 -0
  106. package/build/push/models.d.ts +328 -0
  107. package/build/push/models.js +38 -0
  108. package/build/push/models.js.map +1 -0
  109. package/build/push/parser.d.ts +25 -0
  110. package/build/push/parser.js +231 -0
  111. package/build/push/parser.js.map +1 -0
  112. package/build/push/proto/checkin.proto +266 -0
  113. package/build/push/proto/mcs.proto +328 -0
  114. package/build/push/service.d.ts +46 -0
  115. package/build/push/service.js +965 -0
  116. package/build/push/service.js.map +1 -0
  117. package/build/push/types.d.ts +220 -0
  118. package/build/push/types.js +244 -0
  119. package/build/push/types.js.map +1 -0
  120. package/build/push/utils.d.ts +7 -0
  121. package/build/push/utils.js +116 -0
  122. package/build/push/utils.js.map +1 -0
  123. package/build/utils.d.ts +115 -0
  124. package/build/utils.js +438 -0
  125. package/build/utils.js.map +1 -0
  126. package/eslint.config.mts +68 -0
  127. package/jest.config.js +14 -0
  128. package/package.json +85 -0
  129. package/scripts/cut_release.sh +31 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * from "./http";
2
+ export * from "./p2p";
3
+ export * from "./push";
4
+ export * from "./interfaces";
5
+ export * from "./eufysecurity";
6
+ export * from "./error";
7
+ export { LoggingCategories, LogLevel, Logger, dummyLogger } from "./logging";
8
+ export declare const libVersion: string;
package/build/index.js ADDED
@@ -0,0 +1,29 @@
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.libVersion = exports.dummyLogger = exports.LogLevel = void 0;
18
+ __exportStar(require("./http"), exports);
19
+ __exportStar(require("./p2p"), exports);
20
+ __exportStar(require("./push"), exports);
21
+ __exportStar(require("./interfaces"), exports);
22
+ __exportStar(require("./eufysecurity"), exports);
23
+ __exportStar(require("./error"), exports);
24
+ var logging_1 = require("./logging");
25
+ Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return logging_1.LogLevel; } });
26
+ Object.defineProperty(exports, "dummyLogger", { enumerable: true, get: function () { return logging_1.dummyLogger; } });
27
+ const version = require("../package.json").version;
28
+ exports.libVersion = version;
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,wCAAsB;AACtB,yCAAuB;AACvB,+CAA6B;AAC7B,iDAA+B;AAC/B,0CAAwB;AACxB,qCAA6E;AAAjD,mGAAA,QAAQ,OAAA;AAAU,sGAAA,WAAW,OAAA;AAEzD,MAAM,OAAO,GAAW,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;AAC9C,QAAA,UAAU,GAAW,OAAO,CAAC"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Collection of interfaces
3
+ *
4
+ */
5
+ import { Readable } from "stream";
6
+ import { Device } from "./http/device";
7
+ import { HTTPApiPersistentData, Picture, PropertyValue, Schedule } from "./http/interfaces";
8
+ import { Station } from "./http/station";
9
+ import { DeviceSmartLockMessage } from "./mqtt/model";
10
+ import { DatabaseCountByDate, DatabaseQueryByDate, DatabaseQueryLatestInfo, DatabaseQueryLocal, StreamMetadata } from "./p2p/interfaces";
11
+ import { CommandResult } from "./p2p/models";
12
+ import { TalkbackStream } from "./p2p/talkback";
13
+ import { AlarmEvent, DatabaseReturnCode, SmartSafeAlarm911Event, SmartSafeShakeAlarmEvent } from "./p2p/types";
14
+ import { Credentials, PushMessage } from "./push/models";
15
+ import { Jsonable, LoggingCategories } from ".";
16
+ import { LogLevel } from "typescript-logging";
17
+ export interface StationIPAddresses {
18
+ [index: string]: string;
19
+ }
20
+ export interface EufySecurityConfig {
21
+ username: string;
22
+ password: string;
23
+ country?: string;
24
+ language?: string;
25
+ trustedDeviceName?: string;
26
+ persistentDir?: string;
27
+ persistentData?: string;
28
+ p2pConnectionSetup: number;
29
+ pollingIntervalMinutes: number;
30
+ eventDurationSeconds: number;
31
+ acceptInvitations?: boolean;
32
+ stationIPAddresses?: StationIPAddresses;
33
+ enableEmbeddedPKCS1Support?: boolean;
34
+ deviceConfig?: {
35
+ simultaneousDetections?: boolean;
36
+ };
37
+ logging?: {
38
+ level?: LogLevel;
39
+ categories?: Array<{
40
+ category: LoggingCategories;
41
+ level: LogLevel;
42
+ }>;
43
+ };
44
+ }
45
+ export interface EufySecurityPersistentData {
46
+ country: string;
47
+ login_hash: string;
48
+ openudid: string;
49
+ serial_number: string;
50
+ cloud_token?: string;
51
+ cloud_token_expiration?: number;
52
+ push_credentials: Credentials | undefined;
53
+ push_persistentIds: string[];
54
+ version: string;
55
+ httpApi?: HTTPApiPersistentData;
56
+ fallbackTrustedDeviceName?: string;
57
+ }
58
+ export interface EufySecurityEvents {
59
+ "device added": (device: Device) => void;
60
+ "device removed": (device: Device) => void;
61
+ "device property changed": (device: Device, name: string, value: PropertyValue) => void;
62
+ "device raw property changed": (device: Device, type: number, value: string) => void;
63
+ "device crying detected": (device: Device, state: boolean) => void;
64
+ "device sound detected": (device: Device, state: boolean) => void;
65
+ "device pet detected": (device: Device, state: boolean) => void;
66
+ "device vehicle detected": (device: Device, state: boolean) => void;
67
+ "device motion detected": (device: Device, state: boolean) => void;
68
+ "device person detected": (device: Device, state: boolean, person: string) => void;
69
+ "device stranger person detected": (device: Device, state: boolean) => void;
70
+ "device dog detected": (device: Device, state: boolean) => void;
71
+ "device dog lick detected": (device: Device, state: boolean) => void;
72
+ "device dog poop detected": (device: Device, state: boolean) => void;
73
+ "device rings": (device: Device, state: boolean) => void;
74
+ "device locked": (device: Device, state: boolean) => void;
75
+ "device open": (device: Device, state: boolean) => void;
76
+ "device package delivered": (device: Device, state: boolean) => void;
77
+ "device package stranded": (device: Device, state: boolean) => void;
78
+ "device package taken": (device: Device, state: boolean) => void;
79
+ "device someone loitering": (device: Device, state: boolean) => void;
80
+ "device radar motion detected": (device: Device, state: boolean) => void;
81
+ "device 911 alarm": (device: Device, state: boolean, detail: SmartSafeAlarm911Event) => void;
82
+ "device shake alarm": (device: Device, state: boolean, detail: SmartSafeShakeAlarmEvent) => void;
83
+ "device wrong try-protect alarm": (device: Device, state: boolean) => void;
84
+ "device long time not close": (device: Device, state: boolean) => void;
85
+ "device low battery": (device: Device, state: boolean) => void;
86
+ "device jammed": (device: Device, state: boolean) => void;
87
+ "device pin verified": (device: Device, successfull: boolean) => void;
88
+ "device tampering": (device: Device, state: boolean) => void;
89
+ "device low temperature": (device: Device, state: boolean) => void;
90
+ "device high temperature": (device: Device, state: boolean) => void;
91
+ "device pin incorrect": (device: Device, state: boolean) => void;
92
+ "device lid stuck": (device: Device, state: boolean) => void;
93
+ "device battery fully charged": (device: Device, state: boolean) => void;
94
+ "station added": (station: Station) => void;
95
+ "station removed": (station: Station) => void;
96
+ "station livestream start": (station: Station, device: Device, metadata: StreamMetadata, videostream: Readable, audiostream: Readable) => void;
97
+ "station livestream stop": (station: Station, device: Device) => void;
98
+ "station download start": (station: Station, device: Device, metadata: StreamMetadata, videoStream: Readable, audioStream: Readable) => void;
99
+ "station download finish": (station: Station, device: Device) => void;
100
+ "station command result": (station: Station, result: CommandResult) => void;
101
+ "station rtsp livestream start": (station: Station, device: Device) => void;
102
+ "station rtsp livestream stop": (station: Station, device: Device) => void;
103
+ "station rtsp url": (station: Station, device: Device, value: string) => void;
104
+ "station guard mode": (station: Station, guardMode: number) => void;
105
+ "station current mode": (station: Station, currentMode: number) => void;
106
+ "station property changed": (station: Station, name: string, value: PropertyValue) => void;
107
+ "station raw property changed": (station: Station, type: number, value: string) => void;
108
+ "station alarm event": (station: Station, alarmEvent: AlarmEvent) => void;
109
+ "station alarm delay event": (station: Station, alarmDelayEvent: AlarmEvent, alarmDelay: number) => void;
110
+ "station alarm armed": (station: Station) => void;
111
+ "station alarm arm delay event": (station: Station, armDelay: number) => void;
112
+ "station connect": (station: Station) => void;
113
+ "station connection error": (station: Station, error: Error) => void;
114
+ "station close": (station: Station) => void;
115
+ "station talkback start": (station: Station, device: Device, talkbackStream: TalkbackStream) => void;
116
+ "station talkback stop": (station: Station, device: Device) => void;
117
+ "station image download": (station: Station, file: string, image: Picture) => void;
118
+ "station database query latest": (station: Station, returnCode: DatabaseReturnCode, data: Array<DatabaseQueryLatestInfo>) => void;
119
+ "station database query local": (station: Station, returnCode: DatabaseReturnCode, data: Array<DatabaseQueryLocal>) => void;
120
+ "station database query by date": (station: Station, returnCode: DatabaseReturnCode, data: Array<DatabaseQueryByDate>) => void;
121
+ "station database count by date": (station: Station, returnCode: DatabaseReturnCode, data: Array<DatabaseCountByDate>) => void;
122
+ "station database delete": (station: Station, returnCode: DatabaseReturnCode, failedIds: Array<unknown>) => void;
123
+ "push connect": () => void;
124
+ "push close": () => void;
125
+ "push message": (message: PushMessage) => void;
126
+ connect: () => void;
127
+ close: () => void;
128
+ "connection error": (error: Error) => void;
129
+ "tfa request": () => void;
130
+ "captcha request": (id: string, captcha: string) => void;
131
+ "persistent data": (data: string) => void;
132
+ "mqtt connect": () => void;
133
+ "mqtt close": () => void;
134
+ "mqtt lock message": (message: DeviceSmartLockMessage) => void;
135
+ "user added": (device: Device, username: string, schedule?: Schedule) => void;
136
+ "user deleted": (device: Device, username: string) => void;
137
+ "user error": (device: Device, username: string, error: Error) => void;
138
+ "user username updated": (device: Device, username: string) => void;
139
+ "user schedule updated": (device: Device, username: string, schedule: Schedule) => void;
140
+ "user passcode updated": (device: Device, username: string) => void;
141
+ }
142
+ export interface ErrorObject {
143
+ cause: unknown;
144
+ message: string;
145
+ context: Jsonable;
146
+ stacktrace?: string;
147
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Collection of interfaces
4
+ *
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Logging utils
3
+ */
4
+ import { LogLevel } from "typescript-logging";
5
+ export type LoggingCategories = "all" | "main" | "http" | "p2p" | "push" | "mqtt";
6
+ export { LogLevel };
7
+ export interface Logger {
8
+ trace(message: unknown, ...args: unknown[]): void;
9
+ debug(message: unknown, ...args: unknown[]): void;
10
+ info(message: unknown, ...args: unknown[]): void;
11
+ warn(message: unknown, ...args: unknown[]): void;
12
+ error(message: unknown, ...args: unknown[]): void;
13
+ fatal?(message: unknown, ...args: unknown[]): void;
14
+ }
15
+ export declare const dummyLogger: Logger;
16
+ export declare class InternalLogger {
17
+ static logger: Logger | undefined;
18
+ }
19
+ export declare const rootMainLogger: import("typescript-logging-category-style").Category;
20
+ export declare const rootHTTPLogger: import("typescript-logging-category-style").Category;
21
+ export declare const rootMQTTLogger: import("typescript-logging-category-style").Category;
22
+ export declare const rootPushLogger: import("typescript-logging-category-style").Category;
23
+ export declare const rootP2PLogger: import("typescript-logging-category-style").Category;
24
+ /**
25
+ * Set logging level
26
+ *
27
+ * @param category
28
+ * @param level
29
+ */
30
+ export declare const setLoggingLevel: (category?: LoggingCategories, level?: LogLevel) => void;
31
+ /**
32
+ * Get the logging level
33
+ *
34
+ * @param category
35
+ */
36
+ export declare const getLoggingLevel: (category?: LoggingCategories) => number;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ /**
3
+ * Logging utils
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getLoggingLevel = exports.setLoggingLevel = exports.rootP2PLogger = exports.rootPushLogger = exports.rootMQTTLogger = exports.rootHTTPLogger = exports.rootMainLogger = exports.InternalLogger = exports.LogLevel = void 0;
7
+ const typescript_logging_1 = require("typescript-logging");
8
+ Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return typescript_logging_1.LogLevel; } });
9
+ const typescript_logging_category_style_1 = require("typescript-logging-category-style");
10
+ class InternalLogger {
11
+ static logger;
12
+ }
13
+ exports.InternalLogger = InternalLogger;
14
+ /**
15
+ *
16
+ * Get method name
17
+ *
18
+ *
19
+ */
20
+ const getMethodName = function () {
21
+ const matches = new Error("").stack?.split("\n")[6].match(/ at( new){0,1} ([a-zA-Z0-9_.]+) /);
22
+ if (matches !== null && matches !== undefined && matches[2] !== undefined && matches[2] !== "eval") {
23
+ return matches[2];
24
+ }
25
+ return undefined;
26
+ };
27
+ const provider = typescript_logging_category_style_1.CategoryProvider.createProvider("EufySecurityClientProvider", {
28
+ level: typescript_logging_1.LogLevel.Off,
29
+ channel: {
30
+ type: "RawLogChannel",
31
+ write: (msg) => {
32
+ const methodName = getMethodName();
33
+ const method = methodName ? `[${methodName}] ` : "";
34
+ const logMessage = `[${msg.logNames}] ${method}${msg.message}`;
35
+ switch (msg.level) {
36
+ case typescript_logging_1.LogLevel.Trace:
37
+ InternalLogger.logger?.trace(logMessage, ...(msg.args ?? []));
38
+ break;
39
+ case typescript_logging_1.LogLevel.Debug:
40
+ InternalLogger.logger?.debug(logMessage, ...(msg.args ?? []));
41
+ break;
42
+ case typescript_logging_1.LogLevel.Info:
43
+ InternalLogger.logger?.info(logMessage, ...(msg.args ?? []));
44
+ break;
45
+ case typescript_logging_1.LogLevel.Warn:
46
+ InternalLogger.logger?.warn(logMessage, ...(msg.args ?? []));
47
+ break;
48
+ case typescript_logging_1.LogLevel.Error:
49
+ InternalLogger.logger?.error(logMessage, ...(msg.args ?? []));
50
+ break;
51
+ case typescript_logging_1.LogLevel.Fatal:
52
+ if (InternalLogger.logger && InternalLogger.logger.fatal)
53
+ InternalLogger.logger.fatal(logMessage, ...(msg.args ?? []));
54
+ break;
55
+ }
56
+ },
57
+ },
58
+ });
59
+ exports.rootMainLogger = provider.getCategory("main");
60
+ exports.rootHTTPLogger = provider.getCategory("http");
61
+ exports.rootMQTTLogger = provider.getCategory("mqtt");
62
+ exports.rootPushLogger = provider.getCategory("push");
63
+ exports.rootP2PLogger = provider.getCategory("p2p");
64
+ /**
65
+ * Set logging level
66
+ *
67
+ * @param category
68
+ * @param level
69
+ */
70
+ const setLoggingLevel = function (category = "all", level = typescript_logging_1.LogLevel.Off) {
71
+ switch (category) {
72
+ case "all":
73
+ provider.updateRuntimeSettings({
74
+ level: level,
75
+ });
76
+ break;
77
+ case "main":
78
+ provider.updateRuntimeSettingsCategory(exports.rootMainLogger, {
79
+ level: level,
80
+ });
81
+ break;
82
+ case "http":
83
+ provider.updateRuntimeSettingsCategory(exports.rootHTTPLogger, {
84
+ level: level,
85
+ });
86
+ break;
87
+ case "mqtt":
88
+ provider.updateRuntimeSettingsCategory(exports.rootMQTTLogger, {
89
+ level: level,
90
+ });
91
+ break;
92
+ case "p2p":
93
+ provider.updateRuntimeSettingsCategory(exports.rootP2PLogger, {
94
+ level: level,
95
+ });
96
+ break;
97
+ case "push":
98
+ provider.updateRuntimeSettingsCategory(exports.rootPushLogger, {
99
+ level: level,
100
+ });
101
+ break;
102
+ }
103
+ };
104
+ exports.setLoggingLevel = setLoggingLevel;
105
+ /**
106
+ * Get the logging level
107
+ *
108
+ * @param category
109
+ */
110
+ const getLoggingLevel = function (category = "all") {
111
+ switch (category) {
112
+ case "all":
113
+ return provider.runtimeConfig.level;
114
+ default:
115
+ return provider.getCategory(category).logLevel;
116
+ }
117
+ };
118
+ exports.getLoggingLevel = getLoggingLevel;
119
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,2DAA8C;AAKrC,yFALA,6BAAQ,OAKA;AAJjB,yFAAqE;AAiBrE,MAAa,cAAc;IAClB,MAAM,CAAC,MAAM,CAAqB;CAC1C;AAFD,wCAEC;AAED;;;;;GAKG;AACH,MAAM,aAAa,GAAG;IACpB,MAAM,OAAO,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC9F,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;QACnG,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,oDAAgB,CAAC,cAAc,CAAC,4BAA4B,EAAE;IAC7E,KAAK,EAAE,6BAAQ,CAAC,GAAG;IACnB,OAAO,EAAE;QACP,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE;YACb,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;YAE/D,QAAQ,GAAG,CAAC,KAAK,EAAE,CAAC;gBAClB,KAAK,6BAAQ,CAAC,KAAK;oBACjB,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC9D,MAAM;gBACR,KAAK,6BAAQ,CAAC,KAAK;oBACjB,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC9D,MAAM;gBACR,KAAK,6BAAQ,CAAC,IAAI;oBAChB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC7D,MAAM;gBACR,KAAK,6BAAQ,CAAC,IAAI;oBAChB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC7D,MAAM;gBACR,KAAK,6BAAQ,CAAC,KAAK;oBACjB,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC9D,MAAM;gBACR,KAAK,6BAAQ,CAAC,KAAK;oBACjB,IAAI,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,CAAC,KAAK;wBACtD,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC/D,MAAM;YACV,CAAC;QACH,CAAC;KACF;CACF,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAA,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAA,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAA,cAAc,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAA,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAEzD;;;;;GAKG;AACI,MAAM,eAAe,GAAG,UAAU,WAA8B,KAAK,EAAE,QAAkB,6BAAQ,CAAC,GAAG;IAC1G,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,QAAQ,CAAC,qBAAqB,CAAC;gBAC7B,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,MAAM;QACR,KAAK,MAAM;YACT,QAAQ,CAAC,6BAA6B,CAAC,sBAAc,EAAE;gBACrD,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,MAAM;QACR,KAAK,MAAM;YACT,QAAQ,CAAC,6BAA6B,CAAC,sBAAc,EAAE;gBACrD,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,MAAM;QACR,KAAK,MAAM;YACT,QAAQ,CAAC,6BAA6B,CAAC,sBAAc,EAAE;gBACrD,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,MAAM;QACR,KAAK,KAAK;YACR,QAAQ,CAAC,6BAA6B,CAAC,qBAAa,EAAE;gBACpD,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,MAAM;QACR,KAAK,MAAM;YACT,QAAQ,CAAC,6BAA6B,CAAC,sBAAc,EAAE;gBACrD,KAAK,EAAE,KAAK;aACb,CAAC,CAAC;YACH,MAAM;IACV,CAAC;AACH,CAAC,CAAC;AAjCW,QAAA,eAAe,mBAiC1B;AAEF;;;;GAIG;AACI,MAAM,eAAe,GAAG,UAAU,WAA8B,KAAK;IAC1E,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;QACtC;YACE,OAAO,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;IACnD,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,eAAe,mBAO1B"}
@@ -0,0 +1,6 @@
1
+ import { DeviceSmartLockMessage } from "./model";
2
+ export interface MQTTServiceEvents {
3
+ connect: () => void;
4
+ close: () => void;
5
+ "lock message": (message: DeviceSmartLockMessage) => void;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/mqtt/interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ export interface DeviceSmartLockNotifyData {
2
+ stationSn: string;
3
+ deviceSn: string;
4
+ eventType: number;
5
+ eventTime: number;
6
+ shortUserId: string;
7
+ unknown1: string;
8
+ nickName: string;
9
+ userId: string;
10
+ unknown2: string;
11
+ deviceName: string;
12
+ unknown3: string;
13
+ lockState: string;
14
+ }
15
+ export interface DeviceSmartLockNotify {
16
+ timestamp: number;
17
+ uuid: string;
18
+ data: DeviceSmartLockNotifyData;
19
+ }
20
+ export interface DeviceSmartLockMessage {
21
+ eventType: number;
22
+ userId: string;
23
+ data: DeviceSmartLockNotify;
24
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/mqtt/model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,79 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIE0DCCA7igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
3
+ EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
4
+ EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
5
+ ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAwMFoXDTMxMDUwMzA3
6
+ MDAwMFowgbQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
7
+ EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UE
8
+ CxMkaHR0cDovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQD
9
+ EypHbyBEYWRkeSBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi
10
+ MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC54MsQ1K92vdSTYuswZLiBCGzD
11
+ BNliF44v/z5lz4/OYuY8UhzaFkVLVat4a2ODYpDOD2lsmcgaFItMzEUz6ojcnqOv
12
+ K/6AYZ15V8TPLvQ/MDxdR/yaFrzDN5ZBUY4RS1T4KL7QjL7wMDge87Am+GZHY23e
13
+ cSZHjzhHU9FGHbTj3ADqRay9vHHZqm8A29vNMDp5T19MR/gd71vCxJ1gO7GyQ5HY
14
+ pDNO6rPWJ0+tJYqlxvTV0KaudAVkV4i1RFXULSo6Pvi4vekyCgKUZMQWOlDxSq7n
15
+ eTOvDCAHf+jfBDnCaQJsY1L6d8EbyHSHyLmTGFBUNUtpTrw700kuH9zB0lL7AgMB
16
+ AAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
17
+ HQ4EFgQUQMK9J47MNIMwojPX+2yz8LQsgM4wHwYDVR0jBBgwFoAUOpqFBxBnKLbv
18
+ 9r0FQW4gwZTaD94wNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v
19
+ b2NzcC5nb2RhZGR5LmNvbS8wNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2NybC5n
20
+ b2RhZGR5LmNvbS9nZHJvb3QtZzIuY3JsMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEG
21
+ CCsGAQUFBwIBFiVodHRwczovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkv
22
+ MA0GCSqGSIb3DQEBCwUAA4IBAQAIfmyTEMg4uJapkEv/oV9PBO9sPpyIBslQj6Zz
23
+ 91cxG7685C/b+LrTW+C05+Z5Yg4MotdqY3MxtfWoSKQ7CC2iXZDXtHwlTxFWMMS2
24
+ RJ17LJ3lXubvDGGqv+QqG+6EnriDfcFDzkSnE3ANkR/0yBOtg2DZ2HKocyQetawi
25
+ DsoXiWJYRBuriSUBAA/NxBti21G00w9RKpv0vHP8ds42pM3Z2Czqrpv1KrKQ0U11
26
+ GIo/ikGQI31bS/6kA1ibRrLDYGCD+H1QQc7CoZDDu+8CL9IVVO5EFdkKrqeKM+2x
27
+ LXY2JtwE65/3YR8V3Idv7kaWKK2hJn0KCacuBKONvPi8BDAB
28
+ -----END CERTIFICATE-----
29
+ -----BEGIN CERTIFICATE-----
30
+ MIIEfTCCA2WgAwIBAgIDG+cVMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVT
31
+ MSEwHwYDVQQKExhUaGUgR28gRGFkZHkgR3JvdXAsIEluYy4xMTAvBgNVBAsTKEdv
32
+ IERhZGR5IENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMTAx
33
+ MDcwMDAwWhcNMzEwNTMwMDcwMDAwWjCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
34
+ B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHku
35
+ Y29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1
36
+ dGhvcml0eSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv3Fi
37
+ CPH6WTT3G8kYo/eASVjpIoMTpsUgQwE7hPHmhUmfJ+r2hBtOoLTbcJjHMgGxBT4H
38
+ Tu70+k8vWTAi56sZVmvigAf88xZ1gDlRe+X5NbZ0TqmNghPktj+pA4P6or6KFWp/
39
+ 3gvDthkUBcrqw6gElDtGfDIN8wBmIsiNaW02jBEYt9OyHGC0OPoCjM7T3UYH3go+
40
+ 6118yHz7sCtTpJJiaVElBWEaRIGMLKlDliPfrDqBmg4pxRyp6V0etp6eMAo5zvGI
41
+ gPtLXcwy7IViQyU0AlYnAZG0O3AqP26x6JyIAX2f1PnbU21gnb8s51iruF9G/M7E
42
+ GwM8CetJMVxpRrPgRwIDAQABo4IBFzCCARMwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
43
+ HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9BUFuIMGU2g/eMB8GA1Ud
44
+ IwQYMBaAFNLEsNKR1EwRcbNhyz2h/t2oatTjMDQGCCsGAQUFBwEBBCgwJjAkBggr
45
+ BgEFBQcwAYYYaHR0cDovL29jc3AuZ29kYWRkeS5jb20vMDIGA1UdHwQrMCkwJ6Al
46
+ oCOGIWh0dHA6Ly9jcmwuZ29kYWRkeS5jb20vZ2Ryb290LmNybDBGBgNVHSAEPzA9
47
+ MDsGBFUdIAAwMzAxBggrBgEFBQcCARYlaHR0cHM6Ly9jZXJ0cy5nb2RhZGR5LmNv
48
+ bS9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAWQtTvZKGEacke+1bMc8d
49
+ H2xwxbhuvk679r6XUOEwf7ooXGKUwuN+M/f7QnaF25UcjCJYdQkMiGVnOQoWCcWg
50
+ OJekxSOTP7QYpgEGRJHjp2kntFolfzq3Ms3dhP8qOCkzpN1nsoX+oYggHFCJyNwq
51
+ 9kIDN0zmiN/VryTyscPfzLXs4Jlet0lUIDyUGAzHHFIYSaRt4bNYC8nY7NmuHDKO
52
+ KHAN4v6mF56ED71XcLNa6R+ghlO773z/aQvgSMO3kwvIClTErF0UZzdsyqUvMQg3
53
+ qm5vjLyb4lddJIGvl5echK1srDdMZvNhkREg5L4wn3qkKQmw4TRfZHcYQFHfjDCm
54
+ rw==
55
+ -----END CERTIFICATE-----
56
+ -----BEGIN CERTIFICATE-----
57
+ MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
58
+ MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
59
+ YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
60
+ MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
61
+ ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
62
+ MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
63
+ ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
64
+ PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
65
+ wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
66
+ EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
67
+ avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
68
+ YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
69
+ sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
70
+ /t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
71
+ IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
72
+ YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
73
+ ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
74
+ OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
75
+ TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
76
+ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
77
+ dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
78
+ ReYNnyicsbkqWletNw+vHX/bvZ8=
79
+ -----END CERTIFICATE-----
@@ -0,0 +1,33 @@
1
+ // Copyright: (c) 2022-2024, Patrick Broetto <patrick.broetto@gmail.com>
2
+ // MIT License
3
+
4
+ syntax = "proto3";
5
+
6
+ package eufy_security_client.lock;
7
+
8
+ message DeviceSmartLockMessage {
9
+ optional uint32 event_type = 1;
10
+ optional string user_id = 2;
11
+ optional DeviceSmartLockNotify data = 3;
12
+ }
13
+
14
+ message DeviceSmartLockNotify {
15
+ optional uint64 timestamp = 1;
16
+ optional string uuid = 2;
17
+ optional DeviceSmartLockNotifyData data = 3;
18
+ }
19
+
20
+ message DeviceSmartLockNotifyData {
21
+ optional string station_sn = 1;
22
+ optional string device_sn = 2;
23
+ optional uint32 event_type = 3;
24
+ optional uint64 event_time = 4;
25
+ optional string short_user_id = 5;
26
+ optional string unknown1 = 6;
27
+ optional string nick_name = 7;
28
+ optional string user_id = 8;
29
+ optional string unknown2 = 9;
30
+ optional string device_name = 10;
31
+ optional string unknown3 = 11;
32
+ optional string lock_state = 12;
33
+ }
@@ -0,0 +1,28 @@
1
+ import { TypedEmitter } from "tiny-typed-emitter";
2
+ import { MQTTServiceEvents } from "./interface";
3
+ export declare class MQTTService extends TypedEmitter<MQTTServiceEvents> {
4
+ private readonly CLIENT_ID_FORMAT;
5
+ private readonly USERNAME_FORMAT;
6
+ private readonly SUBSCRIBE_NOTICE_FORMAT;
7
+ private readonly SUBSCRIBE_LOCK_FORMAT;
8
+ private readonly SUBSCRIBE_DOORBELL_FORMAT;
9
+ private static proto;
10
+ private connected;
11
+ private client;
12
+ private connecting;
13
+ private clientID?;
14
+ private androidID?;
15
+ private apiBase?;
16
+ private email?;
17
+ private subscribeLocks;
18
+ private deviceSmartLockMessageModel;
19
+ private constructor();
20
+ static init(): Promise<MQTTService>;
21
+ private parseSmartLockMessage;
22
+ private getMQTTBrokerUrl;
23
+ connect(clientID: string, androidID: string, apiBase: string, email: string): void;
24
+ private _subscribeLock;
25
+ subscribeLock(deviceSN: string): void;
26
+ isConnected(): boolean;
27
+ close(): void;
28
+ }