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.
Files changed (75) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +762 -745
  3. package/build/error.d.ts +126 -56
  4. package/build/error.js +80 -58
  5. package/build/error.js.map +1 -1
  6. package/build/eufysecurity.d.ts +4 -2
  7. package/build/eufysecurity.js +372 -184
  8. package/build/eufysecurity.js.map +1 -1
  9. package/build/http/api.js +164 -113
  10. package/build/http/api.js.map +1 -1
  11. package/build/http/cache.js +2 -2
  12. package/build/http/cache.js.map +1 -1
  13. package/build/http/device.d.ts +26 -1
  14. package/build/http/device.js +544 -167
  15. package/build/http/device.js.map +1 -1
  16. package/build/http/error.d.ts +64 -19
  17. package/build/http/error.js +53 -29
  18. package/build/http/error.js.map +1 -1
  19. package/build/http/interfaces.d.ts +3 -0
  20. package/build/http/models.d.ts +25 -0
  21. package/build/http/parameter.d.ts +1 -1
  22. package/build/http/parameter.js +19 -17
  23. package/build/http/parameter.js.map +1 -1
  24. package/build/http/station.d.ts +30 -6
  25. package/build/http/station.js +1599 -530
  26. package/build/http/station.js.map +1 -1
  27. package/build/http/types.d.ts +125 -2
  28. package/build/http/types.js +932 -53
  29. package/build/http/types.js.map +1 -1
  30. package/build/http/utils.js +11 -9
  31. package/build/http/utils.js.map +1 -1
  32. package/build/mqtt/service.js +19 -16
  33. package/build/mqtt/service.js.map +1 -1
  34. package/build/p2p/ble.js +14 -6
  35. package/build/p2p/ble.js.map +1 -1
  36. package/build/p2p/error.d.ts +48 -23
  37. package/build/p2p/error.js +25 -24
  38. package/build/p2p/error.js.map +1 -1
  39. package/build/p2p/interfaces.d.ts +23 -0
  40. package/build/p2p/models.d.ts +11 -1
  41. package/build/p2p/session.d.ts +5 -0
  42. package/build/p2p/session.js +210 -142
  43. package/build/p2p/session.js.map +1 -1
  44. package/build/p2p/talkback.js +1 -1
  45. package/build/p2p/talkback.js.map +1 -1
  46. package/build/p2p/types.d.ts +36 -1
  47. package/build/p2p/types.js +72 -31
  48. package/build/p2p/types.js.map +1 -1
  49. package/build/p2p/utils.d.ts +3 -1
  50. package/build/p2p/utils.js +13 -1
  51. package/build/p2p/utils.js.map +1 -1
  52. package/build/push/client.js +24 -15
  53. package/build/push/client.js.map +1 -1
  54. package/build/push/error.d.ts +73 -0
  55. package/build/push/error.js +101 -0
  56. package/build/push/error.js.map +1 -0
  57. package/build/push/index.d.ts +1 -0
  58. package/build/push/index.js +1 -0
  59. package/build/push/index.js.map +1 -1
  60. package/build/push/models.d.ts +17 -1
  61. package/build/push/models.js +9 -2
  62. package/build/push/models.js.map +1 -1
  63. package/build/push/parser.js +17 -13
  64. package/build/push/parser.js.map +1 -1
  65. package/build/push/service.js +160 -62
  66. package/build/push/service.js.map +1 -1
  67. package/build/push/types.d.ts +10 -0
  68. package/build/push/types.js +25 -14
  69. package/build/push/types.js.map +1 -1
  70. package/build/push/utils.js +2 -1
  71. package/build/push/utils.js.map +1 -1
  72. package/build/utils.d.ts +2 -1
  73. package/build/utils.js +56 -26
  74. package/build/utils.js.map +1 -1
  75. package/package.json +77 -77
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NotificationStyle = exports.IndoorPushMessageType = exports.HB3HDDType = exports.HB3PairedDeviceMessageType = exports.HB3PairedDevicePushEvent = exports.SmartSafeEvent = exports.IndoorPushEvent = exports.LockPushEvent = exports.DoorbellPushEvent = exports.ServerPushEvent = exports.CusPushMode = exports.CusPushAlarmType = exports.CusPushEvent = void 0;
3
+ exports.NotificationStyle = exports.IndoorPushMessageType = exports.HB3HDDType = exports.HB3PairedDeviceMessageType = exports.HB3PairedDevicePushEvent = exports.SmartSafeEvent = exports.GarageDoorPushEvent = exports.IndoorPushEvent = exports.LockPushEvent = exports.DoorbellPushEvent = exports.ServerPushEvent = exports.CusPushMode = exports.CusPushAlarmType = exports.CusPushEvent = void 0;
4
4
  var CusPushEvent;
