homebridge-eufy-security 2.0.0 → 2.0.1-beta.10

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 (38) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +1 -0
  3. package/dist/accessories/CameraAccessory.d.ts +1 -0
  4. package/dist/accessories/CameraAccessory.d.ts.map +1 -1
  5. package/dist/accessories/CameraAccessory.js +21 -2
  6. package/dist/accessories/CameraAccessory.js.map +1 -1
  7. package/dist/accessories/LocalLivestreamManager.d.ts +8 -1
  8. package/dist/accessories/LocalLivestreamManager.d.ts.map +1 -1
  9. package/dist/accessories/LocalLivestreamManager.js +56 -39
  10. package/dist/accessories/LocalLivestreamManager.js.map +1 -1
  11. package/dist/accessories/SnapshotManager.d.ts +58 -0
  12. package/dist/accessories/SnapshotManager.d.ts.map +1 -0
  13. package/dist/accessories/SnapshotManager.js +484 -0
  14. package/dist/accessories/SnapshotManager.js.map +1 -0
  15. package/dist/accessories/StationAccessory.d.ts +4 -0
  16. package/dist/accessories/StationAccessory.d.ts.map +1 -1
  17. package/dist/accessories/StationAccessory.js +55 -8
  18. package/dist/accessories/StationAccessory.js.map +1 -1
  19. package/dist/accessories/configTypes.d.ts +5 -0
  20. package/dist/accessories/configTypes.d.ts.map +1 -1
  21. package/dist/accessories/streamingDelegate.d.ts +3 -0
  22. package/dist/accessories/streamingDelegate.d.ts.map +1 -1
  23. package/dist/accessories/streamingDelegate.js +52 -24
  24. package/dist/accessories/streamingDelegate.js.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/platform.d.ts.map +1 -1
  28. package/dist/platform.js +1 -3
  29. package/dist/platform.js.map +1 -1
  30. package/dist/utils/utils.d.ts +5 -0
  31. package/dist/utils/utils.d.ts.map +1 -0
  32. package/dist/utils/utils.js +29 -0
  33. package/dist/utils/utils.js.map +1 -0
  34. package/homebridge-ui/public/index.html +162 -21
  35. package/homebridge-ui/public/js/main.js +73 -2
  36. package/homebridge-ui/server.js +5 -1
  37. package/media/Snapshot-black.png +0 -0
  38. package/package.json +8 -8
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Change Log
2
2
 
