eufy-security-client 2.2.2 → 2.3.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 (50) hide show
  1. package/README.md +26 -0
  2. package/build/eufysecurity.d.ts +6 -0
  3. package/build/eufysecurity.js +72 -6
  4. package/build/eufysecurity.js.map +1 -1
  5. package/build/http/api.js +76 -37
  6. package/build/http/api.js.map +1 -1
  7. package/build/http/const.d.ts +3 -0
  8. package/build/http/const.js +8546 -0
  9. package/build/http/const.js.map +1 -0
  10. package/build/http/device.d.ts +2 -1
  11. package/build/http/device.js +108 -43
  12. package/build/http/device.js.map +1 -1
  13. package/build/http/error.d.ts +12 -0
  14. package/build/http/error.js +33 -1
  15. package/build/http/error.js.map +1 -1
  16. package/build/http/interfaces.d.ts +8 -2
  17. package/build/http/parameter.js +6 -1
  18. package/build/http/parameter.js.map +1 -1
  19. package/build/http/station.d.ts +2 -0
  20. package/build/http/station.js +252 -10
  21. package/build/http/station.js.map +1 -1
  22. package/build/http/types.d.ts +40 -4
  23. package/build/http/types.js +319 -48
  24. package/build/http/types.js.map +1 -1
  25. package/build/http/utils.d.ts +1 -1
  26. package/build/http/utils.js +42 -3045
  27. package/build/http/utils.js.map +1 -1
  28. package/build/interfaces.d.ts +7 -0
  29. package/build/mqtt/service.js +26 -3
  30. package/build/mqtt/service.js.map +1 -1
  31. package/build/p2p/session.d.ts +3 -0
  32. package/build/p2p/session.js +54 -21
  33. package/build/p2p/session.js.map +1 -1
  34. package/build/p2p/types.d.ts +1 -0
  35. package/build/p2p/types.js +1 -0
  36. package/build/p2p/types.js.map +1 -1
  37. package/build/p2p/utils.d.ts +2 -1
  38. package/build/p2p/utils.js +47 -9
  39. package/build/p2p/utils.js.map +1 -1
  40. package/build/push/client.js +26 -3
  41. package/build/push/client.js.map +1 -1
  42. package/build/push/parser.js +24 -1
  43. package/build/push/parser.js.map +1 -1
  44. package/build/push/service.js +32 -3
  45. package/build/push/service.js.map +1 -1
  46. package/build/push/utils.js +24 -1
  47. package/build/push/utils.js.map +1 -1
  48. package/build/utils.js +24 -1
  49. package/build/utils.js.map +1 -1
  50. package/package.json +7 -6
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http/utils.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ export interface EufySecurityPersistentData {
32
32
  push_persistentIds: string[];
33
33
  version: string;
34
34
  httpApi?: HTTPApiPersistentData;
35
+ fallbackTrustedDeviceName?: string;
35
36
  }
