homebridge-eufy-security 2.3.4 → 2.3.5

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 (147) hide show
  1. package/dist/accessories/BaseAccessory.d.ts +10 -6
  2. package/dist/accessories/BaseAccessory.d.ts.map +1 -1
  3. package/dist/accessories/BaseAccessory.js +19 -16
  4. package/dist/accessories/BaseAccessory.js.map +1 -1
  5. package/dist/accessories/CameraAccessory.d.ts +47 -8
  6. package/dist/accessories/CameraAccessory.d.ts.map +1 -1
  7. package/dist/accessories/CameraAccessory.js +320 -118
  8. package/dist/accessories/CameraAccessory.js.map +1 -1
  9. package/dist/accessories/Device.d.ts +1 -1
  10. package/dist/accessories/Device.d.ts.map +1 -1
  11. package/dist/accessories/Device.js +4 -4
  12. package/dist/accessories/Device.js.map +1 -1
  13. package/dist/accessories/EntrySensorAccessory.d.ts +1 -1
  14. package/dist/accessories/EntrySensorAccessory.d.ts.map +1 -1
  15. package/dist/accessories/EntrySensorAccessory.js +3 -3
  16. package/dist/accessories/EntrySensorAccessory.js.map +1 -1
  17. package/dist/accessories/LockAccessory.d.ts +1 -1
  18. package/dist/accessories/LockAccessory.d.ts.map +1 -1
  19. package/dist/accessories/LockAccessory.js +1 -1
  20. package/dist/accessories/LockAccessory.js.map +1 -1
  21. package/dist/accessories/MotionSensorAccessory.d.ts +1 -1
  22. package/dist/accessories/MotionSensorAccessory.d.ts.map +1 -1
  23. package/dist/accessories/MotionSensorAccessory.js +3 -3
  24. package/dist/accessories/MotionSensorAccessory.js.map +1 -1
  25. package/dist/accessories/StationAccessory.d.ts +1 -1
  26. package/dist/accessories/StationAccessory.d.ts.map +1 -1
  27. package/dist/accessories/StationAccessory.js +30 -30
  28. package/dist/accessories/StationAccessory.js.map +1 -1
  29. package/dist/config.d.ts +3 -0
  30. package/dist/config.d.ts.map +1 -1
  31. package/dist/config.js +1 -0
  32. package/dist/config.js.map +1 -1
  33. package/dist/controller/LiveStream.d.ts +21 -0
  34. package/dist/controller/LiveStream.d.ts.map +1 -0
  35. package/dist/controller/LiveStream.js +117 -0
  36. package/dist/controller/LiveStream.js.map +1 -0
  37. package/dist/controller/LocalLivestreamManager.d.ts +3 -1
  38. package/dist/controller/LocalLivestreamManager.d.ts.map +1 -1
  39. package/dist/controller/LocalLivestreamManager.js +41 -0
  40. package/dist/controller/LocalLivestreamManager.js.map +1 -1
  41. package/dist/controller/Talkback.d.ts +65 -0
  42. package/dist/controller/Talkback.d.ts.map +1 -0
  43. package/dist/controller/Talkback.js +119 -0
  44. package/dist/controller/Talkback.js.map +1 -0
  45. package/dist/interfaces.d.ts +1 -1
  46. package/dist/interfaces.d.ts.map +1 -1
  47. package/dist/platform.d.ts +9 -1
  48. package/dist/platform.d.ts.map +1 -1
  49. package/dist/platform.js +51 -2
  50. package/dist/platform.js.map +1 -1
  51. package/dist/settings.d.ts +10 -0
  52. package/dist/settings.d.ts.map +1 -1
  53. package/dist/settings.js +22 -1
  54. package/dist/settings.js.map +1 -1
  55. package/dist/utils/EufyClientInteractor.d.ts +1 -8
  56. package/dist/utils/EufyClientInteractor.d.ts.map +1 -1
  57. package/dist/utils/EufyClientInteractor.js +1 -110
  58. package/dist/utils/EufyClientInteractor.js.map +1 -1
  59. package/dist/utils/ffmpeg-codec.d.ts +20 -0
  60. package/dist/utils/ffmpeg-codec.d.ts.map +1 -0
  61. package/dist/utils/ffmpeg-codec.js +151 -0
  62. package/dist/utils/ffmpeg-codec.js.map +1 -0
  63. package/dist/utils/ffmpeg-new.d.ts +38 -0
  64. package/dist/utils/ffmpeg-new.d.ts.map +1 -0
  65. package/dist/utils/ffmpeg-new.js +234 -0
  66. package/dist/utils/ffmpeg-new.js.map +1 -0
  67. package/dist/utils/ffmpeg-options.d.ts +21 -0
  68. package/dist/utils/ffmpeg-options.d.ts.map +1 -0
  69. package/dist/utils/ffmpeg-options.js +522 -0
  70. package/dist/utils/ffmpeg-options.js.map +1 -0
  71. package/dist/utils/ffmpeg-record.d.ts +16 -0
  72. package/dist/utils/ffmpeg-record.d.ts.map +1 -0
  73. package/dist/utils/ffmpeg-record.js +222 -0
  74. package/dist/utils/ffmpeg-record.js.map +1 -0
  75. package/dist/utils/ffmpeg-stream.d.ts +19 -0
  76. package/dist/utils/ffmpeg-stream.d.ts.map +1 -0
  77. package/dist/utils/ffmpeg-stream.js +89 -0
  78. package/dist/utils/ffmpeg-stream.js.map +1 -0
  79. package/dist/utils/interfaces.d.ts +0 -5
  80. package/dist/utils/interfaces.d.ts.map +1 -1
  81. package/dist/utils/record.d.ts +33 -0
  82. package/dist/utils/record.d.ts.map +1 -0
  83. package/dist/utils/record.js +382 -0
  84. package/dist/utils/record.js.map +1 -0
  85. package/dist/utils/rtp.d.ts +26 -0
  86. package/dist/utils/rtp.d.ts.map +1 -0
  87. package/dist/utils/rtp.js +174 -0
  88. package/dist/utils/rtp.js.map +1 -0
  89. package/dist/utils/stream.d.ts +38 -0
  90. package/dist/utils/stream.d.ts.map +1 -0
  91. package/dist/utils/stream.js +704 -0
  92. package/dist/utils/stream.js.map +1 -0
  93. package/dist/utils/timeshift.d.ts +30 -0
  94. package/dist/utils/timeshift.d.ts.map +1 -0
  95. package/dist/utils/timeshift.js +175 -0
  96. package/dist/utils/timeshift.js.map +1 -0
  97. package/dist/utils/utils.d.ts +1 -1
  98. package/dist/utils/utils.d.ts.map +1 -1
  99. package/dist/utils/utils.js +1 -1
  100. package/dist/utils/utils.js.map +1 -1
  101. package/homebridge-ui/plugin/utils/EufyClientInteractor.d.ts +1 -8
  102. package/homebridge-ui/plugin/utils/EufyClientInteractor.d.ts.map +1 -1
  103. package/homebridge-ui/plugin/utils/EufyClientInteractor.js +1 -110
  104. package/homebridge-ui/plugin/utils/EufyClientInteractor.js.map +1 -1
  105. package/homebridge-ui/plugin/utils/interfaces.d.ts +0 -5
  106. package/homebridge-ui/plugin/utils/interfaces.d.ts.map +1 -1
  107. package/homebridge-ui/public/index.html +2 -2
  108. package/homebridge-ui/public/main.7f98b53586c6100c.js +1 -0
  109. package/homebridge-ui/public/polyfills.1ab36b8b9e023fa6.js +1 -0
  110. package/homebridge-ui/public/styles.a8f5287297d4e979.css +5 -0
  111. package/homebridge-ui/server.js +1 -7
  112. package/homebridge-ui/server.js.map +1 -1
  113. package/media/Snapshot-Unavailable.png +0 -0
  114. package/media/Snapshot-Unavailable.xcf +0 -0
  115. package/media/camera-offline.png +0 -0
  116. package/package.json +22 -20
  117. package/dist/controller/SnapshotManager.d.ts +0 -54
  118. package/dist/controller/SnapshotManager.d.ts.map +0 -1
  119. package/dist/controller/SnapshotManager.js +0 -386
  120. package/dist/controller/SnapshotManager.js.map +0 -1
  121. package/dist/controller/recordingDelegate.d.ts +0 -28
  122. package/dist/controller/recordingDelegate.d.ts.map +0 -1
  123. package/dist/controller/recordingDelegate.js +0 -186
  124. package/dist/controller/recordingDelegate.js.map +0 -1
  125. package/dist/controller/streamingDelegate.d.ts +0 -60
  126. package/dist/controller/streamingDelegate.d.ts.map +0 -1
  127. package/dist/controller/streamingDelegate.js +0 -303
  128. package/dist/controller/streamingDelegate.js.map +0 -1
  129. package/dist/utils/Talkback.d.ts +0 -24
  130. package/dist/utils/Talkback.d.ts.map +0 -1
  131. package/dist/utils/Talkback.js +0 -95
  132. package/dist/utils/Talkback.js.map +0 -1
  133. package/dist/utils/experimental.d.ts +0 -4
  134. package/dist/utils/experimental.d.ts.map +0 -1
  135. package/dist/utils/experimental.js +0 -49
  136. package/dist/utils/experimental.js.map +0 -1
  137. package/dist/utils/ffmpeg.d.ts +0 -118
  138. package/dist/utils/ffmpeg.d.ts.map +0 -1
  139. package/dist/utils/ffmpeg.js +0 -863
  140. package/dist/utils/ffmpeg.js.map +0 -1
  141. package/homebridge-ui/plugin/utils/experimental.d.ts +0 -4
  142. package/homebridge-ui/plugin/utils/experimental.d.ts.map +0 -1
  143. package/homebridge-ui/plugin/utils/experimental.js +0 -49
  144. package/homebridge-ui/plugin/utils/experimental.js.map +0 -1
  145. package/homebridge-ui/public/main.654a3c2dbcdbfb3f.js +0 -1
  146. package/homebridge-ui/public/polyfills.cdb21ff95fdea645.js +0 -1
  147. package/homebridge-ui/public/styles.68268876f5e65c91.css +0 -5