3
+ ## 2.0.1 (beta) (06/06/2022)
4
+
5
+ ### Changed
6
+ - Additional log output when station guard mode is changed (see [enhancement]: Logging basic operations such as guard mode change on the UI without debug mode #39)
7
+ - Edited description for livestream caching in configuration wizard
8
+ - Changed log output messages for better understanding
9
+ - Added error handling for misconfigured guard modes (possible fix [Bug]: Disarming Dufy Security Fails and Crashes Homebridge Server #52)
10
+ - Added timeouts for guard mode changes with corresponding log messages and one retry (possible fix for [Bug]: Eufy Indoor Cam 2k alarm state issue #38 and [enhancement]: Logging basic operations such as guard mode change on the UI without debug mode #39)
11
+ - Improved snapshot handling
12
+
13
+ ### Fixed
14
+ - [Bug]: package.json reqiures the wrong node version #44
15
+ - Bug where a local livestream cache may not have been shutdown properly and so subsequent livestreams would not be started
16
+ - A problem where motion events prevented the livestream cache to terminate properly (see [Bug]: Snapshot updates problem #43)
17
+ - Changed log file rotation behaviour to prevent race conditions with already moved log files (fix for #56)
18
+ - Sometimes motion events were not reset correctly, this will now be prevented
19
+ - Fix issue while New Config UI (2.0.0 and above) causes Push Notification to not work properly #59
20
+ - Livestreams could fail if videoconfig was wrongly updated by plugin
21
+ - First snapshots in balanced mode were failing since there weren't snapshots available
22
+
3
23
  ## 2.0 (25/05/2022)
4
24
 
5
25
  ### Added
package/README.md CHANGED
@@ -52,6 +52,7 @@ Homebridge plugin to control certain Eufy Security devices
52
52
  - **[samemory](https://github.com/samemory)**
53
53
  - **[schliemann](https://github.com/schliemann)**
54
54
  - **[lenoxys](https://github.com/lenoxys)**
55
+ - **[thieren](https://github.com/thieren)**
55
56
 
56
57
  Big thanks to **[bropat](https://github.com/bropat)** who made this possible. Please consider buying a coffee for him over here: https://ko-fi.com/bropat
57
58
 
@@ -14,6 +14,7 @@ export declare class CameraAccessory extends DeviceAccessory {
14
14
  protected CameraService: Service;
15
15
  readonly cameraConfig: CameraConfig;
16
16
  protected streamingDelegate: StreamingDelegate | null;
17
+ private motionTimeout?;
17
18
  constructor(platform: EufySecurityPlatform, accessory: PlatformAccessory, eufyDevice: Camera);
18
19
  private getCameraConfig;
19
20
  private cameraFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"CameraAccessory.d.ts","sourceRoot":"","sources":["../../src/accessories/CameraAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,OAAO,EAAE,MAAM,EAAoC,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAe,MAAM,eAAe,CAAC;AAE1D;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAElD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;IAEjC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;gBAG3D,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,MAAM;IAmHpB,OAAO,CAAC,eAAe;IAoBvB,OAAO,CAAC,cAAc;IAiDtB,6BAA6B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAM7D;;OAEG;IACH,6BAA6B,CAAC,KAAK,KAAA;IAInC;;OAEG;IACH,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAM5D;;OAEG;IACH,4BAA4B,CAAC,KAAK,KAAA;IAIlC;;OAEG;IACG,4CAA4C,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWlF;;OAEG;IACH,4CAA4C,CAAC,KAAK,KAAA;IAOlD;;OAEG;IACG,2BAA2B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWjE;;OAEG;IACH,2BAA2B,CAAC,KAAK,KAAA;IAOjC,OAAO,CAAC,cAAc;IA+BhB,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW7D,OAAO,CAAC,sCAAsC;IAaxC,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW/C,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWzD,eAAe,CAAC,KAAK,EAAE,mBAAmB;IAO1C,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWjD,iBAAiB,CAAC,KAAK,EAAE,mBAAmB;IAM5C,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWhD,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;CAKlD"}
1
+ {"version":3,"file":"CameraAccessory.d.ts","sourceRoot":"","sources":["../../src/accessories/CameraAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,OAAO,EAAE,MAAM,EAAoC,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAe,MAAM,eAAe,CAAC;AAE1D;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAElD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;IAEjC,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAE7D,OAAO,CAAC,aAAa,CAAC,CAAiB;gBAGrC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,MAAM;IAmHpB,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,cAAc;IAiDtB,6BAA6B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAM7D;;OAEG;IACH,6BAA6B,CAAC,KAAK,KAAA;IAInC;;OAEG;IACH,4BAA4B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAM5D;;OAEG;IACH,4BAA4B,CAAC,KAAK,KAAA;IAIlC;;OAEG;IACG,4CAA4C,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWlF;;OAEG;IACH,4CAA4C,CAAC,KAAK,KAAA;IAOlD;;OAEG;IACG,2BAA2B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWjE;;OAEG;IACH,2BAA2B,CAAC,KAAK,KAAA;IAOjC,OAAO,CAAC,cAAc;IA+BhB,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW7D,OAAO,CAAC,sCAAsC;IAyBxC,eAAe,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAW/C,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWzD,eAAe,CAAC,KAAK,EAAE,mBAAmB;IAO1C,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWjD,iBAAiB,CAAC,KAAK,EAAE,mBAAmB;IAM5C,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAWhD,gBAAgB,CAAC,KAAK,EAAE,mBAAmB;CAKlD"}
@@ -103,7 +103,7 @@ class CameraAccessory extends Device_1.DeviceAccessory {
103
103
  }
104
104
  }
105
105
  getCameraConfig() {
106
- var _a, _b, _c, _d, _e, _f;
106
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
107
107
  var config = {};
108
108
  if (typeof this.platform.config.cameras !== 'undefined') {
109
109
  var pos = this.platform.config.cameras.map(function (e) { return e.serialNumber; }).indexOf(this.eufyDevice.getSerial());
@@ -116,6 +116,12 @@ class CameraAccessory extends Device_1.DeviceAccessory {
116
116
  config.forcerefreshsnap = (_d = config.forcerefreshsnap) !== null && _d !== void 0 ? _d : (config.forcerefreshsnap = false);
117
117
  config.videoConfig = (_e = config.videoConfig) !== null && _e !== void 0 ? _e : (config.videoConfig = {});
118
118
  config.useCachedLocalLivestream = (_f = config.useCachedLocalLivestream) !== null && _f !== void 0 ? _f : (config.useCachedLocalLivestream = false);
119
+ config.immediateRingNotificationWithoutSnapshot = (_g = config.immediateRingNotificationWithoutSnapshot) !== null && _g !== void 0 ? _g : (config.immediateRingNotificationWithoutSnapshot = false);
120
+ config.useEnhancedSnapshotBehaviour = (_h = config.useEnhancedSnapshotBehaviour) !== null && _h !== void 0 ? _h : (config.useEnhancedSnapshotBehaviour = true);
121
+ config.delayCameraSnapshot = (_j = config.delayCameraSnapshot) !== null && _j !== void 0 ? _j : (config.delayCameraSnapshot = false);
122
+ if (!config.snapshotHandlingMethod) {
123
+ config.snapshotHandlingMethod = (config.forcerefreshsnap) ? 1 : 3;
124
+ }
119
125
  return config;
120
126
  }
121
127
  cameraFunction(accessory) {
@@ -248,8 +254,21 @@ class CameraAccessory extends Device_1.DeviceAccessory {
248
254
  }
249
255
  }
250
256
  onDeviceMotionDetectedPushNotification(device, motion) {
257
+ if (motion) {
258
+ this.motionTimeout = setTimeout(() => {
259
+ this.platform.log.debug(this.accessory.displayName, 'Reseting motion through timout.');
260
+ this.service
261
+ .getCharacteristic(this.characteristic.MotionDetected)
262
+ .updateValue(false);
263
+ }, 15000);
264
+ }
265
+ else {
266
+ if (this.motionTimeout) {
267
+ clearTimeout(this.motionTimeout);
268
+ }
269
+ }
251
270
  this.platform.log.debug(this.accessory.displayName, 'ON DeviceMotionDetected:', motion);
252
- if (this.cameraConfig.useCachedLocalLivestream && this.streamingDelegate) {
271
+ if (this.cameraConfig.useCachedLocalLivestream && this.streamingDelegate && motion) {
253
272
  this.streamingDelegate.prepareCachedStream();
254
273
  }
255
274
  this.service
@@ -1 +1 @@
1
- {"version":3,"file":"CameraAccessory.js","sourceRoot":"","sources":["../../src/accessories/CameraAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CameraAccessory.js","sourceRoot":"","sources":["../../src/accessories/CameraAccessory.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,17 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
2
4
  import { EventEmitter, Readable } from 'stream';
3
5
  import { Camera } from 'eufy-security-client';
4
6
  import { EufySecurityPlatform } from '../platform';
5
7
  import { Logger } from './logger';
6
8
  declare class AudiostreamProxy extends Readable {
9
+ private log;
7
10
  private cacheData;
8
11
  private pushNewDataImmediately;
9
- constructor();
12
+ private dataFramesCount;
13
+ constructor(log: Logger);
14
+ private transmitData;
10
15
  newAudioData(data: Buffer): void;
11
16
  stopProxyStream(): void;
12
17
  _read(size: number): void;
@@ -18,7 +23,9 @@ declare class VideostreamProxy extends Readable {
18
23
  private log;
19
24
  private killTimeout;
20
25
  private pushNewDataImmediately;
26
+ private dataFramesCount;
21
27
  constructor(id: number, cacheData: Array<Buffer>, manager: LocalLivestreamManager, log: Logger);
28
+ private transmitData;
22
29
  newVideoData(data: Buffer): void;
23
30
  stopProxyStream(): void;
24
31
  private resetKillTimeout;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalLivestreamManager.d.ts","sourceRoot":"","sources":["../../src/accessories/LocalLivestreamManager.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAmC,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAUlC,cAAM,gBAAiB,SAAQ,QAAQ;IAErC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,sBAAsB,CAAS;;IAMhC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAShC,eAAe,IAAI,IAAI;IAK9B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAU1B;AAED,cAAM,gBAAiB,SAAQ,QAAQ;IAErC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,WAAW,CAA+B;IAElD,OAAO,CAAC,sBAAsB,CAAS;gBAE3B,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM;IAUvF,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBhC,eAAe,IAAI,IAAI;IAQ9B,OAAO,CAAC,gBAAgB;IAUxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAY1B;AAED,aAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,gBAAgB,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,YAAY;IAEtD,OAAO,CAAC,QAAQ,CAAC,yCAAyC,CAAM;IAChE,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAK;IAEpD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,WAAW,CAAqB;IAExC,OAAO,CAAC,YAAY,CAA4C;IAEhE,OAAO,CAAC,YAAY,CAAU;IAE9B,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,kBAAkB,CAAC,CAAiB;IAE5C,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM;IA0B9F,OAAO,CAAC,UAAU;IAmBL,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;YAgBzC,0BAA0B;IAiCxC,OAAO,CAAC,kCAAkC;IAYnC,mBAAmB,IAAI,IAAI;IAKlC,OAAO,CAAC,uBAAuB;YAYjB,wBAAwB;IA4DtC,OAAO,CAAC,cAAc;IAiBf,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAUxC,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,QAAQ;CAYjB"}
1
+ {"version":3,"file":"LocalLivestreamManager.d.ts","sourceRoot":"","sources":["../../src/accessories/LocalLivestreamManager.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAmC,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAWlC,cAAM,gBAAiB,SAAQ,QAAQ;IAErC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,sBAAsB,CAAS;IAEvC,OAAO,CAAC,eAAe,CAAK;gBAEhB,GAAG,EAAE,MAAM;IAMvB,OAAO,CAAC,YAAY;IAKb,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAShC,eAAe,IAAI,IAAI;IAM9B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAU1B;AAED,cAAM,gBAAiB,SAAQ,QAAQ;IAErC,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,WAAW,CAA+B;IAElD,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,eAAe,CAAK;gBAEhB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM;IAU9F,OAAO,CAAC,YAAY;IAKb,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBhC,eAAe,IAAI,IAAI;IAS9B,OAAO,CAAC,gBAAgB;IAUxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAY1B;AAED,aAAK,WAAW,GAAG;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,gBAAgB,CAAC;IAC9B,WAAW,EAAE,gBAAgB,CAAC;CAC/B,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,YAAY;IAEtD,OAAO,CAAC,QAAQ,CAAC,yCAAyC,CAAM;IAChE,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAK;IAEpD,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,WAAW,CAAqB;IAExC,OAAO,CAAC,YAAY,CAA4C;IAEhE,OAAO,CAAC,YAAY,CAAU;IAE9B,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,kBAAkB,CAAC,CAAiB;IAE5C,OAAO,CAAC,mBAAmB,CAAgB;IAC3C,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM;IA0B9F,OAAO,CAAC,UAAU;IAgBL,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;YAkBzC,0BAA0B;IAiCxC,OAAO,CAAC,kCAAkC;IAgBnC,mBAAmB,IAAI,IAAI;IAMlC,OAAO,CAAC,uBAAuB;YAYjB,wBAAwB;IAgEtC,OAAO,CAAC,cAAc;IAiBf,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAUxC,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,iBAAiB;IAsCzB,OAAO,CAAC,QAAQ;CAYjB"}
@@ -3,21 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LocalLivestreamManager = void 0;
4
4
  const stream_1 = require("stream");
5
5
  class AudiostreamProxy extends stream_1.Readable {
6
- constructor() {
6
+ constructor(log) {
7
7
  super();
8
8
  this.cacheData = [];
9
9
  this.pushNewDataImmediately = false;
10
+ this.dataFramesCount = 0;
11
+ this.log = log;
12
+ }
13
+ transmitData(data) {
14
+ this.dataFramesCount++;
15
+ return this.push(data);
10
16
  }
11
17
  newAudioData(data) {
12
18
  if (this.pushNewDataImmediately) {
13
19
  this.pushNewDataImmediately = false;
14
- this.push(data);
20
+ this.transmitData(data);
15
21
  }
16
22
  else {
17
23
  this.cacheData.push(data);
18
24
  }
19
25
  }
20
26
  stopProxyStream() {
27
+ this.log.debug('Audiostream was stopped after transmission of ' + this.dataFramesCount + ' data chunks.');
21
28
  this.unpipe();
22
29
  this.destroy();
23
30
  }
@@ -25,7 +32,7 @@ class AudiostreamProxy extends stream_1.Readable {
25
32
  let pushReturn = true;
26
33
  while (this.cacheData.length > 0 && pushReturn) {
27
34
  const data = this.cacheData.shift();
28
- pushReturn = this.push(data);
35
+ pushReturn = this.transmitData(data);
29
36
  }
30
37
  if (pushReturn) {
31
38
  this.pushNewDataImmediately = true;
@@ -38,17 +45,22 @@ class VideostreamProxy extends stream_1.Readable {
38
45
  this.cacheData = [];
39
46
  this.killTimeout = null;
40
47
  this.pushNewDataImmediately = false;
48
+ this.dataFramesCount = 0;
41
49
  this.livestreamId = id;
42
50
  this.manager = manager;
43
51
  this.cacheData = cacheData;
44
52
  this.log = log;
45
53
  this.resetKillTimeout();
46
54
  }
55
+ transmitData(data) {
56
+ this.dataFramesCount++;
57
+ return this.push(data);
58
+ }
47
59
  newVideoData(data) {
48
60
  if (this.pushNewDataImmediately) {
49
61
  this.pushNewDataImmediately = false;
50
62
  try {
51
- if (this.push(data)) {
63
+ if (this.transmitData(data)) {
52
64
  this.resetKillTimeout();
53
65
  }
54
66
  }
@@ -61,6 +73,7 @@ class VideostreamProxy extends stream_1.Readable {
61
73
  }
62
74
  }
63
75
  stopProxyStream() {
76
+ this.log.debug('Videostream was stopped after transmission of ' + this.dataFramesCount + ' data chunks.');
64
77
  this.unpipe();
65
78
  this.destroy();
66
79
  if (this.killTimeout) {
@@ -72,7 +85,7 @@ class VideostreamProxy extends stream_1.Readable {
72
85
  clearTimeout(this.killTimeout);
73
86
  }
74
87
  this.killTimeout = setTimeout(() => {
75
- this.log.warn('Proxy Stream (id: ' + this.livestreamId + ') was terminated due to inactivity.');
88
+ this.log.warn('Proxy Stream (id: ' + this.livestreamId + ') was terminated due to inactivity. (no data transmitted in 15 seconds)');
76
89
  this.manager.stopProxyStream(this.livestreamId);
77
90
  }, 15000);
78
91
  }
@@ -81,7 +94,7 @@ class VideostreamProxy extends stream_1.Readable {
81
94
  let pushReturn = true;
82
95
  while (this.cacheData.length > 0 && pushReturn) {
83
96
  const data = this.cacheData.shift();
84
- pushReturn = this.push(data);
97
+ pushReturn = this.transmitData(data);
85
98
  }
86
99
  if (pushReturn) {
87
100
  this.pushNewDataImmediately = true;
@@ -93,7 +106,7 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
93
106
  super();
94
107
  this.SECONDS_UNTIL_TERMINATION_AFTER_LAST_USED = 45;
95
108
  this.CONNECTION_ESTABLISHED_TIMEOUT = 5;
96
- this.livestreamCount = 0;
109
+ this.livestreamCount = 1;
97
110
  this.iFrameCache = [];
98
111
  this.proxyStreams = new Set();
99
112
  this.livestreamIsStarting = false;
@@ -127,12 +140,9 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
127
140
  if (this.connectionTimeout) {
128
141
  clearTimeout(this.connectionTimeout);
129
142
  }
130
- if (this.terminationTimeout) {
131
- clearTimeout(this.terminationTimeout);
132
- }
133
143
  }
134
144
  async getLocalLivestream() {
135
- this.log.debug('New instance requests livestream. There were ' +
145
+ this.log.debug(this.device.getName(), 'New instance requests livestream. There were ' +
136
146
  this.proxyStreams.size + ' instance(s) using the livestream until now.');
137
147
  if (this.terminationTimeout) {
138
148
  clearTimeout(this.terminationTimeout);
@@ -140,7 +150,7 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
140
150
  const proxyStream = await this.getProxyStream();
141
151
  if (proxyStream) {
142
152
  const runtime = (Date.now() - this.livestreamStartedAt) / 1000;
143
- this.log.debug('Using livestream that was started ' + runtime + ' seconds ago. The cached stream has id: ' + proxyStream.id + '.');
153
+ this.log.debug(this.device.getName(), 'Using livestream that was started ' + runtime + ' seconds ago. The proxy stream has id: ' + proxyStream.id + '.');
144
154
  return proxyStream;
145
155
  }
146
156
  else {
@@ -149,7 +159,7 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
149
159
  }
150
160
  async startAndGetLocalLiveStream() {
151
161
  return new Promise((resolve, reject) => {
152
- this.log.debug('Start new local livestream...');
162
+ this.log.debug(this.device.getName(), 'Start new station livestream (P2P Session)...');
153
163
  if (!this.livestreamIsStarting) { // prevent multiple stream starts from eufy station
154
164
  this.livestreamIsStarting = true;
155
165
  this.platform.eufyClient.startStationLivestream(this.device.getSerial());
@@ -159,16 +169,16 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
159
169
  }
160
170
  this.connectionTimeout = setTimeout(() => {
161
171
  this.livestreamIsStarting = false;
162
- this.log.error('Local livestream didn\'t start in time. Abort livestream request.');
172
+ this.log.error(this.device.getName(), 'Local livestream didn\'t start in time. Abort livestream request.');
163
173
  reject('no started livestream found');
164
- }, this.CONNECTION_ESTABLISHED_TIMEOUT * 1000);
174
+ }, this.CONNECTION_ESTABLISHED_TIMEOUT * 2000);
165
175
  this.once('livestream start', async () => {
166
176
  if (this.connectionTimeout) {
167
177
  clearTimeout(this.connectionTimeout);
168
178
  }
169
179
  const proxyStream = await this.getProxyStream();
170
180
  if (proxyStream !== null) {
171
- this.log.debug('New livestream started. Proxy stream has id: ' + proxyStream.id + '.');
181
+ this.log.debug(this.device.getName(), 'New livestream started. Proxy stream has id: ' + proxyStream.id + '.');
172
182
  this.livestreamIsStarting = false;
173
183
  resolve(proxyStream);
174
184
  }
@@ -178,8 +188,10 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
178
188
  });
179
189
  });
180
190
  }
181
- scheduleLivestreamCacheTermination() {
182
- this.log.debug('Schedule livestream termination in ' + this.SECONDS_UNTIL_TERMINATION_AFTER_LAST_USED + ' seconds.');
191
+ scheduleLivestreamCacheTermination(streamingTimeLeft) {
192
+ // eslint-disable-next-line max-len
193
+ const terminationTime = ((streamingTimeLeft - this.SECONDS_UNTIL_TERMINATION_AFTER_LAST_USED) > 20) ? this.SECONDS_UNTIL_TERMINATION_AFTER_LAST_USED : streamingTimeLeft - 20;
194
+ this.log.debug(this.device.getName(), 'Schedule livestream termination in ' + terminationTime + ' seconds.');
183
195
  if (this.terminationTimeout) {
184
196
  clearTimeout(this.terminationTimeout);
185
197
  }
@@ -187,15 +199,16 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
187
199
  if (this.proxyStreams.size <= 0) {
188
200
  this.stopLocalLiveStream();
189
201
  }
190
- }, this.SECONDS_UNTIL_TERMINATION_AFTER_LAST_USED * 1000);
202
+ }, terminationTime * 1000);
191
203
  }
192
204
  stopLocalLiveStream() {
193
- this.log.debug('Stopping local livestream.');
205
+ this.log.debug(this.device.getName(), 'Stopping station livestream.');
194
206
  this.platform.eufyClient.stopStationLivestream(this.device.getSerial());
207
+ this.initialize();
195
208
  }
196
209
  onStationLivestreamStop(station, device) {
197
210
  if (device.getSerial() === this.device.getSerial()) {
198
- this.log.info(station.getName() + ' livestream for ' + device.getName() + ' has stopped.');
211
+ this.log.info(station.getName() + ' station livestream for ' + device.getName() + ' has stopped.');
199
212
  this.proxyStreams.forEach((proxyStream) => {
200
213
  proxyStream.audiostream.stopProxyStream();
201
214
  proxyStream.videostream.stopProxyStream();
@@ -206,6 +219,13 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
206
219
  }
207
220
  async onStationLivestreamStart(station, device, metadata, videostream, audiostream) {
208
221
  if (device.getSerial() === this.device.getSerial()) {
222
+ if (this.stationStream) {
223
+ const diff = (Date.now() - this.stationStream.createdAt) / 1000;
224
+ if (diff < 5) {
225
+ this.log.warn(this.device.getName(), 'Second livestream was started from station. Ignore.');
226
+ return;
227
+ }
228
+ }
209
229
  this.initialize(); // important to prevent unwanted behaviour when the eufy station emits the 'livestream start' event multiple times
210
230
  videostream.on('data', (data) => {
211
231
  if (this.isIFrame(data)) { // cache iFrames to speed up livestream encoding
@@ -219,16 +239,14 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
219
239
  });
220
240
  });
221
241
  videostream.on('error', (error) => {
222
- this.log.error('Local videostream had Error: ' + error);
242
+ this.log.error(this.device.getName(), 'Local videostream had Error: ' + error);
223
243
  this.stopAllProxyStreams();
224
244
  this.stopLocalLiveStream();
225
- this.initialize();
226
245
  });
227
246
  videostream.on('end', () => {
228
- this.log.debug('Local videostream has ended. Clean up.');
247
+ this.log.debug(this.device.getName(), 'Local videostream has ended. Clean up.');
229
248
  this.stopAllProxyStreams();
230
249
  this.stopLocalLiveStream();
231
- this.initialize();
232
250
  });
233
251
  audiostream.on('data', (data) => {
234
252
  this.proxyStreams.forEach((proxyStream) => {
@@ -236,21 +254,20 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
236
254
  });
237
255
  });
238
256
  audiostream.on('error', (error) => {
239
- this.log.error('Local audiostream had Error: ' + error);
257
+ this.log.error(this.device.getName(), 'Local audiostream had Error: ' + error);
240
258
  this.stopAllProxyStreams();
241
259
  this.stopLocalLiveStream();
242
- this.initialize();
243
260
  });
244
261
  audiostream.on('end', () => {
245
- this.log.debug('Local audiostream has ended. Clean up.');
262
+ this.log.debug(this.device.getName(), 'Local audiostream has ended. Clean up.');
246
263
  this.stopAllProxyStreams();
247
264
  this.stopLocalLiveStream();
248
- this.initialize();
249
265
  });
250
- this.log.info(station.getName() + ' livestream for ' + device.getName() + ' has started.');
266
+ this.log.info(station.getName() + ' station livestream (P2P session) for ' + device.getName() + ' has started.');
251
267
  this.livestreamStartedAt = Date.now();
252
- this.stationStream = { station, device, metadata, videostream, audiostream };
253
- this.log.debug('Stream metadata: ' + JSON.stringify(this.stationStream.metadata));
268
+ const createdAt = Date.now();
269
+ this.stationStream = { station, device, metadata, videostream, audiostream, createdAt };
270
+ this.log.debug(this.device.getName(), 'Stream metadata: ' + JSON.stringify(this.stationStream.metadata));
254
271
  this.emit('livestream start');
255
272
  }
256
273
  }
@@ -259,10 +276,10 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
259
276
  const id = this.livestreamCount;
260
277
  this.livestreamCount++;
261
278
  if (this.livestreamCount > 1024) {
262
- this.livestreamCount = 0;
279
+ this.livestreamCount = 1;
263
280
  }
264
281
  const videostream = new VideostreamProxy(id, this.iFrameCache, this, this.log);
265
- const audiostream = new AudiostreamProxy();
282
+ const audiostream = new AudiostreamProxy(this.log);
266
283
  const proxyStream = { id, videostream, audiostream };
267
284
  this.proxyStreams.add(proxyStream);
268
285
  return proxyStream;
@@ -294,10 +311,10 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
294
311
  });
295
312
  if (proxyStream !== null) {
296
313
  this.proxyStreams.delete(proxyStream);
297
- this.log.debug('One stream instance (id: ' + id + ') released livestream. There are now ' +
314
+ this.log.debug(this.device.getName(), 'One stream instance (id: ' + id + ') released livestream. There are now ' +
298
315
  this.proxyStreams.size + ' instance(s) using the livestream.');
299
316
  if (this.proxyStreams.size === 0) {
300
- this.log.debug('All stream instances have terminated.');
317
+ this.log.debug(this.device.getName(), 'All proxy instances to the livestream have terminated.');
301
318
  // check if minimum remaining livestream duration is more than 20 percent
302
319
  // of maximum streaming duration or at least 20 seconds
303
320
  // if so the termination of the livestream is scheduled
@@ -307,13 +324,13 @@ class LocalLivestreamManager extends stream_1.EventEmitter {
307
324
  const maxStreamingDuration = this.platform.eufyClient.getCameraMaxLivestreamDuration();
308
325
  const runtime = (Date.now() - ((this.livestreamStartedAt !== null) ? this.livestreamStartedAt : Date.now())) / 1000;
309
326
  if (((maxStreamingDuration - runtime) > maxStreamingDuration * 0.2) && (maxStreamingDuration - runtime) > 20 && this.cacheEnabled) {
310
- this.log.debug('Sufficient remaining livestream duration available.');
311
- this.scheduleLivestreamCacheTermination();
327
+ this.log.debug(this.device.getName(), 'Sufficient remaining livestream duration available. (' + (maxStreamingDuration - runtime) + ' seconds left)');
328
+ this.scheduleLivestreamCacheTermination(Math.floor(maxStreamingDuration - runtime));
312
329
  }
313
330
  else {
314
331
  // stop livestream immediately
315
332
  if (this.cacheEnabled) {
316
- this.log.debug('Not enough remaining livestream duration. Emptying livestream cache.');
333
+ this.log.debug(this.device.getName(), 'Not enough remaining livestream duration. Emptying livestream cache.');
317
334
  }
318
335
  this.stopLocalLiveStream();
319
336
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LocalLivestreamManager.js","sourceRoot":"","sources":["../../src/accessories/LocalLivestreamManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalLivestreamManager.js","sourceRoot":"","sources":["../../src/accessories/LocalLivestreamManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { EventEmitter } from 'node:stream';
4
+ import { Camera } from 'eufy-security-client';
5
+ import { CameraConfig } from './configTypes';
6
+ import { EufySecurityPlatform } from '../platform';
7
+ import { LocalLivestreamManager } from './LocalLivestreamManager';
8
+ import { Logger } from './logger';
9
+ /**
10
+ * possible performance settings:
11
+ * 1. snapshots as current as possible (weak homebridge performance) -> forceRefreshSnapshot
12
+ * - always get a new image from cloud or cam
13
+ * 2. balanced
14
+ * - start snapshot refresh but return snapshot as fast as possible
15
+ * if request takes too long old snapshot will be returned
16
+ * 3. get an old snapshot immediately -> !forceRefreshSnapshot
17
+ * - wait on cloud snapshot with new events
18
+ *
19
+ * extra options:
20
+ * - force refresh snapshots with interval
21
+ * - force immediate snapshot-reject when ringing
22
+ *
23
+ * Drawbacks: elapsed time in homekit might be wrong
24
+ */
25
+ export declare class SnapshotManager extends EventEmitter {
26
+ private readonly platform;
27
+ private readonly device;
28
+ private cameraConfig;
29
+ private readonly videoProcessor;
30
+ private log;
31
+ private livestreamManager;
32
+ private lastCloudSnapshot?;
33
+ private currentSnapshot?;
34
+ private blackSnapshot?;
35
+ private refreshProcessRunning;
36
+ private lastEvent;
37
+ private lastRingEvent;
38
+ private snapshotRefreshTimer?;
39
+ constructor(platform: EufySecurityPlatform, device: Camera, cameraConfig: CameraConfig, livestreamManager: LocalLivestreamManager, log: Logger);
40
+ private onRingEvent;
41
+ private onEvent;
42
+ getSnapshotBuffer(): Promise<Buffer>;
43
+ private getNewestSnapshotBuffer;
44
+ private getBalancedSnapshot;
45
+ private getNewestCloudSnapshot;
46
+ private automaticSnapshotRefresh;
47
+ private onPropertyValueChanged;
48
+ private getSnapshotFromCloud;
49
+ private handlePictureUrl;
50
+ private downloadImageData;
51
+ private isXMLNotImage;
52
+ private fetchCurrentCameraSnapshot;
53
+ private getCurrentCameraSnapshot;
54
+ private getCameraSource;
55
+ private urlsAreEqual;
56
+ private getUrlWithoutParameters;
57
+ }
58
+ //# sourceMappingURL=SnapshotManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SnapshotManager.d.ts","sourceRoot":"","sources":["../../src/accessories/SnapshotManager.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAuC,MAAM,sBAAsB,CAAC;AAGnF,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAyBlC;;;;;;;;;;;;;;;GAeG;AAEH,qBAAa,eAAgB,SAAQ,YAAY;IAE/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,YAAY,CAAe;IAEnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IAEzD,OAAO,CAAC,GAAG,CAAC;IACZ,OAAO,CAAC,iBAAiB,CAAC;IAE1B,OAAO,CAAC,iBAAiB,CAAC,CAAW;IACrC,OAAO,CAAC,eAAe,CAAC,CAAW;IACnC,OAAO,CAAC,aAAa,CAAC,CAAS;IAE/B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,oBAAoB,CAAC,CAAiB;gBAGlC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM;IAyD9I,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,OAAO;IAOF,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;YAiCnC,uBAAuB;YAuBvB,mBAAmB;YA2CnB,sBAAsB;IAgCpC,OAAO,CAAC,wBAAwB;YAalB,sBAAsB;YAMtB,oBAAoB;YAuBpB,gBAAgB;IAmC9B,OAAO,CAAC,iBAAiB;IAsCzB,OAAO,CAAC,aAAa;YAQP,0BAA0B;YA4B1B,wBAAwB;YA4ExB,eAAe;IA2B7B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,uBAAuB;CAOhC"}