homebridge-eufy-security 2.0.0-beta.7 → 2.0.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.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Change Log
2
2
 
3
- ## 2.0 (15/05/2022)
3
+ ## 2.0 (25/05/2022)
4
4
 
5
5
  ### Added
6
6
  - Local Livestream
@@ -16,6 +16,7 @@
16
16
 
17
17
  ### Changed
18
18
  - Upgrade to the latest bropat/eufy-security-client lib (2.0.1)
19
+ - Added livestream cache for local streaming (no rtsp) thanks @thieren
19
20
 
20
21
  ### Fixed
21
22
  - Updating some dep for security reason
@@ -26,6 +27,7 @@
26
27
  - Streaming issue while using Docker #308 (thanks @alternativ)
27
28
  - Fix issue on video stream while debug is disabled #356
28
29
  - Improve selecting Static Image / Local Live Stream / RTSP #382
30
+ - Improvements for local livestream caching and bugfixes #37 thanks @thieren
29
31
 
30
32
  ### Removed
31
33
  - Selecting Camera or Motion Sensor is now per camera
@@ -2,6 +2,7 @@ import { Service, PlatformAccessory, CharacteristicValue } from 'homebridge';
2
2
  import { EufySecurityPlatform } from '../platform';
3
3
  import { DeviceAccessory } from './Device';
4
4
  import { Camera } from 'eufy-security-client';
5
+ import { StreamingDelegate } from './streamingDelegate';
5
6
  import { CameraConfig } from './configTypes';