@@ -1,18 +1,22 @@
1
1
  /// <reference types="node" />
2
- import { PlatformAccessory, Characteristic, CharacteristicValue, Service, WithUUID } from 'homebridge';
2
+ import { PlatformAccessory, Characteristic, CharacteristicValue, Service, WithUUID, HAP } from 'homebridge';
3
3
  import { EufySecurityPlatform } from '../platform';
4
- import { DeviceEvents, PropertyValue, StationEvents } from 'eufy-security-client';
4
+ import { DeviceEvents, PropertyValue, StationEvents } from '@homebridge-eufy-security/eufy-security-client';
5
5
  import { EventEmitter } from 'events';
6
+ import { Logger as TsLogger, ILogObj } from 'tslog';
6
7
  export type CharacteristicType = WithUUID<{
7
8
  new (): Characteristic;
8
9
  }>;
9
10
  export type ServiceType = WithUUID<typeof Service> | Service;
10
11
  export declare abstract class BaseAccessory extends EventEmitter {
11
- protected platform: EufySecurityPlatform;
12
- protected accessory: PlatformAccessory;
13
- protected device: any;
12
+ readonly platform: EufySecurityPlatform;
13
+ readonly accessory: PlatformAccessory;
14
+ device: any;
14
15
  protected servicesInUse: Service[];
15
- protected SN: string;
16
+ readonly SN: string;
17
+ readonly name: string;
18
+ readonly log: TsLogger<ILogObj>;
19
+ readonly hap: HAP;
16
20
  constructor(platform: EufySecurityPlatform, accessory: PlatformAccessory, device: any);
17
21
  private logPropertyKeys;
18
22
  protected handleRawPropertyChange(device: any, type: number, value: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAccessory.d.ts","sourceRoot":"","sources":["../../src/plugin/accessories/BaseAccessory.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAc,YAAY,EAAE,aAAa,EAAmB,aAAa,EAAgB,MAAM,sBAAsB,CAAC;AAC7H,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAetC,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IAAE,QAAO,cAAc,CAAA;CAAE,CAAC,CAAC;AACrE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,GAAG,OAAO,CAAC;AAE7D,8BAAsB,aAAc,SAAQ,YAAY;IAMpD,SAAS,CAAC,QAAQ,EAAE,oBAAoB;IACxC,SAAS,CAAC,SAAS,EAAE,iBAAiB;IAEtC,SAAS,CAAC,MAAM,EAAE,GAAG;IAPvB,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,CAAM;IACxC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC;gBAGT,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAE5B,MAAM,EAAE,GAAG;IAwDvB,OAAO,CAAC,eAAe;IAOvB,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKjF,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAIrF;;;;;;;OAOG;IACH,SAAS,CAAC,sBAAsB,CAAC,EAC/B,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,eAAe,EACf,IAAI,EACJ,cAAc,EACd,oBAAwB,GACzB,EAAE;QACD,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,WAAW,EAAE,WAAW,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;QAElF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;QAEnF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,KAAK,GAAG,CAAC;QAEpE,aAAa,CAAC,EAAE,GAAG,CAAC;QACpB,eAAe,CAAC,EAAE,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,CAAC;QACzD,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B;IAoED;;;;;;;;OAQG;IACH,SAAS,CAAC,UAAU,CAClB,WAAW,EAAE,WAAW,EACxB,IAAI,SAA6B,EACjC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO;IA4BV,SAAS,CAAC,mBAAmB;IAiB7B,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgBhF,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB;CAG9E"}
1
+ {"version":3,"file":"BaseAccessory.d.ts","sourceRoot":"","sources":["../../src/plugin/accessories/BaseAccessory.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,GAAG,EACJ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAc,YAAY,EAAE,aAAa,EAAmB,aAAa,EAAE,MAAM,gDAAgD,CAAC;AACzI,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAepD,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IAAE,QAAO,cAAc,CAAA;CAAE,CAAC,CAAC;AACrE,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,OAAO,CAAC,GAAG,OAAO,CAAC;AAE7D,8BAAsB,aAAc,SAAQ,YAAY;aASpC,QAAQ,EAAE,oBAAoB;aAC9B,SAAS,EAAE,iBAAiB;IAErC,MAAM,EAAE,GAAG;IAVpB,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,CAAM;IACxC,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAqB;IAC3D,SAAgB,GAAG,EAAE,GAAG,CAAyB;gBAG/B,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAErC,MAAM,EAAE,GAAG;IAyDpB,OAAO,CAAC,eAAe;IAOvB,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKjF,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI;IAIrF;;;;;;;OAOG;IACH,SAAS,CAAC,sBAAsB,CAAC,EAC/B,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,eAAe,EACf,IAAI,EACJ,cAAc,EACd,oBAAwB,GACzB,EAAE;QACD,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,WAAW,EAAE,WAAW,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;QAElF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;QAEnF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,KAAK,GAAG,CAAC;QAEpE,aAAa,CAAC,EAAE,GAAG,CAAC;QACpB,eAAe,CAAC,EAAE,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,CAAC;QACzD,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B;IAoED;;;;;;;;OAQG;IACH,SAAS,CAAC,UAAU,CAClB,WAAW,EAAE,WAAW,EACxB,IAAI,SAAY,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO;IA4BV,SAAS,CAAC,mBAAmB;IAiB7B,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgBhF,SAAS,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB;CAG9E"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseAccessory = void 0;
4
- const eufy_security_client_1 = require("eufy-security-client");
4
+ const eufy_security_client_1 = require("@homebridge-eufy-security/eufy-security-client");
5
5
  const events_1 = require("events");
6
6
  /**
7
7
  * Determine if the serviceType is an instance of Service.
@@ -22,10 +22,13 @@ class BaseAccessory extends events_1.EventEmitter {
22
22
  this.accessory = accessory;
23
23
  this.device = device;
24
24
  this.servicesInUse = [];
25
+ this.log = this.platform.log;
26
+ this.hap = this.platform.api.hap;
25
27
  this.platform = platform;
26
28
  this.accessory = accessory;
27
29
  this.device = device;
28
30
  this.SN = this.device.getSerial();
31
+ this.name = this.device.getName();
29
32
  this.registerCharacteristic({
30
33
  serviceType: this.platform.Service.AccessoryInformation,
31
34
  characteristicType: this.platform.Characteristic.Manufacturer,
@@ -34,7 +37,7 @@ class BaseAccessory extends events_1.EventEmitter {
34
37
  this.registerCharacteristic({
35
38
  serviceType: this.platform.Service.AccessoryInformation,
36
39
  characteristicType: this.platform.Characteristic.Name,
37
- getValue: (data) => this.accessory.displayName || 'Unknowm',
40
+ getValue: (data) => this.name || 'Unknowm',
38
41
  });
39
42
  this.registerCharacteristic({
40
43
  serviceType: this.platform.Service.AccessoryInformation,
@@ -68,15 +71,15 @@ class BaseAccessory extends events_1.EventEmitter {
68
71
  logPropertyKeys() {
69
72
  const properties = this.device.getProperties();
70
73
  const keys = Object.keys(properties).join(', ');
71
- this.platform.log.debug(`${this.accessory.displayName} Property Keys: ${keys}`);
74
+ this.log.debug(`${this.name} Property Keys: ${keys}`);
72
75
  }
73
76
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
74
77
  handleRawPropertyChange(device, type, value) {
75
- this.platform.log.debug(`${this.accessory.displayName} Raw Property Changes: ${type} ${value}`);
78
+ this.log.debug(`${this.name} Raw Property Changes: ${type} ${value}`);
76
79
  }
77
80
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
78
81
  handlePropertyChange(device, name, value) {
79
- this.platform.log.debug(`${this.accessory.displayName} Property Changes: ${name} ${value}`);
82
+ this.log.debug(`${this.name} Property Changes: ${name} ${value}`);
80
83
  }
81
84
  /**
82
85
  * Register characteristics for a given Homebridge service.
@@ -88,15 +91,15 @@ class BaseAccessory extends events_1.EventEmitter {
88
91
  */
89
92
  registerCharacteristic({ characteristicType, serviceType, getValue, setValue, onValue, onSimpleValue, onMultipleValue, name, serviceSubType, setValueDebounceTime = 0, }) {
90
93
  // eslint-disable-next-line max-len
91
- this.platform.log.debug(`${this.accessory.displayName} REGISTER CHARACTERISTIC '${serviceType.name} / ${characteristicType.name}`);
94
+ this.log.debug(`${this.name} REGISTER CHARACTERISTIC '${serviceType.name} / ${characteristicType.name}`);
92
95
  const service = this.getService(serviceType, name, serviceSubType);
93
96
  const characteristic = service.getCharacteristic(characteristicType);
94
97
  // eslint-disable-next-line max-len
95
- this.platform.log.debug(`${this.accessory.displayName} REGISTER CHARACTERISTIC '(${service.UUID}) / (${characteristic.UUID})`);
98
+ this.log.debug(`${this.name} REGISTER CHARACTERISTIC '(${service.UUID}) / (${characteristic.UUID})`);
96
99
  if (getValue) {
97
100
  characteristic.onGet(async (data) => {
98
101
  const value = getValue(data, characteristic, service);
99
- this.platform.log.debug(`${this.accessory.displayName} GET '${serviceType.name} / ${characteristicType.name}': ${value}`);
102
+ this.log.debug(`${this.name} GET '${serviceType.name} / ${characteristicType.name}': ${value}`);
100
103
  return value;
101
104
  });
102
105
  }
@@ -121,12 +124,12 @@ class BaseAccessory extends events_1.EventEmitter {
121
124
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
122
125
  this.device.on(onSimpleValue, (device, value) => {
123
126
  // eslint-disable-next-line max-len
124
- this.platform.log.info(`${this.accessory.displayName} ON '${serviceType.name} / ${characteristicType.name} / ${onSimpleValue}': ${value}`);
127
+ this.log.info(`${this.name} ON '${serviceType.name} / ${characteristicType.name} / ${onSimpleValue}': ${value}`);
125
128
  characteristic.updateValue(value);
126
129
  });
127
130
  }
128
131
  if (onValue) {
129
- this.platform.log.debug(`${this.accessory.displayName} ON '${serviceType.name} / ${characteristicType.name}'`);
132
+ this.log.debug(`${this.name} ON '${serviceType.name} / ${characteristicType.name}'`);
130
133
  onValue(service, characteristic);
131
134
  }
132
135
  if (onMultipleValue) {
@@ -135,7 +138,7 @@ class BaseAccessory extends events_1.EventEmitter {
135
138
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
136
139
  this.device.on(eventType, (device, value) => {
137
140
  // eslint-disable-next-line max-len
138
- this.platform.log.info(`${this.accessory.displayName} ON '${serviceType.name} / ${characteristicType.name} / ${eventType}': ${value}`);
141
+ this.log.info(`${this.name} ON '${serviceType.name} / ${characteristicType.name} / ${eventType}': ${value}`);
139
142
  characteristic.updateValue(value);
140
143
  });
141
144
  });
@@ -150,7 +153,7 @@ class BaseAccessory extends events_1.EventEmitter {
150
153
  * @returns {Service} Returns the existing or newly created service.
151
154
  * @throws Will throw an error if there are overlapping services.
152
155
  */
153
- getService(serviceType, name = this.accessory.displayName, subType) {
156
+ getService(serviceType, name = this.name, subType) {
154
157
  if (isServiceInstance(serviceType)) {
155
158
  return serviceType;
156
159
  }
@@ -160,7 +163,7 @@ class BaseAccessory extends events_1.EventEmitter {
160
163
  if (existingService &&
161
164
  existingService.displayName &&
162
165
  name !== existingService.displayName) {
163
- throw new Error(`Overlapping services for device ${this.accessory.displayName} - ${name} != ${existingService.displayName} - ${serviceType}`);
166
+ throw new Error(`Overlapping services for device ${this.name} - ${name} != ${existingService.displayName} - ${serviceType}`);
164
167
  }
165
168
  if (!this.servicesInUse.includes(service)) {
166
169
  this.servicesInUse.push(service);
@@ -175,7 +178,7 @@ class BaseAccessory extends events_1.EventEmitter {
175
178
  if (!this.servicesInUse.includes(service) &&
176
179
  !safeServiceUUIDs.includes(service.UUID)) {
177
180
  // eslint-disable-next-line max-len
178
- this.platform.log.debug(`${this.accessory.displayName} Pruning unused service ${service.UUID} ${service.displayName || service.name}`);
181
+ this.log.debug(`${this.name} Pruning unused service ${service.UUID} ${service.displayName || service.name}`);
179
182
  this.accessory.removeService(service);
180
183
  }
181
184
  });
@@ -189,11 +192,11 @@ class BaseAccessory extends events_1.EventEmitter {
189
192
  if (currentValue === undefined) {
190
193
  throw new Error(`Invalid serviceName: ${serviceName}`);
191
194
  }
192
- this.platform.log.debug(`${this.accessory.displayName} IGNORE GET ${serviceName}: ${currentValue}`);
195
+ this.log.debug(`${this.name} IGNORE GET ${serviceName}: ${currentValue}`);
193
196
  return Promise.resolve(currentValue);
194
197
  }
195
198
  handleDummyEventSet(serviceName, value) {
196
- this.platform.log.debug(`${this.accessory.displayName} IGNORE SET ${serviceName}: ${value}`);
199
+ this.log.debug(`${this.name} IGNORE SET ${serviceName}: ${value}`);
197
200
  }
198
201
  }
199
202
  exports.BaseAccessory = BaseAccessory;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAccessory.js","sourceRoot":"","sources":["../../src/plugin/accessories/BaseAccessory.ts"],"names":[],"mappings":";;;AAQA,+DAA6H;AAC7H,mCAAsC;AAEtC;;;;;GAKG;AACH,SAAS,iBAAiB,CACxB,WAA+C;IAE/C,2BAA2B;IAC3B,OAAO,OAAQ,WAAmB,KAAK,QAAQ,CAAC;AAClD,CAAC;AAKD,MAAsB,aAAc,SAAQ,qBAAY;IAKtD,YACY,QAA8B,EAC9B,SAA4B;IACtC,2BAA2B;IACjB,MAAW;QAErB,KAAK,EAAE,CAAC;QALE,aAAQ,GAAR,QAAQ,CAAsB;QAC9B,cAAS,GAAT,SAAS,CAAmB;QAE5B,WAAM,GAAN,MAAM,CAAK;QAPb,kBAAa,GAAc,EAAE,CAAC;QAWtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAA0B,CAAC;QAEzC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAElC,IAAI,CAAC,sBAAsB,CAAC;YAC1B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB;YACvD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY;YAC7D,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC;YAC1B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB;YACvD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI;YACrD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,SAAS;SAC5D,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC;YAC1B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB;YACvD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK;YACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,IAAI,SAAS;SACzE,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC;YAC1B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB;YACvD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY;YAC7D,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS;SACzC,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC;YAC1B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB;YACvD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB;YACjE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,SAAS;SAClE,CAAC,CAAC;QACH,IAAI,CAAC,sBAAsB,CAAC;YAC1B,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB;YACvD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB;YACjE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,SAAS;SAClE,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,qBAAqB,EAAE;YAC9C,8DAA8D;YAC9D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,MAAW,EAAE,IAAY,EAAE,KAAa,EAAE,EAAE,CAClF,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAClD,CAAC;YACF,8DAA8D;YAC9D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,MAAW,EAAE,IAAY,EAAE,KAAoB,EAAE,EAAE,CACrF,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAC/C,CAAC;SACH;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,mCAAmC;IAC3B,eAAe;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,8DAA8D;IACpD,uBAAuB,CAAC,MAAW,EAAE,IAAY,EAAE,KAAa;QACxE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,0BAA0B,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,8DAA8D;IACpD,oBAAoB,CAAC,MAAW,EAAE,IAAY,EAAE,KAAoB;QAC5E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,sBAAsB,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED;;;;;;;OAOG;IACO,sBAAsB,CAAC,EAC/B,kBAAkB,EAClB,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,eAAe,EACf,IAAI,EACJ,cAAc,EACd,oBAAoB,GAAG,CAAC,GAgBzB;QAEC,mCAAmC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,6BAA6B,WAAW,CAAC,IAAI,MAAM,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;QAEnI,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAErE,mCAAmC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,8BAA8B,OAAO,CAAC,IAAI,QAAQ,cAAc,CAAC,IAAI,GAAG,CAAC,CAAC;QAE/H,IAAI,QAAQ,EAAE;YACZ,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,SAAS,WAAW,CAAC,IAAI,MAAM,kBAAkB,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC;gBAC1H,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,QAAQ,IAAI,oBAAoB,EAAE;YAEpC,IAAI,SAAS,GAA0B,IAAI,CAAC;YAE5C,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAA0B,EAAE,EAAE;gBACxD,IAAI,SAAS,EAAE;oBACb,YAAY,CAAC,SAAS,CAAC,CAAC;iBACzB;gBAED,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC1B,SAAS,GAAG,IAAI,CAAC;oBACjB,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC3C,CAAC,EAAE,oBAAoB,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;SAEJ;aAAM,IAAI,QAAQ,EAAE;YACnB,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAA0B,EAAE,EAAE;gBACxD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,aAAa,EAAE;YACjB,8DAA8D;YAC9D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,MAAW,EAAE,KAAU,EAAE,EAAE;gBACxD,mCAAmC;gBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,QAAQ,WAAW,CAAC,IAAI,MAAM,kBAAkB,CAAC,IAAI,MAAM,aAAa,MAAM,KAAK,EAAE,CAAC,CAAC;gBAC3I,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,QAAQ,WAAW,CAAC,IAAI,MAAM,kBAAkB,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/G,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;SAClC;QAED,IAAI,eAAe,EAAE;YACnB,qDAAqD;YACrD,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAClC,8DAA8D;gBAC9D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAsB,EAAE,CAAC,MAAW,EAAE,KAAU,EAAE,EAAE;oBACjE,mCAAmC;oBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,QAAQ,WAAW,CAAC,IAAI,MAAM,kBAAkB,CAAC,IAAI,MAAM,SAAS,MAAM,KAAK,EAAE,CAAC,CAAC;oBACvI,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;IAEH,CAAC;IAED;;;;;;;;OAQG;IACO,UAAU,CAClB,WAAwB,EACxB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EACjC,OAAgB;QAGhB,IAAI,iBAAiB,CAAC,WAAW,CAAC,EAAE;YAClC,OAAO,WAAW,CAAC;SACpB;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE/H,MAAM,OAAO,GAAG,eAAe;YAC7B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,EAAE,OAAQ,CAAC,CAAC;QAEzD,IACE,eAAe;YACf,eAAe,CAAC,WAAW;YAC3B,IAAI,KAAK,eAAe,CAAC,WAAW,EACpC;YACA,MAAM,IAAI,KAAK,CACb,mCAAmC,IAAI,CAAC,SAAS,CAAC,WAAW,MAAM,IAAI,OAAO,eAAe,CAAC,WAAW,MAAM,WAAW,EAAE,CAC7H,CAAC;SACH;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAClC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,mBAAmB;QAC3B,MAAM,gBAAgB,GAAG;YACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI;SACrD,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC1C,IACE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACrC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EACxC;gBACA,mCAAmC;gBACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,2BAA2B,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACvI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAES,mBAAmB,CAAC,WAAmB;QAC/C,MAAM,oBAAoB,GAAwC;YAChE,sBAAsB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,OAAO;YACjF,qBAAqB,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,GAAG;SAC5E,CAAC;QAEF,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAEvD,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;SACxD;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,eAAe,WAAW,KAAK,YAAY,EAAE,CAAC,CAAC;QACpG,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAES,mBAAmB,CAAC,WAAmB,EAAE,KAA0B;QAC3E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,eAAe,WAAW,KAAK,KAAK,EAAE,CAAC,CAAC;IAC/F,CAAC;CACF;AApQD,sCAoQC"}
1
+ {"version":3,"file":"BaseAccessory.js","sourceRoot":"","sources":["../../src/plugin/accessories/BaseAccessory.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,27 @@
1
- import { PlatformAccessory, CharacteristicValue } from 'homebridge';
1
+ import { PlatformAccessory, CharacteristicValue, Resolution } from 'homebridge';
2
2
  import { EufySecurityPlatform } from '../platform';
3
3
  import { DeviceAccessory } from './Device';
4
- import { Camera, PropertyName } from 'eufy-security-client';
5
- import { StreamingDelegate } from '../controller/streamingDelegate';
6
- import { RecordingDelegate } from '../controller/recordingDelegate';
4
+ import { Camera, PropertyName } from '@homebridge-eufy-security/eufy-security-client';
5
+ import { StreamingDelegate } from '../utils/stream';
7
6
  import { CameraConfig } from '../utils/configTypes';
7
+ export interface ProtectCameraChannelConfig {
8
+ bitrate: number;
9
+ enabled: boolean;
10
+ fps: number;
11
+ height: number;
12
+ id: number;
13
+ idrInterval: number;
14
+ isRtspEnabled: boolean;
15
+ name: string;
16
+ width: number;
17
+ }
18
+ export interface RtspEntry {
19
+ channel: ProtectCameraChannelConfig;
20
+ lens?: number;
21
+ name: string;
22
+ resolution: Resolution;
23
+ url: string;
24
+ }
8
25
  /**
9
26
  * Platform Accessory
10
27
  * An instance of this class is created for each accessory your platform registers
@@ -17,13 +34,26 @@ export declare class CameraAccessory extends DeviceAccessory {
17
34
  };
18
35
  private notificationTimeout;
19
36
  readonly cameraConfig: CameraConfig;
20
- protected streamingDelegate: StreamingDelegate | null;
21
- protected recordingDelegate?: RecordingDelegate | null;
37
+ stream: StreamingDelegate;
38
+ hardwareTranscoding: boolean;
39
+ hardwareDecoding: boolean;
40
+ timeshift: boolean;
41
+ hksvRecording: boolean;
42
+ HksvErrors: number;
43
+ isOnline: boolean;
44
+ private rtspEntries;
45
+ private rtspQuality;
46
+ hasHksv: boolean;
47
+ private isVideoConfigured;
48
+ rtsp_url: string;
22
49
  private eventTypesToHandle;
23
- private resolutions;
24
50
  constructor(platform: EufySecurityPlatform, accessory: PlatformAccessory, device: Camera);
25
51
  private setupCamera;
26
- private getCameraControllerOptions;
52
+ /**
53
+ * Sets up RTSP and waits for the DeviceRTSPStreamUrl property to change.
54
+ * @returns {Promise<void>}
55
+ */
56
+ private setupRTSP;
27
57
  private setupButtonService;
28
58
  protected setupSwitchService(serviceName: string, serviceType: 'switch' | 'lightbulb' | 'outlet', propertyName: PropertyName): void;
29
59
  private setupEnableButton;
@@ -49,5 +79,14 @@ export declare class CameraAccessory extends DeviceAccessory {
49
79
  * @param characteristic - The Characteristic to update for HomeKit.
50
80
  */
51
81
  private onDeviceRingsPushNotification;
82
+ getBitrate(channelId: number): number;
83
+ setBitrate(channelId: number, value: number): Promise<boolean>;
84
+ private findRtspEntry;
85
+ findRtsp(width: number, height: number, rtspEntries?: RtspEntry[], constrainPixels?: number): RtspEntry | null;
86
+ private configureHksv;
87
+ findRecordingRtsp(width: number, height: number, rtspEntries?: RtspEntry[]): RtspEntry | null;
88
+ private configureVideoStream;
89
+ private sortByResolutions;
90
+ protected getResolution(resolution: Resolution): string;
52
91
  }
53
92
  //# sourceMappingURL=CameraAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CameraAccessory.d.ts","sourceRoot":"","sources":["../../src/plugin/accessories/CameraAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EAEjB,mBAAmB,EAYpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI3C,OAAO,EAAE,MAAM,EAAwB,YAAY,EAAe,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAA+B,MAAM,sBAAsB,CAAC;AAEjF;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,eAAe;IAGlD,SAAS,CAAC,YAAY,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAClE,OAAO,CAAC,mBAAmB,CAA+B;IAE1D,SAAgB,YAAY,EAAE,YAAY,CAAC;IAE3C,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAC7D,SAAS,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAG9D,OAAO,CAAC,kBAAkB,CASxB;IAEF,OAAO,CAAC,WAAW,CAYjB;gBAGA,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,MAAM;IA8BhB,OAAO,CAAC,WAAW;IA6CnB,OAAO,CAAC,0BAA0B;IAqElC,OAAO,CAAC,kBAAkB;IAsB1B,SAAS,CAAC,kBAAkB,CAC1B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,EAC9C,YAAY,EAAE,YAAY;YAkBd,iBAAiB;YAIjB,iBAAiB;YAIjB,gBAAgB;YAIhB,gBAAgB;IAI9B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,cAAc;IAqItB,OAAO,CAAC,mBAAmB;IAyB3B,SAAS,CAAC,sBAAsB,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,GAAG,mBAAmB;cAqCtF,sBAAsB,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB;IAyBlH;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;CAStC"}
1
+ {"version":3,"file":"CameraAccessory.d.ts","sourceRoot":"","sources":["../../src/plugin/accessories/CameraAccessory.ts"],"names":[],"mappings":"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"}