5
5
  (function (CusPushEvent) {
6
6
  CusPushEvent[CusPushEvent["SECURITY"] = 1] = "SECURITY";
@@ -20,7 +20,7 @@ var CusPushEvent;
20
20
  CusPushEvent[CusPushEvent["ALARM_DELAY"] = 16] = "ALARM_DELAY";
21
21
  CusPushEvent[CusPushEvent["HUB_BATT_POWERED"] = 17] = "HUB_BATT_POWERED";
22
22
  CusPushEvent[CusPushEvent["SENSOR_NO_OPEN"] = 18] = "SENSOR_NO_OPEN";
23
- })(CusPushEvent = exports.CusPushEvent || (exports.CusPushEvent = {}));
23
+ })(CusPushEvent || (exports.CusPushEvent = CusPushEvent = {}));
24
24
  var CusPushAlarmType;
25
25
  (function (CusPushAlarmType) {
26
26
  CusPushAlarmType[CusPushAlarmType["HUB_STOP"] = 0] = "HUB_STOP";
@@ -42,13 +42,13 @@ var CusPushAlarmType;
42
42
  CusPushAlarmType[CusPushAlarmType["HUB_STOP_BY_APP"] = 16] = "HUB_STOP_BY_APP";
43
43
  CusPushAlarmType[CusPushAlarmType["HUB_STOP_BY_HUB"] = 17] = "HUB_STOP_BY_HUB";
44
44
  CusPushAlarmType[CusPushAlarmType["HUB_KEYPAD_CUSTOM_NOT_MAP"] = 18] = "HUB_KEYPAD_CUSTOM_NOT_MAP";
45
- })(CusPushAlarmType = exports.CusPushAlarmType || (exports.CusPushAlarmType = {}));
45
+ })(CusPushAlarmType || (exports.CusPushAlarmType = CusPushAlarmType = {}));
46
46
  var CusPushMode;
47
47
  (function (CusPushMode) {
48
48
  CusPushMode[CusPushMode["SWITCH_FROM_KEYPAD"] = 1] = "SWITCH_FROM_KEYPAD";
49
49
  CusPushMode[CusPushMode["SWITCH_FROM_APP"] = 2] = "SWITCH_FROM_APP";
50
50
  CusPushMode[CusPushMode["SWITCH"] = 9] = "SWITCH";
51
- })(CusPushMode = exports.CusPushMode || (exports.CusPushMode = {}));
51
+ })(CusPushMode || (exports.CusPushMode = CusPushMode = {}));
52
52
  var ServerPushEvent;
53
53
  (function (ServerPushEvent) {
54
54
  ServerPushEvent[ServerPushEvent["INVITE_DEVICE"] = 10300] = "INVITE_DEVICE";
@@ -61,7 +61,7 @@ var ServerPushEvent;
61
61
  ServerPushEvent[ServerPushEvent["HOUSE_ADDED"] = 11400] = "HOUSE_ADDED";
62
62
  ServerPushEvent[ServerPushEvent["HOUSE_INVITE"] = 11300] = "HOUSE_INVITE";
63
63
  ServerPushEvent[ServerPushEvent["HOUSE_REMOVE"] = 11200] = "HOUSE_REMOVE";
64
- })(ServerPushEvent = exports.ServerPushEvent || (exports.ServerPushEvent = {}));
64
+ })(ServerPushEvent || (exports.ServerPushEvent = ServerPushEvent = {}));
65
65
  var DoorbellPushEvent;
66
66
  (function (DoorbellPushEvent) {
67
67
  DoorbellPushEvent[DoorbellPushEvent["BACKGROUND_ACTIVE"] = 3100] = "BACKGROUND_ACTIVE";
@@ -76,7 +76,7 @@ var DoorbellPushEvent;
76
76
  DoorbellPushEvent[DoorbellPushEvent["PACKAGE_STRANDED"] = 3304] = "PACKAGE_STRANDED";
77
77
  DoorbellPushEvent[DoorbellPushEvent["SOMEONE_LOITERING"] = 3305] = "SOMEONE_LOITERING";
78
78
  DoorbellPushEvent[DoorbellPushEvent["RADAR_MOTION_DETECTION"] = 3306] = "RADAR_MOTION_DETECTION";
79
- })(DoorbellPushEvent = exports.DoorbellPushEvent || (exports.DoorbellPushEvent = {}));
79
+ })(DoorbellPushEvent || (exports.DoorbellPushEvent = DoorbellPushEvent = {}));
80
80
  var LockPushEvent;