6
7
  /**
7
8
  * Platform Accessory
@@ -12,6 +13,7 @@ export declare class CameraAccessory extends DeviceAccessory {
12
13
  protected service: Service;
13
14
  protected CameraService: Service;
14
15
  readonly cameraConfig: CameraConfig;
16
+ protected streamingDelegate: StreamingDelegate | null;
15
17
  constructor(platform: EufySecurityPlatform, accessory: PlatformAccessory, eufyDevice: Camera);
16
18
  private getCameraConfig;
17
19
  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;AAGhF,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;gBAGzC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,MAAM;IAkHpB,OAAO,CAAC,eAAe;IAmBvB,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;IAUxC,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;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"}
@@ -15,6 +15,7 @@ const streamingDelegate_1 = require("./streamingDelegate");
15
15
  class CameraAccessory extends Device_1.DeviceAccessory {
16
16
  constructor(platform, accessory, eufyDevice) {
17
17
  super(platform, accessory, eufyDevice);
18
+ this.streamingDelegate = null;
18
19
  this.service = {};
19
20
  this.CameraService = {};
20
21
  this.cameraConfig = {};
@@ -27,6 +28,7 @@ class CameraAccessory extends Device_1.DeviceAccessory {
27
28
  this.CameraService = this.cameraFunction(accessory);
28
29
  this.CameraService.setPrimaryService(true);
29
30
  const delegate = new streamingDelegate_1.StreamingDelegate(this.platform, eufyDevice, this.cameraConfig, this.platform.api, this.platform.api.hap);
31
+ this.streamingDelegate = delegate;
30
32
  accessory.configureController(delegate.controller);
31
33
  }
32
34
  catch (Error) {
@@ -101,7 +103,7 @@ class CameraAccessory extends Device_1.DeviceAccessory {
101
103
  }
102
104
  }
103
105
  getCameraConfig() {
104
- var _a, _b, _c, _d, _e;
106
+ var _a, _b, _c, _d, _e, _f;
105
107
  var config = {};
106
108
  if (typeof this.platform.config.cameras !== 'undefined') {
107
109
  var pos = this.platform.config.cameras.map(function (e) { return e.serialNumber; }).indexOf(this.eufyDevice.getSerial());
@@ -113,6 +115,7 @@ class CameraAccessory extends Device_1.DeviceAccessory {
113
115
  config.rtsp = (_c = config.rtsp) !== null && _c !== void 0 ? _c : (config.rtsp = false);
114
116
  config.forcerefreshsnap = (_d = config.forcerefreshsnap) !== null && _d !== void 0 ? _d : (config.forcerefreshsnap = false);
115
117
  config.videoConfig = (_e = config.videoConfig) !== null && _e !== void 0 ? _e : (config.videoConfig = {});
118
+ config.useCachedLocalLivestream = (_f = config.useCachedLocalLivestream) !== null && _f !== void 0 ? _f : (config.useCachedLocalLivestream = false);
116
119
  return config;
117
120
  }
118
121
  cameraFunction(accessory) {
@@ -246,6 +249,9 @@ class CameraAccessory extends Device_1.DeviceAccessory {
246
249
  }
247
250
  onDeviceMotionDetectedPushNotification(device, motion) {
248
251
  this.platform.log.debug(this.accessory.displayName, 'ON DeviceMotionDetected:', motion);
252
+ if (this.cameraConfig.useCachedLocalLivestream && this.streamingDelegate) {
253
+ this.streamingDelegate.prepareCachedStream();
254
+ }
249
255
  this.service
250
256
  .getCharacteristic(this.characteristic.MotionDetected)
251
257
  .updateValue(motion);
@@ -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 +1 @@
1
- {"version":3,"file":"DoorbellCameraAccessory.d.ts","sourceRoot":"","sources":["../../src/accessories/DoorbellCameraAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAMnD,OAAO,EAAE,cAAc,EAAU,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAE1D,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IACzC,OAAO,CAAC,cAAc,CAAU;IAEhC,OAAO,CAAC,eAAe,CAAU;gBAG/B,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,cAAc;IAiC5B,OAAO,CAAC,6BAA6B;CAYtC"}
1
+ {"version":3,"file":"DoorbellCameraAccessory.d.ts","sourceRoot":"","sources":["../../src/accessories/DoorbellCameraAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAMnD,OAAO,EAAE,cAAc,EAAU,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAE1D,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IACzC,OAAO,CAAC,cAAc,CAAU;IAEhC,OAAO,CAAC,eAAe,CAAU;gBAG/B,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,cAAc;IAiC5B,OAAO,CAAC,6BAA6B;CAetC"}
@@ -30,6 +30,9 @@ class DoorbellCameraAccessory extends CameraAccessory_1.CameraAccessory {
30
30
  if (!this.ring_triggered) {
31
31
  this.ring_triggered = true;
32
32
  this.platform.log.debug(this.accessory.displayName, 'DoorBell ringing');
33
+ if (this.cameraConfig.useCachedLocalLivestream && this.streamingDelegate) {
34
+ this.streamingDelegate.prepareCachedStream();
35
+ }
33
36
  this.doorbellService
34
37
  .getCharacteristic(this.platform.Characteristic.ProgrammableSwitchEvent)
35
38
  .updateValue(this.platform.Characteristic.ProgrammableSwitchEvent.SINGLE_PRESS);
@@ -1 +1 @@
1
- {"version":3,"file":"DoorbellCameraAccessory.js","sourceRoot":"","sources":["../../src/accessories/DoorbellCameraAccessory.ts"],"names":[],"mappings":";;;AASA,uDAAoD;AAEpD;;;;GAIG;AACH,MAAa,uBAAwB,SAAQ,iCAAe;IAO1D,YACE,QAA8B,EAC9B,SAA4B,EAC5B,UAA0B;QAE1B,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QAEjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;QAE5E,IAAI,CAAC,eAAe;YAClB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACzD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE5D,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,0CAA0C;QAC1C,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EACjC,SAAS,CAAC,WAAW,CACtB,CAAC;QAEF,kEAAkE;QAClE,IAAI,CAAC,eAAe;aACjB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;aACvE,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAc,EAAE,KAAc,EAAE,EAAE,CACjE,IAAI,CAAC,6BAA6B,EAAE,CACrC,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE/C,CAAC;IAED,mJAAmJ;IAC3I,6BAA6B;QACnC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;YACxE,IAAI,CAAC,eAAe;iBACjB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;iBACvE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;SACnF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;IACH,CAAC;CAEF;AAvDD,0DAuDC"}
1
+ {"version":3,"file":"DoorbellCameraAccessory.js","sourceRoot":"","sources":["../../src/accessories/DoorbellCameraAccessory.ts"],"names":[],"mappings":";;;AASA,uDAAoD;AAEpD;;;;GAIG;AACH,MAAa,uBAAwB,SAAQ,iCAAe;IAO1D,YACE,QAA8B,EAC9B,SAA4B,EAC5B,UAA0B;QAE1B,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QAEjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;QAE5E,IAAI,CAAC,eAAe;YAClB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACzD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE5D,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,0CAA0C;QAC1C,IAAI,CAAC,eAAe,CAAC,iBAAiB,CACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EACjC,SAAS,CAAC,WAAW,CACtB,CAAC;QAEF,kEAAkE;QAClE,IAAI,CAAC,eAAe;aACjB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;aACvE,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,MAAc,EAAE,KAAc,EAAE,EAAE,CACjE,IAAI,CAAC,6BAA6B,EAAE,CACrC,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE/C,CAAC;IAED,mJAAmJ;IAC3I,6BAA6B;QACnC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;YACxE,IAAI,IAAI,CAAC,YAAY,CAAC,wBAAwB,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBACxE,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;aAC9C;YACD,IAAI,CAAC,eAAe;iBACjB,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC;iBACvE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;SACnF;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;SAC7B;IACH,CAAC;CAEF;AA1DD,0DA0DC"}
@@ -0,0 +1,62 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter, Readable } from 'stream';
3
+ import { Camera } from 'eufy-security-client';
4
+ import { EufySecurityPlatform } from '../platform';
5
+ import { Logger } from './logger';
6
+ declare class AudiostreamProxy extends Readable {
7
+ private cacheData;
8
+ private pushNewDataImmediately;
9
+ constructor();
10
+ newAudioData(data: Buffer): void;
11
+ stopProxyStream(): void;
12
+ _read(size: number): void;
13
+ }
14
+ declare class VideostreamProxy extends Readable {
15
+ private manager;
16
+ private livestreamId;
17
+ private cacheData;
18
+ private log;
19
+ private killTimeout;
20
+ private pushNewDataImmediately;
21
+ constructor(id: number, cacheData: Array<Buffer>, manager: LocalLivestreamManager, log: Logger);
22
+ newVideoData(data: Buffer): void;
23
+ stopProxyStream(): void;
24
+ private resetKillTimeout;
25
+ _read(size: number): void;
26
+ }
27
+ declare type ProxyStream = {
28
+ id: number;
29
+ videostream: VideostreamProxy;
30
+ audiostream: AudiostreamProxy;
31
+ };
32
+ export declare class LocalLivestreamManager extends EventEmitter {
33
+ private readonly SECONDS_UNTIL_TERMINATION_AFTER_LAST_USED;
34
+ private readonly CONNECTION_ESTABLISHED_TIMEOUT;
35
+ private stationStream;
36
+ private log;
37
+ private livestreamCount;
38
+ private iFrameCache;
39
+ private proxyStreams;
40
+ private cacheEnabled;
41
+ private connectionTimeout?;
42
+ private terminationTimeout?;
43
+ private livestreamStartedAt;
44
+ private livestreamIsStarting;
45
+ private readonly platform;
46
+ private readonly device;
47
+ constructor(platform: EufySecurityPlatform, device: Camera, cacheEnabled: boolean, log: Logger);
48
+ private initialize;
49
+ getLocalLivestream(): Promise<ProxyStream>;
50
+ private startAndGetLocalLiveStream;
51
+ private scheduleLivestreamCacheTermination;
52
+ stopLocalLiveStream(): void;
53
+ private onStationLivestreamStop;
54
+ private onStationLivestreamStart;
55
+ private getProxyStream;
56
+ stopProxyStream(id: number): void;
57
+ private stopAllProxyStreams;
58
+ private removeProxyStream;
59
+ private isIFrame;
60
+ }
61
+ export {};
62
+ //# sourceMappingURL=LocalLivestreamManager.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,337 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LocalLivestreamManager = void 0;
4
+ const stream_1 = require("stream");
5
+ class AudiostreamProxy extends stream_1.Readable {
6
+ constructor() {
7
+ super();
8
+ this.cacheData = [];
9
+ this.pushNewDataImmediately = false;
10
+ }
11
+ newAudioData(data) {
12
+ if (this.pushNewDataImmediately) {
13
+ this.pushNewDataImmediately = false;
14
+ this.push(data);
15
+ }
16
+ else {
17
+ this.cacheData.push(data);
18
+ }
19
+ }
20
+ stopProxyStream() {
21
+ this.unpipe();
22
+ this.destroy();
23
+ }
24
+ _read(size) {
25
+ let pushReturn = true;
26
+ while (this.cacheData.length > 0 && pushReturn) {
27
+ const data = this.cacheData.shift();
28
+ pushReturn = this.push(data);
29
+ }
30
+ if (pushReturn) {
31
+ this.pushNewDataImmediately = true;
32
+ }
33
+ }
34
+ }
35
+ class VideostreamProxy extends stream_1.Readable {
36
+ constructor(id, cacheData, manager, log) {
37
+ super();
38
+ this.cacheData = [];
39
+ this.killTimeout = null;
40
+ this.pushNewDataImmediately = false;
41
+ this.livestreamId = id;
42
+ this.manager = manager;
43
+ this.cacheData = cacheData;
44
+ this.log = log;
45
+ this.resetKillTimeout();
46
+ }
47
+ newVideoData(data) {
48
+ if (this.pushNewDataImmediately) {
49
+ this.pushNewDataImmediately = false;
50
+ try {
51
+ if (this.push(data)) {
52
+ this.resetKillTimeout();
53
+ }
54
+ }
55
+ catch (err) {
56
+ this.log.debug('Push of new data was not succesful. Most likely the target process (ffmpeg) was already terminated. Error: ' + err);
57
+ }
58
+ }
59
+ else {
60
+ this.cacheData.push(data);
61
+ }
62
+ }
63
+ stopProxyStream() {
64
+ this.unpipe();
65
+ this.destroy();
66
+ if (this.killTimeout) {
67
+ clearTimeout(this.killTimeout);
68
+ }
69
+ }
70
+ resetKillTimeout() {
71
+ if (this.killTimeout) {
72
+ clearTimeout(this.killTimeout);
73
+ }
74
+ this.killTimeout = setTimeout(() => {
75
+ this.log.warn('Proxy Stream (id: ' + this.livestreamId + ') was terminated due to inactivity.');
76
+ this.manager.stopProxyStream(this.livestreamId);
77
+ }, 15000);
78
+ }
79
+ _read(size) {
80
+ this.resetKillTimeout();
81
+ let pushReturn = true;
82
+ while (this.cacheData.length > 0 && pushReturn) {
83
+ const data = this.cacheData.shift();
84
+ pushReturn = this.push(data);
85
+ }
86
+ if (pushReturn) {
87
+ this.pushNewDataImmediately = true;
88
+ }
89
+ }
90
+ }
91
+ class LocalLivestreamManager extends stream_1.EventEmitter {
92
+ constructor(platform, device, cacheEnabled, log) {
93
+ super();
94
+ this.SECONDS_UNTIL_TERMINATION_AFTER_LAST_USED = 45;
95
+ this.CONNECTION_ESTABLISHED_TIMEOUT = 5;
96
+ this.livestreamCount = 0;
97
+ this.iFrameCache = [];
98
+ this.proxyStreams = new Set();
99
+ this.livestreamIsStarting = false;
100
+ this.log = log;
101
+ this.platform = platform;
102
+ this.device = device;
103
+ this.cacheEnabled = cacheEnabled;
104
+ if (this.cacheEnabled) {
105
+ this.log.debug('Livestream caching for ' + this.device.getName() + ' is enabled.');
106
+ }
107
+ this.stationStream = null;
108
+ this.livestreamStartedAt = null;
109
+ this.initialize();
110
+ this.platform.eufyClient.on('station livestream stop', (station, device) => {
111
+ this.onStationLivestreamStop(station, device);
112
+ });
113
+ this.platform.eufyClient.on('station livestream start', (station, device, metadata, videostream, audiostream) => {
114
+ this.onStationLivestreamStart(station, device, metadata, videostream, audiostream);
115
+ });
116
+ }
117
+ initialize() {
118
+ if (this.stationStream) {
119
+ this.stationStream.audiostream.unpipe();
120
+ this.stationStream.audiostream.destroy();
121
+ this.stationStream.videostream.unpipe();
122
+ this.stationStream.videostream.destroy();
123
+ }
124
+ this.stationStream = null;
125
+ this.iFrameCache = [];
126
+ this.livestreamStartedAt = null;
127
+ if (this.connectionTimeout) {
128
+ clearTimeout(this.connectionTimeout);
129
+ }
130
+ if (this.terminationTimeout) {
131
+ clearTimeout(this.terminationTimeout);
132
+ }
133
+ }
134
+ async getLocalLivestream() {
135
+ this.log.debug('New instance requests livestream. There were ' +
136
+ this.proxyStreams.size + ' instance(s) using the livestream until now.');
137
+ if (this.terminationTimeout) {
138
+ clearTimeout(this.terminationTimeout);
139
+ }
140
+ const proxyStream = await this.getProxyStream();
141
+ if (proxyStream) {
142
+ 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 + '.');
144
+ return proxyStream;
145
+ }
146
+ else {
147
+ return await this.startAndGetLocalLiveStream();
148
+ }
149
+ }
150
+ async startAndGetLocalLiveStream() {
151
+ return new Promise((resolve, reject) => {
152
+ this.log.debug('Start new local livestream...');
153
+ if (!this.livestreamIsStarting) { // prevent multiple stream starts from eufy station
154
+ this.livestreamIsStarting = true;
155
+ this.platform.eufyClient.startStationLivestream(this.device.getSerial());
156
+ }
157
+ if (this.connectionTimeout) {
158
+ clearTimeout(this.connectionTimeout);
159
+ }
160
+ this.connectionTimeout = setTimeout(() => {
161
+ this.livestreamIsStarting = false;
162
+ this.log.error('Local livestream didn\'t start in time. Abort livestream request.');
163
+ reject('no started livestream found');
164
+ }, this.CONNECTION_ESTABLISHED_TIMEOUT * 1000);
165
+ this.once('livestream start', async () => {
166
+ if (this.connectionTimeout) {
167
+ clearTimeout(this.connectionTimeout);
168
+ }
169
+ const proxyStream = await this.getProxyStream();
170
+ if (proxyStream !== null) {
171
+ this.log.debug('New livestream started. Proxy stream has id: ' + proxyStream.id + '.');
172
+ this.livestreamIsStarting = false;
173
+ resolve(proxyStream);
174
+ }
175
+ else {
176
+ reject('no started livestream found');
177
+ }
178
+ });
179
+ });
180
+ }
181
+ scheduleLivestreamCacheTermination() {
182
+ this.log.debug('Schedule livestream termination in ' + this.SECONDS_UNTIL_TERMINATION_AFTER_LAST_USED + ' seconds.');
183
+ if (this.terminationTimeout) {
184
+ clearTimeout(this.terminationTimeout);
185
+ }
186
+ this.terminationTimeout = setTimeout(() => {
187
+ if (this.proxyStreams.size <= 0) {
188
+ this.stopLocalLiveStream();
189
+ }
190
+ }, this.SECONDS_UNTIL_TERMINATION_AFTER_LAST_USED * 1000);
191
+ }
192
+ stopLocalLiveStream() {
193
+ this.log.debug('Stopping local livestream.');
194
+ this.platform.eufyClient.stopStationLivestream(this.device.getSerial());
195
+ }
196
+ onStationLivestreamStop(station, device) {
197
+ if (device.getSerial() === this.device.getSerial()) {
198
+ this.log.info(station.getName() + ' livestream for ' + device.getName() + ' has stopped.');
199
+ this.proxyStreams.forEach((proxyStream) => {
200
+ proxyStream.audiostream.stopProxyStream();
201
+ proxyStream.videostream.stopProxyStream();
202
+ this.removeProxyStream(proxyStream.id);
203
+ });
204
+ this.initialize();
205
+ }
206
+ }
207
+ async onStationLivestreamStart(station, device, metadata, videostream, audiostream) {
208
+ if (device.getSerial() === this.device.getSerial()) {
209
+ this.initialize(); // important to prevent unwanted behaviour when the eufy station emits the 'livestream start' event multiple times
210
+ videostream.on('data', (data) => {
211
+ if (this.isIFrame(data)) { // cache iFrames to speed up livestream encoding
212
+ this.iFrameCache = [data];
213
+ }
214
+ else if (this.iFrameCache.length > 0) {
215
+ this.iFrameCache.push(data);
216
+ }
217
+ this.proxyStreams.forEach((proxyStream) => {
218
+ proxyStream.videostream.newVideoData(data);
219
+ });
220
+ });
221
+ videostream.on('error', (error) => {
222
+ this.log.error('Local videostream had Error: ' + error);
223
+ this.stopAllProxyStreams();
224
+ this.stopLocalLiveStream();
225
+ this.initialize();
226
+ });
227
+ videostream.on('end', () => {
228
+ this.log.debug('Local videostream has ended. Clean up.');
229
+ this.stopAllProxyStreams();
230
+ this.stopLocalLiveStream();
231
+ this.initialize();
232
+ });
233
+ audiostream.on('data', (data) => {
234
+ this.proxyStreams.forEach((proxyStream) => {
235
+ proxyStream.audiostream.newAudioData(data);
236
+ });
237
+ });
238
+ audiostream.on('error', (error) => {
239
+ this.log.error('Local audiostream had Error: ' + error);
240
+ this.stopAllProxyStreams();
241
+ this.stopLocalLiveStream();
242
+ this.initialize();
243
+ });
244
+ audiostream.on('end', () => {
245
+ this.log.debug('Local audiostream has ended. Clean up.');
246
+ this.stopAllProxyStreams();
247
+ this.stopLocalLiveStream();
248
+ this.initialize();
249
+ });
250
+ this.log.info(station.getName() + ' livestream for ' + device.getName() + ' has started.');
251
+ this.livestreamStartedAt = Date.now();
252
+ this.stationStream = { station, device, metadata, videostream, audiostream };
253
+ this.log.debug('Stream metadata: ' + JSON.stringify(this.stationStream.metadata));
254
+ this.emit('livestream start');
255
+ }
256
+ }
257
+ getProxyStream() {
258
+ if (this.stationStream) {
259
+ const id = this.livestreamCount;
260
+ this.livestreamCount++;
261
+ if (this.livestreamCount > 1024) {
262
+ this.livestreamCount = 0;
263
+ }
264
+ const videostream = new VideostreamProxy(id, this.iFrameCache, this, this.log);
265
+ const audiostream = new AudiostreamProxy();
266
+ const proxyStream = { id, videostream, audiostream };
267
+ this.proxyStreams.add(proxyStream);
268
+ return proxyStream;
269
+ }
270
+ else {
271
+ return null;
272
+ }
273
+ }
274
+ stopProxyStream(id) {
275
+ this.proxyStreams.forEach((pStream) => {
276
+ if (pStream.id === id) {
277
+ pStream.audiostream.stopProxyStream();
278
+ pStream.videostream.stopProxyStream();
279
+ this.removeProxyStream(id);
280
+ }
281
+ });
282
+ }
283
+ stopAllProxyStreams() {
284
+ this.proxyStreams.forEach((proxyStream) => {
285
+ this.stopProxyStream(proxyStream.id);
286
+ });
287
+ }
288
+ removeProxyStream(id) {
289
+ let proxyStream = null;
290
+ this.proxyStreams.forEach((pStream) => {
291
+ if (pStream.id === id) {
292
+ proxyStream = pStream;
293
+ }
294
+ });
295
+ if (proxyStream !== null) {
296
+ this.proxyStreams.delete(proxyStream);
297
+ this.log.debug('One stream instance (id: ' + id + ') released livestream. There are now ' +
298
+ this.proxyStreams.size + ' instance(s) using the livestream.');
299
+ if (this.proxyStreams.size === 0) {
300
+ this.log.debug('All stream instances have terminated.');
301
+ // check if minimum remaining livestream duration is more than 20 percent
302
+ // of maximum streaming duration or at least 20 seconds
303
+ // if so the termination of the livestream is scheduled
304
+ // if a new livestream is initiated in that time (e.g. fetching a snapshot)
305
+ // the cached livestream can be used
306
+ // caching must also be enabled of course
307
+ const maxStreamingDuration = this.platform.eufyClient.getCameraMaxLivestreamDuration();
308
+ const runtime = (Date.now() - ((this.livestreamStartedAt !== null) ? this.livestreamStartedAt : Date.now())) / 1000;
309
+ if (((maxStreamingDuration - runtime) > maxStreamingDuration * 0.2) && (maxStreamingDuration - runtime) > 20 && this.cacheEnabled) {
310
+ this.log.debug('Sufficient remaining livestream duration available.');
311
+ this.scheduleLivestreamCacheTermination();
312
+ }
313
+ else {
314
+ // stop livestream immediately
315
+ if (this.cacheEnabled) {
316
+ this.log.debug('Not enough remaining livestream duration. Emptying livestream cache.');
317
+ }
318
+ this.stopLocalLiveStream();
319
+ }
320
+ }
321
+ }
322
+ }
323
+ isIFrame(data) {
324
+ const validValues = [64, 66, 68, 78, 101, 103];
325
+ if (data !== undefined && data.length > 0) {
326
+ if (data.length >= 5) {
327
+ const startcode = [...data.slice(0, 5)];
328
+ if (validValues.includes(startcode[3]) || validValues.includes(startcode[4])) {
329
+ return true;
330
+ }
331
+ }
332
+ }
333
+ return false;
334
+ }
335
+ }
336
+ exports.LocalLivestreamManager = LocalLivestreamManager;
337
+ //# sourceMappingURL=LocalLivestreamManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalLivestreamManager.js","sourceRoot":"","sources":["../../src/accessories/LocalLivestreamManager.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export declare type CameraConfig = {
17
17
  videoConfigEna: boolean;
18
18
  enableCamera: boolean;
19
19
  forcerefreshsnap: boolean;
20
+ useCachedLocalLivestream: boolean;
20
21
  };
21
22
  export declare type VideoConfig = {
22
23
  source?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"configTypes.d.ts","sourceRoot":"","sources":["../../src/accessories/configTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC"}
1
+ {"version":3,"file":"configTypes.d.ts","sourceRoot":"","sources":["../../src/accessories/configTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,oBAAY,WAAW,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC"}
@@ -21,11 +21,13 @@ declare type SessionInfo = {
21
21
  audioSSRC: number;
22
22
  };
23
23
  declare type ActiveSession = {
24
- mainProcess?: FfmpegProcess;
24
+ videoProcess?: FfmpegProcess;
25
+ audioProcess?: FfmpegProcess;
25
26
  timeout?: NodeJS.Timeout;
26
27
  socket?: Socket;
27
28
  uVideoStream?: NamePipeStream;
28
29
  uAudioStream?: NamePipeStream;
30
+ cachedStreamId?: number;
29
31
  };
30
32
  export declare class StreamingDelegate implements CameraStreamingDelegate {
31
33
  private readonly hap;
@@ -39,12 +41,12 @@ export declare class StreamingDelegate implements CameraStreamingDelegate {
39
41
  private snapshotPromise?;
40
42
  private readonly platform;
41
43
  private readonly device;
44
+ private localLivestreamManager;
42
45
  pendingSessions: Map<string, SessionInfo>;
43
46
  ongoingSessions: Map<string, ActiveSession>;
44
47
  timeouts: Map<string, NodeJS.Timeout>;
45
48
  constructor(platform: EufySecurityPlatform, device: Camera, cameraConfig: CameraConfig, api: API, hap: HAP);
46
49
  private determineResolution;
47
- private getLocalLiveStream;
48
50
  fetchSnapshot(snapFilter?: string): Promise<Buffer>;
49
51
  resizeSnapshot(snapshot: Buffer, resizeFilter?: string): Promise<Buffer>;
50
52
  handleSnapshotRequest(request: SnapshotRequest, callback: SnapshotRequestCallback): Promise<void>;
@@ -53,6 +55,7 @@ export declare class StreamingDelegate implements CameraStreamingDelegate {
53
55
  private generateVideoConfig;
54
56
  private generateInputSource;
55
57
  private is_rtsp_ready;
58
+ prepareCachedStream(): Promise<void>;
56
59
  private startStream;
57
60
  handleStreamRequest(request: StreamingRequest, callback: StreamRequestCallback): void;
58
61
  stopStream(sessionId: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"streamingDelegate.d.ts","sourceRoot":"","sources":["../../src/accessories/streamingDelegate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamingDelegate.d.ts","sourceRoot":"","sources":["../../src/accessories/streamingDelegate.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ const pick_port_1 = __importDefault(require("pick-port"));
11
11
  const ffmpeg_1 = require("./ffmpeg");
12
12
  const eufy_security_client_1 = require("eufy-security-client");
13
13
  const UniversalStream_1 = require("./UniversalStream");
14
+ const LocalLivestreamManager_1 = require("./LocalLivestreamManager");
14
15
  const fs_1 = require("fs");
15
16
  const path_1 = __importDefault(require("path"));
16
17
  const util_1 = require("util");
@@ -32,10 +33,12 @@ class StreamingDelegate {
32
33
  this.cameraConfig = cameraConfig;
33
34
  this.videoConfig = cameraConfig.videoConfig;
34
35
  this.videoProcessor = ffmpeg_for_homebridge_1.default || 'ffmpeg';
36
+ this.localLivestreamManager = new LocalLivestreamManager_1.LocalLivestreamManager(this.platform, this.device, this.cameraConfig.useCachedLocalLivestream, this.log);
35
37
  this.api.on("shutdown" /* SHUTDOWN */, () => {
36
38
  for (const session in this.ongoingSessions) {
37
39
  this.stopStream(session);
38
40
  }
41
+ this.localLivestreamManager.stopLocalLiveStream();
39
42
  });