36
37
  export interface EufySecurityEvents {
37
38
  "device added": (device: Device) => void;
@@ -41,8 +42,13 @@ export interface EufySecurityEvents {
41
42
  "device crying detected": (device: Device, state: boolean) => void;
42
43
  "device sound detected": (device: Device, state: boolean) => void;
43
44
  "device pet detected": (device: Device, state: boolean) => void;
45
+ "device vehicle detected": (device: Device, state: boolean) => void;
44
46
  "device motion detected": (device: Device, state: boolean) => void;
45
47
  "device person detected": (device: Device, state: boolean, person: string) => void;
48
+ "device stranger person detected": (device: Device, state: boolean) => void;
49
+ "device dog detected": (device: Device, state: boolean) => void;
50
+ "device dog lick detected": (device: Device, state: boolean) => void;
51
+ "device dog poop detected": (device: Device, state: boolean) => void;
46
52
  "device rings": (device: Device, state: boolean) => void;
47
53
  "device locked": (device: Device, state: boolean) => void;
48
54
  "device open": (device: Device, state: boolean) => void;
@@ -86,6 +92,7 @@ export interface EufySecurityEvents {
86
92
  "push message": (message: PushMessage) => void;
87
93
  "connect": () => void;
88
94
  "close": () => void;
95
+ "connection error": (error: Error) => void;
89
96
  "tfa request": () => void;
90
97
  "captcha request": (id: string, captcha: string) => void;
91
98
  "cloud livestream start": (station: Station, device: Device, url: string) => void;
@@ -1,11 +1,34 @@
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.MQTTService = void 0;
4
- const mqtt = require("mqtt");
27
+ const mqtt = __importStar(require("mqtt"));
5
28
  const tiny_typed_emitter_1 = require("tiny-typed-emitter");
6
29
  const ts_log_1 = require("ts-log");
7
- const fse = require("fs-extra");
8
- const path = require("path");
30
+ const fse = __importStar(require("fs-extra"));
31
+ const path = __importStar(require("path"));
9
32
  const protobuf_typescript_1 = require("protobuf-typescript");
10
33
  class MQTTService extends tiny_typed_emitter_1.TypedEmitter {
11
34
  constructor(log = ts_log_1.dummyLogger) {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/mqtt/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/mqtt/service.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare class P2PClientProtocol extends TypedEmitter<P2PClientProtocolEve
25
25
  private readonly MAX_VIDEO_PACKET_BYTES;
26
26
  private readonly P2P_DATA_HEADER_BYTES;
27
27
  private readonly MAX_SEQUENCE_NUMBER;
28
+ private readonly SEQUENCE_PROCESSING_BOUNDARY;
28
29
  private socket;
29
30
  private binded;
30
31
  private connected;
@@ -72,6 +73,8 @@ export declare class P2PClientProtocol extends TypedEmitter<P2PClientProtocolEve
72
73
  private channel;
73
74
  constructor(rawStation: StationListResponse, api: HTTPApi, publicKey?: string);
74
75
  private _incrementSequence;
76
+ private _isBetween;
77
+ private _wasSequenceNumberAlreadyProcessed;
75
78
  private _initialize;
76
79
  private initializeMessageBuilder;
77
80
  private initializeMessageState;
@@ -37,6 +37,14 @@ class P2PClientProtocol extends tiny_typed_emitter_1.TypedEmitter {
37
37
  this.MAX_VIDEO_PACKET_BYTES = 655360;
38
38
  this.P2P_DATA_HEADER_BYTES = 16;
39
39
  this.MAX_SEQUENCE_NUMBER = 65535;
40
+ /*
41
+ * SEQUENCE_PROCESSING_BOUNDARY is used to determine if an incoming sequence number
42
+ * that is lower than the expected one was already processed.
43
+ * If it is within the boundary, it is determined as 'already processed',
44
+ * If it is even lower, it is assumed that the sequence count has reached
45
+ * MAX_SEQUENCE_NUMBER and restarted at 0.
46
+ * */
47
+ this.SEQUENCE_PROCESSING_BOUNDARY = 20000; // worth of approx. 90 seconds of continous streaming
40
48
  this.binded = false;
41
49
  this.connected = false;
42
50
  this.connecting = false;
@@ -83,6 +91,23 @@ class P2PClientProtocol extends tiny_typed_emitter_1.TypedEmitter {
83
91
  return sequence + 1;
84
92
  return 0;
85
93
  }
94
+ _isBetween(n, lowBoundary, highBoundary) {
95
+ if (n < lowBoundary)
96
+ return false;
97
+ if (n >= highBoundary)
98
+ return false;
99
+ return true;
100
+ }
101
+ _wasSequenceNumberAlreadyProcessed(expectedSequence, receivedSequence) {
102
+ if ((expectedSequence - this.SEQUENCE_PROCESSING_BOUNDARY) > 0) { // complete boundary without squence number reset
103
+ return this._isBetween(receivedSequence, expectedSequence - this.SEQUENCE_PROCESSING_BOUNDARY, expectedSequence);
104
+ }
105
+ else { // there was a sequence number reset recently
106
+ const isInRangeAfterReset = this._isBetween(receivedSequence, 0, expectedSequence);
107
+ const isInRangeBeforeReset = this._isBetween(receivedSequence, this.MAX_SEQUENCE_NUMBER + (expectedSequence - this.SEQUENCE_PROCESSING_BOUNDARY), this.MAX_SEQUENCE_NUMBER);
108
+ return (isInRangeBeforeReset || isInRangeAfterReset);
109
+ }
110
+ }
86
111
  _initialize() {
87
112
  let rsaKey;
88
113
  this.connected = false;
@@ -837,25 +862,21 @@ class P2PClientProtocol extends tiny_typed_emitter_1.TypedEmitter {
837
862
  }
838
863
  this.expectedSeqNo[dataType] = this._incrementSequence(this.expectedSeqNo[dataType]);
839
864
  this.parseDataMessage(message);
840
- this.log.debug(`Station ${this.rawStation.station_sn} - DATA ${types_1.P2PDataType[message.type]} - Received expected sequence (seqNo: ${message.seqNo} queuedData.size: ${this.currentMessageState[dataType].queuedData.size})`);
841
- for (const element of this.currentMessageState[dataType].queuedData.values()) {
842
- if (this.expectedSeqNo[dataType] === element.seqNo) {
843
- this.log.debug(`Station ${this.rawStation.station_sn} - DATA ${types_1.P2PDataType[element.type]} - Work off queued data (seqNo: ${element.seqNo} queuedData.size: ${this.currentMessageState[dataType].queuedData.size})`);
844
- this.expectedSeqNo[dataType]++;
845
- this.parseDataMessage(element);
846
- this.currentMessageState[dataType].queuedData.delete(element.seqNo);
847
- }
848
- else {
849
- this.log.debug(`Station ${this.rawStation.station_sn} - DATA ${types_1.P2PDataType[element.type]} - Work off missing data interrupt queue dismantle (seqNo: ${element.seqNo} queuedData.size: ${this.currentMessageState[dataType].queuedData.size})`);
850
- break;
851
- }
865
+ this.log.debug(`Station ${this.rawStation.station_sn} - DATA ${types_1.P2PDataType[message.type]} - Received expected sequence (expectedSeqNo: ${this.expectedSeqNo[dataType]} seqNo: ${message.seqNo} queuedData.size: ${this.currentMessageState[dataType].queuedData.size})`);
866
+ let queuedMessage = this.currentMessageState[dataType].queuedData.get(this.expectedSeqNo[dataType]);
867
+ while (queuedMessage) {
868
+ this.log.debug(`Station ${this.rawStation.station_sn} - DATA ${types_1.P2PDataType[queuedMessage.type]} - Work off queued data (expectedSeqNo: ${this.expectedSeqNo[dataType]} seqNo: ${queuedMessage.seqNo} queuedData.size: ${this.currentMessageState[dataType].queuedData.size})`);
869
+ this.expectedSeqNo[dataType] = this._incrementSequence(this.expectedSeqNo[dataType]);
870
+ this.parseDataMessage(queuedMessage);
871
+ this.currentMessageState[dataType].queuedData.delete(queuedMessage.seqNo);
872
+ queuedMessage = this.currentMessageState[dataType].queuedData.get(this.expectedSeqNo[dataType]);
852
873
  }
853
874
  }
854
- else if (this.expectedSeqNo[dataType] > message.seqNo) {
875
+ else if (this._wasSequenceNumberAlreadyProcessed(this.expectedSeqNo[dataType], message.seqNo)) {
855
876
  // We have already seen this message, skip!
856
877
  // This can happen because the device is sending the message till it gets a ACK
857
878
  // which can take some time.
858
- this.log.debug(`Station ${this.rawStation.station_sn} - DATA ${types_1.P2PDataType[message.type]} - Received already processed sequence (seqNo: ${message.seqNo} queuedData.size: ${this.currentMessageState[dataType].queuedData.size})`);
879
+ this.log.debug(`Station ${this.rawStation.station_sn} - DATA ${types_1.P2PDataType[message.type]} - Received already processed sequence (expectedSeqNo: ${this.expectedSeqNo[dataType]} seqNo: ${message.seqNo} queuedData.size: ${this.currentMessageState[dataType].queuedData.size})`);
859
880
  return;
860
881
  }
861
882
  else {
@@ -867,10 +888,10 @@ class P2PClientProtocol extends tiny_typed_emitter_1.TypedEmitter {
867
888
  }, this.MAX_EXPECTED_SEQNO_WAIT);
868
889
  if (!this.currentMessageState[dataType].queuedData.get(message.seqNo)) {
869
890
  this.currentMessageState[dataType].queuedData.set(message.seqNo, message);
870
- this.log.debug(`Station ${this.rawStation.station_sn} - DATA ${types_1.P2PDataType[message.type]} - Received not expected sequence, added to the queue for future processing (seqNo: ${message.seqNo} queuedData.size: ${this.currentMessageState[dataType].queuedData.size})`);
891
+ this.log.debug(`Station ${this.rawStation.station_sn} - DATA ${types_1.P2PDataType[message.type]} - Received not expected sequence, added to the queue for future processing (expectedSeqNo: ${this.expectedSeqNo[dataType]} seqNo: ${message.seqNo} queuedData.size: ${this.currentMessageState[dataType].queuedData.size})`);
871
892
  }
872
893
  else {
873
- this.log.debug(`Station ${this.rawStation.station_sn} - DATA ${types_1.P2PDataType[message.type]} - Received not expected sequence, discarded since already present in queue for future processing (seqNo: ${message.seqNo} queuedData.size: ${this.currentMessageState[dataType].queuedData.size})`);
894
+ this.log.debug(`Station ${this.rawStation.station_sn} - DATA ${types_1.P2PDataType[message.type]} - Received not expected sequence, discarded since already present in queue for future processing (expectedSeqNo: ${this.expectedSeqNo[dataType]} seqNo: ${message.seqNo} queuedData.size: ${this.currentMessageState[dataType].queuedData.size})`);
874
895
  }
875
896
  }
876
897
  }
@@ -947,7 +968,7 @@ class P2PClientProtocol extends tiny_typed_emitter_1.TypedEmitter {
947
968
  header.commandId = data.slice(4, 6).readUIntLE(0, 2);
948
969
  header.bytesToRead = data.slice(6, 10).readUIntLE(0, 4);
949
970
  header.channel = data.slice(12, 13).readUInt8();
950
- header.signCode = data.slice(13, 14).readInt8();
971
+ header.signCode = data.slice(13, 14).readUInt8();
951
972
  header.type = data.slice(14, 15).readUInt8();
952
973
  this.currentMessageBuilder[message.type].header = header;
953
974
  data = data.slice(this.P2P_DATA_HEADER_BYTES);
@@ -1236,6 +1257,11 @@ class P2PClientProtocol extends tiny_typed_emitter_1.TypedEmitter {
1236
1257
  this.log.debug(`Station ${this.rawStation.station_sn} - CMD_VIDEO_FRAME - Fallback, video codec extracted from video data`, { commandIdName: types_1.CommandType[message.commandId], commandId: message.commandId, channel: message.channel, metadata: videoMetaData });
1237
1258
  }
1238
1259
  }
1260
+ (0, utils_1.analyzeCodec)(video_data).then((result) => {
1261
+ this.log.debug(`Station ${this.rawStation.station_sn} - CMD_VIDEO_FRAME - Analyzed codec`, { metadata: videoMetaData, videoCodec: types_1.VideoCodec[this.currentMessageState[message.dataType].p2pStreamMetadata.videoCodec], analyzedCodec: result });
1262
+ }).catch((error) => {
1263
+ this.log.debug(`Station ${this.rawStation.station_sn} - CMD_VIDEO_FRAME - Analyzed codec Error`, { metadata: videoMetaData, videoCodec: types_1.VideoCodec[this.currentMessageState[message.dataType].p2pStreamMetadata.videoCodec], error: error });
1264
+ });
1239
1265
  this.currentMessageState[message.dataType].p2pStreamFirstVideoDataReceived = true;
1240
1266
  this.currentMessageState[message.dataType].waitForAudioData = setTimeout(() => {
1241
1267
  this.currentMessageState[message.dataType].waitForAudioData = undefined;
@@ -1299,6 +1325,11 @@ class P2PClientProtocol extends tiny_typed_emitter_1.TypedEmitter {
1299
1325
  }
1300
1326
  this.currentMessageState[message.dataType].p2pStreamFirstAudioDataReceived = true;
1301
1327
  this.currentMessageState[message.dataType].p2pStreamMetadata.audioCodec = audioMetaData.audioType === 0 ? types_1.AudioCodec.AAC : audioMetaData.audioType === 1 ? types_1.AudioCodec.AAC_LC : audioMetaData.audioType === 7 ? types_1.AudioCodec.AAC_ELD : types_1.AudioCodec.UNKNOWN;
1328
+ (0, utils_1.analyzeCodec)(audio_data).then((result) => {
1329
+ this.log.debug(`Station ${this.rawStation.station_sn} - CMD_AUDIO_FRAME - Analyzed codec`, { metadata: audioMetaData, audioCodec: types_1.AudioCodec[this.currentMessageState[message.dataType].p2pStreamMetadata.audioCodec], analyzedCodec: result });
1330
+ }).catch((error) => {
1331
+ this.log.debug(`Station ${this.rawStation.station_sn} - CMD_AUDIO_FRAME - Analyzed codec Error`, { metadata: audioMetaData, audioCodec: types_1.AudioCodec[this.currentMessageState[message.dataType].p2pStreamMetadata.audioCodec], error: error });
1332
+ });
1302
1333
  }
1303
1334
  if (this.currentMessageState[message.dataType].p2pStreamNotStarted) {
1304
1335
  if (this.currentMessageState[message.dataType].p2pStreamFirstAudioDataReceived && this.currentMessageState[message.dataType].p2pStreamFirstVideoDataReceived) {
@@ -1617,9 +1648,7 @@ class P2PClientProtocol extends tiny_typed_emitter_1.TypedEmitter {
1617
1648
  try {
1618
1649
  this.log.debug(`Station ${this.rawStation.station_sn} - CMD_SET_TONE_FILE :`, { payload: message.data.toString("hex") });
1619
1650
  const alarmEventNumber = message.data.slice(0, 4).readUInt32LE();
1620
- if (alarmEventNumber !== 0 && alarmEventNumber !== 1) {
1621
- this.emit("alarm event", alarmEventNumber);
1622
- }
1651
+ this.emit("alarm event", alarmEventNumber);
1623
1652
  }
1624
1653
  catch (error) {
1625
1654
  this.log.error(`Station ${this.rawStation.station_sn} - CMD_SET_TONE_FILE - Error:`, { error: error, payload: message.data.toString("hex") });
@@ -1628,7 +1657,8 @@ class P2PClientProtocol extends tiny_typed_emitter_1.TypedEmitter {
1628
1657
  case types_1.CommandType.CMD_SET_SNOOZE_MODE:
1629
1658
  // Received for station managed devices when snooze time ends
1630
1659
  try {
1631
- this.log.debug(`Station ${this.rawStation.station_sn} - CMD_SET_SNOOZE_MODE`, { payload: message.data.toString() });
1660
+ this.log.debug(`Station ${this.rawStation.station_sn} - CMD_SET_SNOOZE_MODE`, { payload: Buffer.from(message.data.toString(), "base64").toString() });
1661
+ this.emit("parameter", message.channel, types_1.CommandType.CMD_SET_SNOOZE_MODE, message.data.toString());
1632
1662
  }
1633
1663
  catch (error) {
1634
1664
  this.log.error(`Station ${this.rawStation.station_sn} - CMD_SET_SNOOZE_MODE - Error:`, error);
@@ -1792,6 +1822,9 @@ class P2PClientProtocol extends tiny_typed_emitter_1.TypedEmitter {
1792
1822
  }
1793
1823
  if (!this.currentMessageState[datatype].invalidStream && !this.currentMessageState[datatype].p2pStreamNotStarted)
1794
1824
  this.emitStreamStopEvent(datatype);
1825
+ if (this.currentMessageState[datatype].queuedData.size > 0) {
1826
+ this.expectedSeqNo[datatype] = this._incrementSequence([...this.currentMessageState[datatype].queuedData.keys()][this.currentMessageState[datatype].queuedData.size - 1]);
1827
+ }
1795
1828
  this.initializeMessageBuilder(datatype);
1796
1829
  this.initializeMessageState(datatype, this.currentMessageState[datatype].rsaKey);
1797
1830
  this.initializeStream(datatype);