81
81
  (function (LockPushEvent) {
82
82
  LockPushEvent[LockPushEvent["APP_LOCK"] = 264] = "APP_LOCK";
@@ -102,7 +102,7 @@ var LockPushEvent;
102
102
  LockPushEvent[LockPushEvent["LOCK_ONLINE"] = 771] = "LOCK_ONLINE";
103
103
  LockPushEvent[LockPushEvent["OTA_STATUS"] = 770] = "OTA_STATUS";
104
104
  LockPushEvent[LockPushEvent["STATUS_CHANGE"] = 769] = "STATUS_CHANGE";
105
- })(LockPushEvent = exports.LockPushEvent || (exports.LockPushEvent = {}));
105
+ })(LockPushEvent || (exports.LockPushEvent = LockPushEvent = {}));
106
106
  var IndoorPushEvent;
107
107
  (function (IndoorPushEvent) {
108
108
  IndoorPushEvent[IndoorPushEvent["MOTION_DETECTION"] = 3101] = "MOTION_DETECTION";
@@ -111,7 +111,18 @@ var IndoorPushEvent;
111
111
  IndoorPushEvent[IndoorPushEvent["SOUND_DETECTION"] = 3105] = "SOUND_DETECTION";
112
112
  IndoorPushEvent[IndoorPushEvent["PET_DETECTION"] = 3106] = "PET_DETECTION";
113
113
  IndoorPushEvent[IndoorPushEvent["VEHICLE_DETECTION"] = 3107] = "VEHICLE_DETECTION";
114
- })(IndoorPushEvent = exports.IndoorPushEvent || (exports.IndoorPushEvent = {}));
114
+ })(IndoorPushEvent || (exports.IndoorPushEvent = IndoorPushEvent = {}));
115
+ var GarageDoorPushEvent;
116
+ (function (GarageDoorPushEvent) {
117
+ GarageDoorPushEvent[GarageDoorPushEvent["CLOSED_DOOR_BY_APP"] = 1] = "CLOSED_DOOR_BY_APP";
118
+ GarageDoorPushEvent[GarageDoorPushEvent["OPEN_DOOR_BY_APP"] = 2] = "OPEN_DOOR_BY_APP";
119
+ GarageDoorPushEvent[GarageDoorPushEvent["CLOSED_DOOR_WITHOUT_APP"] = 3] = "CLOSED_DOOR_WITHOUT_APP";
120
+ GarageDoorPushEvent[GarageDoorPushEvent["OPEN_DOOR_WITHOUT_APP"] = 4] = "OPEN_DOOR_WITHOUT_APP";
121
+ GarageDoorPushEvent[GarageDoorPushEvent["TIMEOUT_DOOR_OPEN_WARNING"] = 5] = "TIMEOUT_DOOR_OPEN_WARNING";
122
+ GarageDoorPushEvent[GarageDoorPushEvent["TIMEOUT_CLOSED_DOOR"] = 6] = "TIMEOUT_CLOSED_DOOR";
123
+ GarageDoorPushEvent[GarageDoorPushEvent["TIMEOUT_DOOR_OPEN_WARNING_MINUTES"] = 7] = "TIMEOUT_DOOR_OPEN_WARNING_MINUTES";
124
+ GarageDoorPushEvent[GarageDoorPushEvent["LOW_BATTERY"] = 8] = "LOW_BATTERY";
125
+ })(GarageDoorPushEvent || (exports.GarageDoorPushEvent = GarageDoorPushEvent = {}));
115
126
  var SmartSafeEvent;
116
127
  (function (SmartSafeEvent) {
117
128
  SmartSafeEvent[SmartSafeEvent["ALARM_911"] = 1946161152] = "ALARM_911";
@@ -124,7 +135,7 @@ var SmartSafeEvent;
124
135
  SmartSafeEvent[SmartSafeEvent["LOW_POWER"] = 1946161158] = "LOW_POWER";
125
136
  SmartSafeEvent[SmartSafeEvent["INPUT_ERR_MAX"] = 1946161159] = "INPUT_ERR_MAX";
126
137
  SmartSafeEvent[SmartSafeEvent["SHUTDOWN"] = 1946161160] = "SHUTDOWN";
127
- })(SmartSafeEvent = exports.SmartSafeEvent || (exports.SmartSafeEvent = {}));
138
+ })(SmartSafeEvent || (exports.SmartSafeEvent = SmartSafeEvent = {}));
128
139
  var HB3PairedDevicePushEvent;
129
140
  (function (HB3PairedDevicePushEvent) {
130
141
  HB3PairedDevicePushEvent[HB3PairedDevicePushEvent["MOTION_DETECTION"] = 3101] = "MOTION_DETECTION";
@@ -138,7 +149,7 @@ var HB3PairedDevicePushEvent;
138
149
  HB3PairedDevicePushEvent[HB3PairedDevicePushEvent["DOG_POOP_DETECTION"] = 3110] = "DOG_POOP_DETECTION";
139
150
  HB3PairedDevicePushEvent[HB3PairedDevicePushEvent["IDENTITY_PERSON_DETECTION"] = 3111] = "IDENTITY_PERSON_DETECTION";
140
151
  HB3PairedDevicePushEvent[HB3PairedDevicePushEvent["STRANGER_PERSON_DETECTION"] = 3112] = "STRANGER_PERSON_DETECTION";
141
- })(HB3PairedDevicePushEvent = exports.HB3PairedDevicePushEvent || (exports.HB3PairedDevicePushEvent = {}));
152
+ })(HB3PairedDevicePushEvent || (exports.HB3PairedDevicePushEvent = HB3PairedDevicePushEvent = {}));
142
153
  var HB3PairedDeviceMessageType;
143
154
  (function (HB3PairedDeviceMessageType) {
144
155
  HB3PairedDeviceMessageType[HB3PairedDeviceMessageType["SECURITY_EVT"] = 1] = "SECURITY_EVT";
@@ -164,7 +175,7 @@ var HB3PairedDeviceMessageType;
164
175
  HB3PairedDeviceMessageType[HB3PairedDeviceMessageType["BBM_SOCK_EVT"] = 21] = "BBM_SOCK_EVT";
165
176
  HB3PairedDeviceMessageType[HB3PairedDeviceMessageType["DOOR_STATUS_EVT"] = 22] = "DOOR_STATUS_EVT";
166
177
  HB3PairedDeviceMessageType[HB3PairedDeviceMessageType["HHD_EVT"] = 23] = "HHD_EVT";
167
- })(HB3PairedDeviceMessageType = exports.HB3PairedDeviceMessageType || (exports.HB3PairedDeviceMessageType = {}));
178
+ })(HB3PairedDeviceMessageType || (exports.HB3PairedDeviceMessageType = HB3PairedDeviceMessageType = {}));
168
179
  var HB3HDDType;
169
180
  (function (HB3HDDType) {
170
181
  HB3HDDType[HB3HDDType["NODISK"] = 0] = "NODISK";
@@ -178,16 +189,16 @@ var HB3HDDType;
178
189
  HB3HDDType[HB3HDDType["WAIT_NETWOR"] = 8] = "WAIT_NETWOR";
179
190
  HB3HDDType[HB3HDDType["PARTED_DONE"] = 9] = "PARTED_DONE";
180
191
  HB3HDDType[HB3HDDType["FULL"] = 32] = "FULL";
181
- })(HB3HDDType = exports.HB3HDDType || (exports.HB3HDDType = {}));
192
+ })(HB3HDDType || (exports.HB3HDDType = HB3HDDType = {}));
182
193
  var IndoorPushMessageType;
183
194
  (function (IndoorPushMessageType) {
184
195
  IndoorPushMessageType[IndoorPushMessageType["INDOOR"] = 18] = "INDOOR";
185
196
  IndoorPushMessageType[IndoorPushMessageType["TFCARD"] = 2] = "TFCARD";
186
- })(IndoorPushMessageType = exports.IndoorPushMessageType || (exports.IndoorPushMessageType = {}));
197
+ })(IndoorPushMessageType || (exports.IndoorPushMessageType = IndoorPushMessageType = {}));
187
198
  var NotificationStyle;
188
199
  (function (NotificationStyle) {
189
200
  NotificationStyle[NotificationStyle["TEXT"] = 1] = "TEXT";
190
201
  NotificationStyle[NotificationStyle["THUMB"] = 2] = "THUMB";
191
202
  NotificationStyle[NotificationStyle["ALL"] = 3] = "ALL";
192
- })(NotificationStyle = exports.NotificationStyle || (exports.NotificationStyle = {}));
203
+ })(NotificationStyle || (exports.NotificationStyle = NotificationStyle = {}));
193
204
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/push/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/push/types.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ exports.convertTimestampMs = exports.sleep = exports.parseCheckinResponse = expo
27
27
  const crypto_1 = require("crypto");
28
28
  const path = __importStar(require("path"));
29
29
  const protobufjs_1 = require("protobufjs");
30
+ const error_1 = require("./error");
30
31
  exports.VALID_FID_PATTERN = /^[cdef][\w-]{21}$/;
31
32
  function generateFid() {
32
33
  const fidByteArray = new Uint8Array(17);
@@ -39,7 +40,7 @@ function generateFid() {
39
40
  if (exports.VALID_FID_PATTERN.test(fid)) {
40
41
  return fid;
41
42
  }
42
- throw new Error(`Generated FID is invalid?!`);
43
+ throw new error_1.FidGenerationError("Generated invalid FID", { context: { fid: fid } });
43
44
  }
44
45
  exports.generateFid = generateFid;
45
46
  const buildCheckinRequest = async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/push/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/push/utils.ts"],"names":[],"mappings":"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"}
package/build/utils.d.ts CHANGED
@@ -10,7 +10,8 @@ export declare const md5: (contents: string) => string;
10
10
  export declare const handleUpdate: (config: EufySecurityPersistentData, log: Logger, oldVersion: number) => EufySecurityPersistentData;
11
11
  export declare const isEmpty: (str: string | null | undefined) => boolean;
12
12
  export declare const parseValue: (metadata: PropertyMetadataAny, value: unknown) => unknown;
13
+ export declare const parseJSON: (data: string, log: Logger) => any;
13
14
  export declare const validValue: (metadata: PropertyMetadataAny, value: unknown) => void;
14
15
  export declare const mergeDeep: (target: Record<string, any> | undefined, source: Record<string, any>) => Record<string, any>;
15
- export declare const parseJSON: (data: string, log: Logger) => any;
16
16
  export declare function waitForEvent<T>(emitter: EventEmitter, event: string): Promise<T>;
17
+ export declare function getShortUrl(url: URL, prefixUrl?: string): string;
package/build/utils.js CHANGED
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.waitForEvent = exports.parseJSON = exports.mergeDeep = exports.validValue = exports.parseValue = exports.isEmpty = exports.handleUpdate = exports.md5 = exports.generateSerialnumber = exports.generateUDID = exports.removeLastChar = void 0;
26
+ exports.getShortUrl = exports.waitForEvent = exports.mergeDeep = exports.validValue = exports.parseJSON = exports.parseValue = exports.isEmpty = exports.handleUpdate = exports.md5 = exports.generateSerialnumber = exports.generateUDID = exports.removeLastChar = void 0;
27
27
  const crypto = __importStar(require("crypto"));
28
28
  const error_1 = require("./error");
29
29
  const removeLastChar = function (text, char) {
@@ -71,7 +71,7 @@ const parseValue = function (metadata, value) {
71
71
  value = value === 1 ? true : false;
72
72
  }
73
73
  else {
74
- throw new error_1.InvalidPropertyValueError(`Property ${metadata.name} expects a boolean value`);
74
+ throw new error_1.InvalidPropertyValueError("Property expects a boolean value", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
75
75
  }
76
76
  break;
77
77
  case "string":
@@ -79,15 +79,15 @@ const parseValue = function (metadata, value) {
79
79
  value = value.toLowerCase() === "true" ? true : false;
80
80
  }
81
81
  else {
82
- throw new error_1.InvalidPropertyValueError(`Property ${metadata.name} expects a boolean value`);
82
+ throw new error_1.InvalidPropertyValueError("Property expects a boolean value", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
83
83
  }
84
84
  break;
85
85
  default:
86
- throw new error_1.InvalidPropertyValueError(`Property ${metadata.name} expects a boolean value`);
86
+ throw new error_1.InvalidPropertyValueError("Property expects a boolean value", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
87
87
  }
88
88
  }
89
89
  else {
90
- throw new error_1.InvalidPropertyValueError(`Property ${metadata.name} expects a boolean value`);
90
+ throw new error_1.InvalidPropertyValueError("Property expects a boolean value", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
91
91
  }
92
92
  }
93
93
  else if (metadata.type === "number") {
@@ -99,16 +99,17 @@ const parseValue = function (metadata, value) {
99
99
  try {
100
100
  value = Number.parseInt(value);
101
101
  }
102
- catch (error) {
103
- throw new error_1.InvalidPropertyValueError(`Property ${metadata.name} expects a number value`);
102
+ catch (err) {
103
+ const error = (0, error_1.ensureError)(err);
104
+ throw new error_1.InvalidPropertyValueError("Property expects a number value", { cause: error, context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
104
105
  }
105
106
  break;
106
107
  default:
107
- throw new error_1.InvalidPropertyValueError(`Property ${metadata.name} expects a number value`);
108
+ throw new error_1.InvalidPropertyValueError("Property expects a number value", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
108
109
  }
109
110
  }
110
111
  else {
111
- throw new error_1.InvalidPropertyValueError(`Property ${metadata.name} expects a number value`);
112
+ throw new error_1.InvalidPropertyValueError("Property expects a number value", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
112
113
  }
113
114
  }
114
115
  else if (metadata.type === "string") {
@@ -123,38 +124,65 @@ const parseValue = function (metadata, value) {
123
124
  value = value === true ? "true" : "false";
124
125
  break;
125
126
  default:
126
- throw new error_1.InvalidPropertyValueError(`Property ${metadata.name} expects a number value`);
127
+ throw new error_1.InvalidPropertyValueError("Property expects a string value", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
127
128
  }
128
129
  }
129
130
  else {
130
- throw new error_1.InvalidPropertyValueError(`Property ${metadata.name} expects a number value`);
131
+ throw new error_1.InvalidPropertyValueError("Property expects a string value", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
132
+ }
133
+ }
134
+ else if (metadata.type === "object") {
135
+ if (value === undefined || value === null) {
136
+ throw new error_1.InvalidPropertyValueError("Property expects an object value", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
131
137
  }
132
138
  }
133
139
  else {
134
- throw new error_1.InvalidPropertyValueError(`Property ${metadata.name} expects a ${metadata.type} value`);
140
+ throw new error_1.InvalidPropertyValueError(`Property expects a ${metadata.type} value`, { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
135
141
  }
136
142
  return value;
137
143
  };
138
144
  exports.parseValue = parseValue;
145
+ const parseJSON = function (data, log) {
146
+ try {
147
+ return JSON.parse(data.replace(/[\0]+$/g, ""));
148
+ }
149
+ catch (err) {
150
+ const error = (0, error_1.ensureError)(err);
151
+ log.error("JSON parse error", { data: data, error: error });
152
+ }
153
+ return undefined;
154
+ };
155
+ exports.parseJSON = parseJSON;
139
156
  const validValue = function (metadata, value) {
140
157
  if (metadata.type === "number") {
141
158
  const numberMetadata = metadata;
142
159
  const numericValue = Number(value);
143
160
  if ((numberMetadata.min !== undefined && numberMetadata.min > numericValue) || (numberMetadata.max !== undefined && numberMetadata.max < numericValue) || (numberMetadata.states !== undefined && numberMetadata.states[numericValue] === undefined) || Number.isNaN(numericValue)) {
144
- throw new error_1.InvalidPropertyValueError(`Value "${numericValue}" isn't a valid value for property "${numberMetadata.name}"`);
161
+ throw new error_1.InvalidPropertyValueError("Invalid value for this property according to metadata", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
145
162
  }
146
163
  }
147
164
  else if (metadata.type === "string") {
148
165
  const stringMetadata = metadata;
149
166
  const stringValue = String(value);
150
167
  if ((stringMetadata.format !== undefined && stringValue.match(stringMetadata.format) === null) || (stringMetadata.minLength !== undefined && stringMetadata.minLength > stringValue.length) || (stringMetadata.maxLength !== undefined && stringMetadata.maxLength < stringValue.length)) {
151
- throw new error_1.InvalidPropertyValueError(`Value "${stringValue}" isn't a valid value for property "${stringMetadata.name}"`);
168
+ throw new error_1.InvalidPropertyValueError("Invalid value for this property according to metadata", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
152
169
  }
153
170
  }
154
171
  else if (metadata.type === "boolean") {
155
172
  const str = String(value).toLowerCase().trim();
156
- if (str !== "true" && str !== "false") {
157
- throw new error_1.InvalidPropertyValueError(`Value "${value}" isn't a valid value for property "${metadata.name}"`);
173
+ if (str !== "true" && str !== "false" && str !== "1" && str !== "0") {
174
+ throw new error_1.InvalidPropertyValueError("Invalid value for this property according to metadata", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
175
+ }
176
+ }
177
+ else if (metadata.type === "object") {
178
+ const metadataObject = metadata;
179
+ if (value !== undefined && value !== null && metadataObject.isValidObject !== undefined) {
180
+ if (!metadataObject.isValidObject(value)) {
181
+ throw new error_1.InvalidPropertyValueError("Invalid value for this property according to metadata", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
182
+ }
183
+ }
184
+ else {
185
+ throw new error_1.InvalidPropertyValueError("Invalid value for this property according to metadata", { context: { propertyName: metadata.name, propertyValue: value, metadata: metadata } });
158
186
  }
159
187
  }
160
188
  };
@@ -179,16 +207,6 @@ const mergeDeep = function (target, source) {
179
207
  return target;
180
208
  };
181
209
  exports.mergeDeep = mergeDeep;
182
- const parseJSON = function (data, log) {
183
- try {
184
- return JSON.parse(data.replace(/[\0]+$/g, ""));
185
- }
186
- catch (error) {
187
- log.error("JSON parse error", data, error);
188
- }
189
- return undefined;
190
- };
191
- exports.parseJSON = parseJSON;
192
210
  function waitForEvent(emitter, event) {
193
211
  return new Promise((resolve, reject) => {
194
212
  const success = (val) => {
@@ -205,4 +223,16 @@ function waitForEvent(emitter, event) {
205
223
  });
206
224
  }
207
225
  exports.waitForEvent = waitForEvent;
226
+ function getShortUrl(url, prefixUrl) {
227
+ if (url.password) {
228
+ url = new URL(url.toString()); // prevent original url mutation
229
+ url.password = "[redacted]";
230
+ }
231
+ let shortUrl = url.toString();
232
+ if (prefixUrl && shortUrl.startsWith(prefixUrl)) {
233
+ shortUrl = shortUrl.slice(prefixUrl.length);
234
+ }
235
+ return shortUrl;
236
+ }
237
+ exports.getShortUrl = getShortUrl;
208
238
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,77 +1,77 @@
1
- {
2
- "name": "eufy-security-client",
3
- "version": "2.6.2",
4
- "description": "Client to comunicate with Eufy-Security devices",
5
- "author": {
6
- "name": "bropat",
7
- "email": "patrick.broetto@gmail.com"
8
- },
9
- "homepage": "https://github.com/bropat/eufy-security-client",
10
- "main": "build/index.js",
11
- "scripts": {
12
- "build:ts": "tsc -p tsconfig.build.json && npm run copy-proto-build",
13
- "copy-proto-build": "npx copyfiles -u 1 \"src/**/*.proto\" \"src/**/*.crt\" build",
14
- "test": "echo \"Error: no test specified\" && exit 1",
15
- "build": "npm run build:ts",
16
- "watch:ts": "tsc -p tsconfig.build.json --watch",
17
- "watch": "npm run watch:ts",
18
- "lint": "eslint --ext .ts src",
19
- "prepublishOnly": "tsc -p tsconfig.build.json && npm run copy-proto-build"
20
- },
21
- "license": "MIT",
22
- "keywords": [
23
- "eufy",
24
- "eufycam",
25
- "cam",
26
- "cameras",
27
- "security",
28
- "eufy-security",
29
- "doorbell",
30
- "lock",
31
- "keypad",
32
- "smartlock",
33
- "smartsafe"
34
- ],
35
- "repository": {
36
- "type": "git",
37
- "url": "https://github.com/bropat/eufy-security-client"
38
- },
39
- "engines": {
40
- "node": ">=14.17.0"
41
- },
42
- "dependencies": {
43
- "got": "^11.8.6",
44
- "long": "^5.2.3",
45
- "protobufjs": "^7.2.3",
46
- "qs": "^6.11.2",
47
- "node-rsa": "^1.1.1",
48
- "crypto-js": "^4.1.1",
49
- "ts-log": "^2.2.5",
50
- "tiny-typed-emitter": "^2.1.0",
51
- "i18n-iso-countries": "^7.6.0",
52
- "@cospired/i18n-iso-languages": "^4.1.0",
53
- "fs-extra": "^11.1.1",
54
- "sweet-collections": "^1.1.0",
55
- "mqtt": "^4.3.7",
56
- "node-schedule": "^2.1.1",
57
- "p-throttle": "^4.1.1",
58
- "image-type": "^4.1.0",
59
- "date-and-time": "^3.0.0"
60
- },
61
- "devDependencies": {
62
- "@types/node": "^16.18.30",
63
- "@types/qs": "^6.9.7",
64
- "@types/node-rsa": "^1.1.1",
65
- "@types/crypto-js": "^4.1.1",
66
- "@types/fs-extra": "^11.0.1",
67
- "@types/node-schedule": "^2.1.0",
68
- "@typescript-eslint/eslint-plugin": "^5.59.6",
69
- "@typescript-eslint/parser": "^5.59.6",
70
- "eslint": "^8.40.0",
71
- "typescript": "^5.0.4"
72
- },
73
- "bugs": {
74
- "url": "https://github.com/bropat/eufy-security-client/issues"
75
- },
76
- "readmeFilename": "README.md"
77
- }
1
+ {
2
+ "name": "eufy-security-client",
3
+ "version": "2.7.0",
4
+ "description": "Client to comunicate with Eufy-Security devices",
5
+ "author": {
6
+ "name": "bropat",
7
+ "email": "patrick.broetto@gmail.com"
8
+ },
9
+ "homepage": "https://github.com/bropat/eufy-security-client",
10
+ "main": "build/index.js",
11
+ "scripts": {
12
+ "build:ts": "tsc -p tsconfig.build.json && npm run copy-proto-build",
13
+ "copy-proto-build": "npx copyfiles -u 1 \"src/**/*.proto\" \"src/**/*.crt\" build",
14
+ "test": "echo \"Error: no test specified\" && exit 1",
15
+ "build": "npm run build:ts",
16
+ "watch:ts": "tsc -p tsconfig.build.json --watch",
17
+ "watch": "npm run watch:ts",
18
+ "lint": "eslint --ext .ts src",
19
+ "prepublishOnly": "tsc -p tsconfig.build.json && npm run copy-proto-build"
20
+ },
21
+ "license": "MIT",
22
+ "keywords": [
23
+ "eufy",
24
+ "eufycam",
25
+ "cam",
26
+ "cameras",
27
+ "security",
28
+ "eufy-security",
29
+ "doorbell",
30
+ "lock",
31
+ "keypad",
32
+ "smartlock",
33
+ "smartsafe"
34
+ ],
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "https://github.com/bropat/eufy-security-client"
38
+ },
39
+ "engines": {
40
+ "node": ">=16.9.0"
41
+ },
42
+ "dependencies": {
43
+ "got": "^11.8.6",
44
+ "long": "^5.2.3",
45
+ "protobufjs": "^7.2.4",
46
+ "qs": "^6.11.2",
47
+ "node-rsa": "^1.1.1",
48
+ "crypto-js": "^4.1.1",
49
+ "ts-log": "^2.2.5",
50
+ "tiny-typed-emitter": "^2.1.0",
51
+ "i18n-iso-countries": "^7.6.0",
52
+ "@cospired/i18n-iso-languages": "^4.1.0",
53
+ "fs-extra": "^11.1.1",
54
+ "sweet-collections": "^1.1.0",
55
+ "mqtt": "^5.0.1",
56
+ "node-schedule": "^2.1.1",
57
+ "p-throttle": "^4.1.1",
58
+ "image-type": "^4.1.0",
59
+ "date-and-time": "^3.0.2"
60
+ },
61
+ "devDependencies": {
62
+ "@types/node": "^16.18.39",
63
+ "@types/qs": "^6.9.7",
64
+ "@types/node-rsa": "^1.1.1",
65
+ "@types/crypto-js": "^4.1.1",
66
+ "@types/fs-extra": "^11.0.1",
67
+ "@types/node-schedule": "^2.1.0",
68
+ "@typescript-eslint/eslint-plugin": "^6.2.1",
69
+ "@typescript-eslint/parser": "^6.2.1",
70
+ "eslint": "^8.46.0",
71
+ "typescript": "^5.1.6"
72
+ },
73
+ "bugs": {
74
+ "url": "https://github.com/bropat/eufy-security-client/issues"
75
+ },
76
+ "readmeFilename": "README.md"
77
+ }