40
43
  const options = {
41
44
  cameraStreamCount: this.videoConfig.maxStreams || 2,
@@ -110,23 +113,13 @@ class StreamingDelegate {
110
113
  }
111
114
  return resInfo;
112
115
  }
113
- async getLocalLiveStream() {
114
- return new Promise((resolve, reject) => {
115
- this.platform.eufyClient.startStationLivestream(this.device.getSerial());
116
- this.platform.eufyClient.on('station livestream start', (station, device, metadata, videostream, audiostream) => {
117
- if (device.getSerial() === this.device.getSerial()) {
118
- const stationStream = { station, device, metadata, videostream, audiostream };
119
- resolve(stationStream);
120
- }
121
- });
122
- });
123
- }
124
116
  fetchSnapshot(snapFilter) {
125
117
  return new Promise(async (resolve, reject) => {
126
118
  let inputChanged = false;
127
119
  let uVideoStream;
128
120
  let ffmpegInput;
129
121
  const rtsp = this.is_rtsp_ready();
122
+ let livestreamIdToRelease = null;
130
123
  try {
131
124
  if (false) {
132
125
  ffmpegInput = ['-re', '-loop', '1', '-i', offlineImage];
@@ -161,9 +154,10 @@ class StreamingDelegate {
161
154
  }
162
155
  else {
163
156
  try {
164
- const streamData = await this.getLocalLiveStream().catch(err => {
157
+ const streamData = await this.localLivestreamManager.getLocalLivestream().catch(err => {
165
158
  throw err;
166
159
  });
160
+ livestreamIdToRelease = streamData.id;
167
161
  uVideoStream = (0, UniversalStream_1.StreamInput)(streamData.videostream, this.cameraName + '_video', this.platform.eufyPath, this.log);
168
162
  this.videoConfig.source = '-i ' + uVideoStream.url;
169
163
  ffmpegInput = this.generateInputSource(this.videoConfig, this.videoConfig.source).split(/\s+/);
@@ -204,7 +198,9 @@ class StreamingDelegate {
204
198
  else {
205
199
  reject('Failed to fetch snapshot.');
206
200
  }
207
- this.platform.eufyClient.stopStationLivestream(this.device.getSerial());
201
+ if (livestreamIdToRelease !== null) {
202
+ this.localLivestreamManager.stopProxyStream(livestreamIdToRelease);
203
+ }
208
204
  setTimeout(() => {
209
205
  this.log.debug('Setting snapshotPromise to undefined.');
210
206
  this.snapshotPromise = undefined;
@@ -444,6 +440,12 @@ class StreamingDelegate {
444
440
  }
445
441
  return true;
446
442
  }
443
+ async prepareCachedStream() {
444
+ if (!this.is_rtsp_ready()) {
445
+ const proxyStream = await this.localLivestreamManager.getLocalLivestream();
446
+ this.localLivestreamManager.stopProxyStream(proxyStream.id);
447
+ }
448
+ }
447
449
  async startStream(request, callback) {
448
450
  const sessionInfo = this.pendingSessions.get(request.sessionID);
449
451
  if (sessionInfo) {
@@ -452,6 +454,7 @@ class StreamingDelegate {
452
454
  let uVideoStream;
453
455
  let uAudioStream;
454
456
  let ffmpegInput;
457
+ let cachedStreamId = null;
455
458
  const rtsp = this.is_rtsp_ready();
456
459
  if (false) {
457
460
  ffmpegInput = ['-re', '-loop', '1', '-i', offlineImage];
@@ -469,9 +472,10 @@ class StreamingDelegate {
469
472
  }
470
473
  else {
471
474
  try {
472
- const streamData = await this.getLocalLiveStream().catch(err => {
475
+ const streamData = await this.localLivestreamManager.getLocalLivestream().catch(err => {
473
476
  throw err;
474
477
  });
478
+ cachedStreamId = streamData.id;
475
479
  uVideoStream = (0, UniversalStream_1.StreamInput)(streamData.videostream, this.cameraName + '_video', this.platform.eufyPath, this.log);
476
480
  uAudioStream = (0, UniversalStream_1.StreamInput)(streamData.audiostream, this.cameraName + '_audio', this.platform.eufyPath, this.log);
477
481
  this.videoConfig.source = '-i ' + uVideoStream.url;
@@ -503,7 +507,7 @@ class StreamingDelegate {
503
507
  ? 'native'
504
508
  : `${resolution.width}x${resolution.height}, ${fps} fps, ${videoBitrate} kbps ${this.videoConfig.audio ? ' (' + request.audio.codec + ')' : ''}`;
505
509
  this.log.info(this.cameraName, `Starting video stream: ${resolutionText}`);
506
- let ffmpegArgs = [
510
+ let ffmpegVideoArgs = [
507
511
  '-hide_banner',
508
512
  '-loglevel',
509
513
  `level${this.videoConfig.debug ? '+verbose' : ''}`,
@@ -511,51 +515,62 @@ class StreamingDelegate {
511
515
  ...ffmpegInput,
512
516
  ];
513
517
  if (!inputChanged && !prebufferInput && this.videoConfig.mapvideo) {
514
- ffmpegArgs.push('-map', this.videoConfig.mapvideo);
518
+ ffmpegVideoArgs.push('-map', this.videoConfig.mapvideo);
515
519
  }
516
520
  else {
517
- ffmpegArgs.push('-an', '-sn', '-dn');
521
+ ffmpegVideoArgs.push('-an', '-sn', '-dn');
518
522
  }
519
523
  if (fps) {
520
- ffmpegArgs.push('-r', fps);
524
+ ffmpegVideoArgs.push('-r', fps);
521
525
  }
522
- ffmpegArgs.push('-vcodec', inputChanged ? (this.videoConfig.vcodec === 'copy' ? 'libx264' : this.videoConfig.vcodec) : this.videoConfig.vcodec, '-pix_fmt', 'yuv420p', '-color_range', 'mpeg', '-f', 'rawvideo');
526
+ ffmpegVideoArgs.push('-vcodec', inputChanged ? (this.videoConfig.vcodec === 'copy' ? 'libx264' : this.videoConfig.vcodec) : this.videoConfig.vcodec, '-pix_fmt', 'yuv420p', '-color_range', 'mpeg', '-f', 'rawvideo');
523
527
  if (encoderOptions) {
524
- ffmpegArgs.push(...encoderOptions.split(/\s+/));
528
+ ffmpegVideoArgs.push(...encoderOptions.split(/\s+/));
525
529
  }
526
530
  if (resolution.videoFilter) {
527
- ffmpegArgs.push('-filter:v', ...resolution.videoFilter.split(/\s+/));
531
+ ffmpegVideoArgs.push('-filter:v', ...resolution.videoFilter.split(/\s+/));
528
532
  }
529
533
  if (videoBitrate > 0) {
530
- ffmpegArgs.push('-b:v', `${videoBitrate}k`);
534
+ ffmpegVideoArgs.push('-b:v', `${videoBitrate}k`);
531
535
  }
532
536
  if (bufsize > 0) {
533
- ffmpegArgs.push('-bufsize', `${bufsize}k`);
537
+ ffmpegVideoArgs.push('-bufsize', `${bufsize}k`);
534
538
  }
535
539
  if (maxrate > 0) {
536
- ffmpegArgs.push('-maxrate', `${maxrate}k`);
540
+ ffmpegVideoArgs.push('-maxrate', `${maxrate}k`);
537
541
  }
538
- ffmpegArgs.push(// Video Stream
542
+ ffmpegVideoArgs.push(// Video Stream
539
543
  '-payload_type ' + request.video.pt, '-ssrc ' + sessionInfo.videoSSRC, '-f rtp', '-srtp_out_suite AES_CM_128_HMAC_SHA1_80', '-srtp_out_params ' + sessionInfo.videoSRTP.toString('base64'), 'srtp://' + sessionInfo.address + ':' + sessionInfo.videoPort +
540
544
  '?rtcpport=' + sessionInfo.videoPort + '&pkt_size=' + this.videoConfig.packetSize);
541
- if (request.audio.codec === "OPUS" /* OPUS */ || request.audio.codec === "AAC-eld" /* AAC_ELD */) {
545
+ const ffmpegAudioArgs = [];
546
+ const useAudio = (request.audio.codec === "OPUS" /* OPUS */ ||
547
+ request.audio.codec === "AAC-eld" /* AAC_ELD */);
548
+ if (useAudio) {
542
549
  if (!rtsp) {
543
- ffmpegArgs.push(`-i ${uAudioStream.url}`);
550
+ ffmpegAudioArgs.push(`-i ${uAudioStream.url}`);
551
+ }
552
+ else {
553
+ ffmpegAudioArgs.push(...ffmpegInput);
544
554
  }
545
- ffmpegArgs.push(// Audio
546
- (this.videoConfig.mapaudio ? '-map ' + this.videoConfig.mapaudio : '-vn -sn -dn'), (request.audio.codec === "OPUS" /* OPUS */ ?
555
+ ffmpegAudioArgs.push(// Audio
556
+ '-vn -sn -dn', (request.audio.codec === "OPUS" /* OPUS */ ?
547
557
  '-codec:a libopus' + ' -application lowdelay' :
548
558
  '-codec:a libfdk_aac' + ' -profile:a aac_eld'), '-flags +global_header', '-ar ' + request.audio.sample_rate + 'k', '-b:a ' + request.audio.max_bit_rate + 'k', '-ac ' + request.audio.channel, '-payload_type ' + request.audio.pt);
549
- ffmpegArgs.push(// Audio Stream
559
+ ffmpegAudioArgs.push(// Audio Stream
550
560
  '-ssrc ' + sessionInfo.audioSSRC, '-f rtp', '-srtp_out_suite AES_CM_128_HMAC_SHA1_80', '-srtp_out_params ' + sessionInfo.audioSRTP.toString('base64'), 'srtp://' + sessionInfo.address + ':' + sessionInfo.audioPort +
551
561
  '?rtcpport=' + sessionInfo.audioPort + '&pkt_size=188');
552
562
  }
553
563
  else {
554
564
  this.log.error(this.cameraName, 'Unsupported audio codec requested: ' + request.audio.codec);
555
565
  }
556
- ffmpegArgs.push('-progress pipe:1');
557
- const clean_ffmpegArgs = ffmpegArgs.filter(function (el) { return el; });
566
+ ffmpegVideoArgs.push('-progress pipe:1');
567
+ ffmpegAudioArgs.push('-progress pipe:1');
568
+ const clean_ffmpegVideoArgs = ffmpegVideoArgs.filter(function (el) { return el; });
569
+ const clean_ffmpegAudioArgs = ffmpegAudioArgs.filter(function (el) { return el; });
558
570
  const activeSession = {};
571
+ if (cachedStreamId !== null) {
572
+ activeSession.cachedStreamId = cachedStreamId;
573
+ }
559
574
  activeSession.socket = (0, dgram_1.createSocket)(sessionInfo.ipv6 ? 'udp6' : 'udp4');
560
575
  activeSession.socket.on('error', (err) => {
561
576
  this.log.error(this.cameraName, 'Socket error: ' + err.message);
@@ -574,7 +589,10 @@ class StreamingDelegate {
574
589
  activeSession.socket.bind(sessionInfo.videoReturnPort);
575
590
  activeSession.uVideoStream = uVideoStream;
576
591
  activeSession.uAudioStream = uAudioStream;
577
- activeSession.mainProcess = new ffmpeg_1.FfmpegProcess(this.cameraName, request.sessionID, this.videoProcessor, clean_ffmpegArgs, this.log, this.videoConfig.debug, this, callback);
592
+ activeSession.videoProcess = new ffmpeg_1.FfmpegProcess(this.cameraName, request.sessionID, this.videoProcessor, clean_ffmpegVideoArgs, this.log, this.videoConfig.debug, this, callback);
593
+ if (useAudio) {
594
+ activeSession.audioProcess = new ffmpeg_1.FfmpegProcess(this.cameraName, request.sessionID, this.videoProcessor, clean_ffmpegAudioArgs, this.log, this.videoConfig.debug, this);
595
+ }
578
596
  if (!this.cameraConfig.rtsp) {
579
597
  // streamData.station.on('livestream stop', (station: Station, channel: number) => {
580
598
  // if (this.platform.eufyClient.getStationDevice(station.getSerial(), channel).getSerial() === this.device.getSerial()) {
@@ -621,7 +639,7 @@ class StreamingDelegate {
621
639
  }
622
640
  }
623
641
  stopStream(sessionId) {
624
- var _a, _b, _c, _d;
642
+ var _a, _b, _c, _d, _e;
625
643
  this.log.debug('Stopping session with id: ' + sessionId);
626
644
  const pendingSession = this.pendingSessions.get(sessionId);
627
645
  if (pendingSession) {
@@ -633,29 +651,35 @@ class StreamingDelegate {
633
651
  clearTimeout(session.timeout);
634
652
  }
635
653
  try {
636
- (_a = session.mainProcess) === null || _a === void 0 ? void 0 : _a.stop();
654
+ (_a = session.videoProcess) === null || _a === void 0 ? void 0 : _a.stop();
637
655
  }
638
656
  catch (err) {
639
- this.log.error(this.cameraName, 'Error occurred terminating main FFmpeg process: ' + err);
657
+ this.log.error(this.cameraName, 'Error occurred terminating video FFmpeg process: ' + err);
640
658
  }
641
659
  try {
642
- (_b = session.socket) === null || _b === void 0 ? void 0 : _b.close();
660
+ (_b = session.audioProcess) === null || _b === void 0 ? void 0 : _b.stop();
661
+ }
662
+ catch (err) {
663
+ this.log.error(this.cameraName, 'Error occurred terminating audio FFmpeg process: ' + err);
664
+ }
665
+ try {
666
+ (_c = session.socket) === null || _c === void 0 ? void 0 : _c.close();
643
667
  }
644
668
  catch (err) {
645
669
  this.log.error(this.cameraName, 'Error occurred closing socket: ' + err);
646
670
  }
647
671
  try {
648
672
  if (!this.cameraConfig.rtsp) {
649
- (_c = session.uVideoStream) === null || _c === void 0 ? void 0 : _c.close();
650
- (_d = session.uAudioStream) === null || _d === void 0 ? void 0 : _d.close();
673
+ (_d = session.uVideoStream) === null || _d === void 0 ? void 0 : _d.close();
674
+ (_e = session.uAudioStream) === null || _e === void 0 ? void 0 : _e.close();
651
675
  }
652
676
  }
653
677
  catch (err) {
654
678
  this.log.error(this.cameraName, 'Error occurred Universal Stream: ' + err);
655
679
  }
656
680
  try {
657
- if (!this.cameraConfig.rtsp) {
658
- this.platform.eufyClient.stopStationLivestream(this.device.getSerial());
681
+ if (!this.cameraConfig.rtsp && session.cachedStreamId) {
682
+ this.localLivestreamManager.stopProxyStream(session.cachedStreamId);
659
683
  }
660
684
  }
661
685
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"streamingDelegate.js","sourceRoot":"","sources":["../../src/accessories/streamingDelegate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streamingDelegate.js","sourceRoot":"","sources":["../../src/accessories/streamingDelegate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AACA,OAAO,EACL,GAAG,EACH,qBAAqB,EACrB,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,cAAc,EACf,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAYtD,OAAO,EACL,YAAY,EAYb,MAAM,sBAAsB,CAAC;AAM9B,qBAAa,oBAAqB,YAAW,qBAAqB;aAiB9C,KAAK,EAAE,MAAM;aAEb,GAAG,EAAE,GAAG;IAlB1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAE7E,UAAU,MAAC;IAGlB,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IAC/C,MAAM,EAAE,0BAA0B,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAqB;IAEhC,GAAG,MAAC;IACJ,MAAM,MAAC;IAEd,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAGf,KAAK,EAAE,MAAM,EAC7B,MAAM,EAAE,cAAc,EACN,GAAG,EAAE,GAAG;YA2FZ,WAAW;YAgBX,cAAc;IAS5B;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAOzC,eAAe;IAgKrB,OAAO,CAAC,kBAAkB;IAmHb,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBtD,cAAc,CAAC,EAAE,EAAE,MAAM;IAIhC,OAAO,CAAC,YAAY;CAmCrB"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AACA,OAAO,EACL,GAAG,EACH,qBAAqB,EACrB,MAAM,EACN,iBAAiB,EACjB,cAAc,EACd,OAAO,EACP,cAAc,EACf,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAYtD,OAAO,EACL,YAAY,EAYb,MAAM,sBAAsB,CAAC;AAM9B,qBAAa,oBAAqB,YAAW,qBAAqB;aAiB9C,KAAK,EAAE,MAAM;aAEb,GAAG,EAAE,GAAG;IAlB1B,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAE7E,UAAU,MAAC;IAGlB,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IAC/C,MAAM,EAAE,0BAA0B,CAAC;IAC1C,OAAO,CAAC,UAAU,CAAqB;IAEhC,GAAG,MAAC;IACJ,MAAM,MAAC;IAEd,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBAGf,KAAK,EAAE,MAAM,EAC7B,MAAM,EAAE,cAAc,EACN,GAAG,EAAE,GAAG;YA2FZ,WAAW;YAgBX,cAAc;IAS5B;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAOzC,eAAe;IAgKrB,OAAO,CAAC,kBAAkB;IAqHb,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBtD,cAAc,CAAC,EAAE,EAAE,MAAM;IAIhC,OAAO,CAAC,YAAY;CAmCrB"}
package/dist/platform.js CHANGED
@@ -319,6 +319,8 @@ class EufySecurityPlatform {
319
319
  case eufy_security_client_1.DeviceType.DOORBELL:
320
320
  case eufy_security_client_1.DeviceType.BATTERY_DOORBELL:
321
321
  case eufy_security_client_1.DeviceType.BATTERY_DOORBELL_2:
322
+ case eufy_security_client_1.DeviceType.BATTERY_DOORBELL_PLUS:
323
+ case eufy_security_client_1.DeviceType.DOORBELL_SOLO:
322
324
  a = new DoorbellCameraAccessory_1.DoorbellCameraAccessory(this, accessory, device);
323
325
  unbridge = (a.cameraConfig.enableCamera) ? (_b = (_d = a.cameraConfig).unbridge) !== null && _b !== void 0 ? _b : (_d.unbridge = false) : false;
324
326
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":";;;;;;AAWA,yCAAwD;AAMxD,qEAAkE;AAClE,6EAA0E;AAC1E,+EAA4E;AAC5E,mEAAgE;AAChE,mFAAgF;AAEhF,yEAAsE;AAEtE,+DAa8B;AAE9B,oDAA4B;AAC5B,8EAAoD;AACpD,4CAAoB;AAEpB,MAAa,oBAAoB;IAgB/B,YACkB,KAAa,EAC7B,MAAsB,EACN,GAAQ;;;QAFR,UAAK,GAAL,KAAK,CAAQ;QAEb,QAAG,GAAH,GAAG,CAAK;QAlBV,YAAO,GAAmB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;QAC/C,mBAAc,GAA0B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC;QAIpF,oDAAoD;QACpC,gBAAW,GAAwB,EAAE,CAAC;QAcpD,IAAI,CAAC,MAAM,GAAG,MAAoC,CAAC;QAEnD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,eAAe,CAAC;QAE9D,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAE1C,IAAI,CAAC,GAAG,GAAG,gBAAM,CAAC,YAAY,CAAC;YAC7B,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAAC,OAAO,GAAG,GAAG;YAC7C,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBAC7D,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,IAAA,6BAAiB,EAAC;wBACxB,UAAU,EAAE,IAAI;wBAChB,WAAW,EAAE,KAAK;wBAClB,OAAO,EAAE,KAAK;wBACd,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;4BACjB,OAAO,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC;wBAClD,CAAC;qBACF,CAAC;iBACH,EAAE;oBACD,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBAC7D,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,cAAc;oBACpC,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,CAAC,EAAS,qBAAqB;iBACvC,CAAC;YACF,WAAW,EAAE,6BAAiB,CAAC,cAAc;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,gBAAM,CAAC,YAAY,CAAC;YAChC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAAC,OAAO,GAAG,GAAG;YAC7C,QAAQ,EAAE,EAAE;YACZ,OAAO,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBAC7D,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,cAAc;oBACpC,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,CAAC,EAAS,qBAAqB;iBACvC,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;QAE3G,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACjC,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,UAAU,GAAG;YAChB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,OAAO,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,OAAO,mCAAI,IAAI;YACpC,QAAQ,EAAE,IAAI;YACd,aAAa,EAAE,IAAI,CAAC,QAAQ;YAC5B,kBAAkB,EAAE,CAAC;YACrB,sBAAsB,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,sBAAsB,mCAAI,EAAE;YAChE,oBAAoB,EAAE,EAAE;SACH,CAAC;QAExB,IAAI,CAAC,MAAM,CAAC,cAAc,eAAG,IAAI,CAAC,MAAM,EAAC,cAAc,uCAAd,cAAc,GAAK,EAAE,CAAA,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,aAAa,eAAG,IAAI,CAAC,MAAM,EAAC,aAAa,uCAAb,aAAa,GAAK,EAAE,CAAA,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,UAAU,eAAG,IAAI,CAAC,MAAM,EAAC,UAAU,uCAAV,UAAU,GAAK,IAAI,CAAA,CAAC;QAEzD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAA,IAAI,CAAC,MAAM,CAAC,OAAO,mCAAI,IAAI,CAAC,CAAC;QAE3D,4EAA4E;QAC5E,mGAAmG;QACnG,IAAI,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,EAAE;YACnE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YACzD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC,EAAE;gBACtD,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,kBAAkB,EAAE,IAAI,CAAC,QAAQ,GAAG,kBAAkB,EAAE,YAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;aACnI;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACtD;YACD,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,kBAAkB,CAAC,CAAC;SACjE;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,WAAW;QAEvB,IAAI;YACF,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;gBACnD,CAAC,CAAC,MAAM,mCAAY,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBAC7D,CAAC,CAAC,MAAM,mCAAY,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpD;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACjD,OAAO;SACR;QAED,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAE/B,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI;YACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;SACrC;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC;SAC9C;IACH,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,SAA4B;QAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAEvE,wGAAwG;QACxG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,eAAe;;QACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAErC,IAAI;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;SACzE;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC;SACnD;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACjD,OAAO;SACR;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAExC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YACtC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;YACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,2BAA2B,mCAAI,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,EAAE,IAAI,CAAC,UAAU,CAAC,8BAA8B,EAAE,CAAC,CAAC;QAEjG,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;QAE9D,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE;YAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,eAAe,EACf,OAAO,CAAC,SAAS,EAAE,EACnB,OAAO,CAAC,OAAO,EAAE,EACjB,iCAAU,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,EACnC,OAAO,CAAC,eAAe,EAAE,CAC1B,CAAC;YAEF,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,CAAC,EAAE;gBACpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;aAC/F;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;gBACtG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;gBACpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACtF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;aAC7F;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;gBAClE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACjC,SAAS;aACV;YAED,MAAM,eAAe,GAAoB;gBACvC,gBAAgB,EAAE;oBAChB,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE;oBAC7B,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE;oBAC9B,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE;oBAC7B,OAAO,EAAE,IAAI;iBACM;gBACrB,UAAU,EAAE,OAAO;aACpB,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC/B;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACvD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;QAE5D,KAAK,MAAM,MAAM,IAAI,WAAW,EAAE;YAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,cAAc,EACd,MAAM,CAAC,SAAS,EAAE,EAClB,MAAM,CAAC,OAAO,EAAE,EAChB,iCAAU,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CACnC,CAAC;YAEF,8EAA8E;YAC9E,iEAAiE;YACjE,cAAc;YACd,IAAI;YAEJ,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;gBACjC,SAAS;aACV;YAED,MAAM,eAAe,GAAoB;gBACvC,gBAAgB,EAAE;oBAChB,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE;oBAC5B,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE;oBAC7B,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE;oBAC5B,OAAO,EAAE,KAAK;iBACK;gBACrB,UAAU,EAAE,MAAM;aACnB,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC/B;QAED,MAAM,kBAAkB,GAAa,EAAE,CAAC;QAExC,+FAA+F;QAC/F,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAE5B,uEAAuE;YACvE,0EAA0E;YAC1E,wBAAwB;YACxB,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAExE,8FAA8F;YAC9F,kDAAkD;YAClD,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,KAAK,iCAAU,CAAC,OAAO,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBAC1F,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAC3E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kFAAkF,CAAC,CAAC;aACpG;YAED,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9B,uFAAuF;YACvF,wEAAwE;YACxE,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAEtF,IAAI,CAAC,eAAe,EAAE;gBAEpB,4DAA4D;gBAE5D,yBAAyB;gBACzB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAC9C,MAAM,CAAC,gBAAgB,CAAC,WAAW,EACnC,IAAI,CACL,CAAC;gBAEF,+DAA+D;gBAC/D,wFAAwF;gBACxF,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBAEnD,8DAA8D;gBAC9D,+CAA+C;gBAE/C,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;aACnD;iBAAM;gBACL,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;aACxD;SACF;QAED,sDAAsD;QAEtD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBACxD,OAAO,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,gBAAgB,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;gBAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,cAAc,CAAC,IAAI,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChG,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,kBAAkB,CACxB,SAA4B,EAC5B,SAA0B,EAC1B,KAAc;;;QAGd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAE/D,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,MAAM,OAAO,GAAG,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC;QACnD,IAAI,IAAI,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC;QAEpC;;;;UAIE;QAEF,IAAI,OAAO,EAAE;YACX,IAAI,IAAI,KAAK,iCAAU,CAAC,OAAO,EAAE;gBAC/B,wDAAwD;gBACxD,IAAI,CAAC,CAAC,IAAI,KAAK,iCAAU,CAAC,UAAU;uBAC/B,IAAI,KAAK,iCAAU,CAAC,aAAa;uBACjC,IAAI,KAAK,iCAAU,CAAC,oBAAoB;uBACxC,IAAI,KAAK,iCAAU,CAAC,uBAAuB;uBAC3C,IAAI,KAAK,iCAAU,CAAC,QAAQ;uBAC5B,IAAI,KAAK,iCAAU,CAAC,gBAAgB;uBACpC,IAAI,KAAK,iCAAU,CAAC,kBAAkB;uBACtC,IAAI,KAAK,iCAAU,CAAC,qBAAqB;uBACzC,IAAI,KAAK,iCAAU,CAAC,aAAa,CAAC,EAAE;oBACvC,8GAA8G;oBAC9G,IAAI,GAAG,iCAAU,CAAC,OAAO,CAAC;iBAC3B;qBAAM;oBACL,OAAO;iBACR;aACF;SACF;QAED,IAAI,CAAC,CAAC;QAEN,QAAQ,IAAI,EAAE;YACZ,KAAK,iCAAU,CAAC,OAAO;gBACrB,IAAI,mCAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAiB,CAAC,CAAC;gBACzD,MAAM;YACR,KAAK,iCAAU,CAAC,aAAa;gBAC3B,IAAI,6CAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAsB,CAAC,CAAC;gBACnE,MAAM;YACR,KAAK,iCAAU,CAAC,MAAM,CAAC;YACvB,KAAK,iCAAU,CAAC,OAAO,CAAC;YACxB,KAAK,iCAAU,CAAC,QAAQ,CAAC;YACzB,KAAK,iCAAU,CAAC,QAAQ,CAAC;YACzB,KAAK,iCAAU,CAAC,aAAa,CAAC;YAC9B,KAAK,iCAAU,CAAC,gBAAgB,CAAC;YACjC,KAAK,iCAAU,CAAC,UAAU,CAAC;YAC3B,KAAK,iCAAU,CAAC,YAAY,CAAC;YAC7B,KAAK,iCAAU,CAAC,WAAW,CAAC;YAC5B,KAAK,iCAAU,CAAC,kBAAkB,CAAC;YACnC,KAAK,iCAAU,CAAC,qBAAqB,CAAC;YACtC,KAAK,iCAAU,CAAC,WAAW,CAAC;YAC5B,KAAK,iCAAU,CAAC,eAAe,CAAC;YAChC,KAAK,iCAAU,CAAC,0BAA0B,CAAC;YAC3C,KAAK,iCAAU,CAAC,wBAAwB,CAAC;YACzC,KAAK,iCAAU,CAAC,2BAA2B,CAAC;YAC5C,KAAK,iCAAU,CAAC,2BAA2B,CAAC;YAC5C,KAAK,iCAAU,CAAC,oCAAoC,CAAC;YACrD,KAAK,iCAAU,CAAC,wBAAwB,CAAC;YACzC,KAAK,iCAAU,CAAC,sBAAsB,CAAC;YACvC,KAAK,iCAAU,CAAC,sBAAsB,CAAC;YACvC,KAAK,iCAAU,CAAC,sBAAsB;gBACpC,CAAC,GAAG,IAAI,iCAAe,CAAC,IAAI,EAAE,SAAS,EAAE,MAAgB,CAAC,CAAC;gBAC3D,QAAQ,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,aAAC,CAAC,CAAC,YAAY,EAAC,QAAQ,uCAAR,QAAQ,GAAK,KAAK,EAAC,CAAC,CAAC,KAAK,CAAC;gBACrF,MAAM;YACR,KAAK,iCAAU,CAAC,QAAQ,CAAC;YACzB,KAAK,iCAAU,CAAC,gBAAgB,CAAC;YACjC,KAAK,iCAAU,CAAC,kBAAkB;gBAChC,CAAC,GAAG,IAAI,iDAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAwB,CAAC,CAAC;gBAC3E,QAAQ,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,aAAC,CAAC,CAAC,YAAY,EAAC,QAAQ,uCAAR,QAAQ,GAAK,KAAK,EAAC,CAAC,CAAC,KAAK,CAAC;gBACrF,MAAM;YACR,KAAK,iCAAU,CAAC,MAAM;gBACpB,IAAI,2CAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAqB,CAAC,CAAC;gBACjE,MAAM;YACR,KAAK,iCAAU,CAAC,UAAU,CAAC;YAC3B,KAAK,iCAAU,CAAC,aAAa,CAAC;YAC9B,KAAK,iCAAU,CAAC,oBAAoB,CAAC;YACrC,KAAK,iCAAU,CAAC,uBAAuB;gBACrC,IAAI,uCAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAc,CAAC,CAAC;gBACxD,MAAM;YACR;gBACE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wEAAwE,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC9H,OAAO;SACV;QAED,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC5D,IAAI,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;gBAChD,OAAO;aACR;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtF,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;aACjF;SACF;QAED,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YACtE,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,sBAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;SAC/D;aAAM;YACL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,sBAAW,EAAE,wBAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;SAC/E;IAEH,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,MAAoB;QAC3C,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;YACrE,IAAI;gBACF,MAAM,MAAM,CAAC,gBAAgB,EAAE,CAAC;aACjC;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;aAC5D;YACD,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI;oBACF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;iBAC1B;gBAAC,OAAO,KAAK,EAAE;oBACd,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;iBAC5D;YACH,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;SACxD;IACH,CAAC;IAEM,cAAc,CAAC,EAAU;QAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IAEO,YAAY;QAClB,IAAI;YACF,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACtF,0EAA0E;YAC1E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;YACD,mCAAmC;YACnC,MAAM,YAAY,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,wBAAa,CAAC,CAAC;YAE7G,IAAI,CAAC,YAAY,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,0BAA0B,wBAAa,qBAAqB,CAAC,CAAC;aAC/E;YAED,iBAAiB;YAEjB,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,CAAC,CAAC;YAE5G,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACpD,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACpB,OAAO;iBACR;gBACD,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAClG,CAAC,CAAC,CAAC;YAEH,wBAAwB;YAExB,6BAA6B;YAC7B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC;YAC3B,YAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SAEtF;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;SAC7C;IACH,CAAC;CACF;AA9dD,oDA8dC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -407,13 +407,28 @@
407
407
  <label class="form-check-label" for="cc-forcerefreshsnap">Force Refresh Snapshot</label>
408
408
  </div>
409
409
 
410
- <small class="form-text text-muted">When enabled, we will start stream for one
411
- frame and use
410
+ <small class="form-text text-muted">When enabled, we will start stream for one frame and use
412
411
  as a snapshot (this can affect the battery life). If it's disabled, we will use the Eufy
413
412
  Cloud API one (which could be really old).</small>
414
413
 
415
414
  <hr />
416
415
 
416
+ <div class="form-check">
417
+ <input class="form-check-input" type="checkbox" id="cc-useCachedLocalLivestream">
418
+ <label class="form-check-label" for="cc-useCachedLocalLivestream">Improve livestream
419
+ caching</label>
420
+ </div>
421
+
422
+ <small class="form-text text-muted">Improvements for local livestream caching and
423
+ bugfixes.Local livestreams will be kept alive for a fixed duration (up to 45 seconds at
424
+ the moment) after the last instance ended the transmission. This allows consecutive
425
+ transmissions to start up much faster, but also may increase power consumption for
426
+ battery powered devices. Also local livestreams will be started immediately after an
427
+ event (motion, person, doorbell) was triggered, so that start up times are
428
+ decreased.</small>
429
+
430
+ <hr />
431
+
417
432
  <div class="form-check">
418
433
  <input class="form-check-input" type="checkbox" id="cc-rtsp">
419
434
  <label class="form-check-label" for="cc-rtsp">Use RTSP</label>
@@ -421,7 +436,8 @@
421
436
 
422
437
  <small id="cc-help-rtsp" class="form-text text-muted">Improve getting live stream by using
423
438
  RTSP</small>
424
- <small id="cc-help-rtsp" class="form-text text-muted">RTSP must be enable within Eufy App first</small>
439
+ <small id="cc-help-rtsp" class="form-text text-muted">RTSP must be enable within Eufy App
440
+ first</small>
425
441
  <small id="cc-help-rtsp" class="form-text text-muted">This setting may not be working with
426
442
  no compatible device such as Doorbell or Floodlight</small>
427
443
  </div>
@@ -660,4 +676,4 @@
660
676
 
661
677
  </div>
662
678
 
663
- <script type="text/javascript" src="js/main.js?v=2.0.0-beta.2"></script>
679
+ <script type="text/javascript" src="js/main.js?v=2.0.0-beta.8"></script>
@@ -28,6 +28,7 @@ var CameraConfig = {
28
28
  "rtsp": true,
29
29
  "unbridge": true,
30
30
  "forcerefreshsnap": false,
31
+ "useCachedLocalLivestream": false,
31
32
  "videoConfig": {
32
33
  "debug": false,
33
34
  "audio": true,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Homebridge Eufy Security",
3
3
  "name": "homebridge-eufy-security",
4
- "version": "2.0.0-beta.7",
4
+ "version": "2.0.0",
5
5
  "description": "Control Eufy Security from homebridge.",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {