homebridge-eufy-security 4.4.2-beta.2 → 4.4.2-beta.20

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/CHANGELOG.md +1 -1
  2. package/FUNDING.yml +1 -0
  3. package/README.md +14 -17
  4. package/dist/accessories/AutoSyncStationAccessory.js +26 -30
  5. package/dist/accessories/AutoSyncStationAccessory.js.map +1 -1
  6. package/dist/accessories/BaseAccessory.js +33 -46
  7. package/dist/accessories/BaseAccessory.js.map +1 -1
  8. package/dist/accessories/CameraAccessory.js +92 -167
  9. package/dist/accessories/CameraAccessory.js.map +1 -1
  10. package/dist/accessories/Device.js +11 -15
  11. package/dist/accessories/Device.js.map +1 -1
  12. package/dist/accessories/EntrySensorAccessory.js +7 -12
  13. package/dist/accessories/EntrySensorAccessory.js.map +1 -1
  14. package/dist/accessories/LockAccessory.js +20 -24
  15. package/dist/accessories/LockAccessory.js.map +1 -1
  16. package/dist/accessories/MotionSensorAccessory.js +7 -12
  17. package/dist/accessories/MotionSensorAccessory.js.map +1 -1
  18. package/dist/accessories/StationAccessory.js +40 -45
  19. package/dist/accessories/StationAccessory.js.map +1 -1
  20. package/dist/config.js +1 -4
  21. package/dist/config.js.map +1 -1
  22. package/dist/controller/LocalLivestreamManager.js +85 -89
  23. package/dist/controller/LocalLivestreamManager.js.map +1 -1
  24. package/dist/controller/recordingDelegate.js +116 -108
  25. package/dist/controller/recordingDelegate.js.map +1 -1
  26. package/dist/controller/snapshotDelegate.js +379 -0
  27. package/dist/controller/snapshotDelegate.js.map +1 -0
  28. package/dist/controller/streamingDelegate.js +202 -207
  29. package/dist/controller/streamingDelegate.js.map +1 -1
  30. package/dist/index.js +9 -7
  31. package/dist/index.js.map +1 -1
  32. package/dist/interfaces.js +1 -2
  33. package/dist/interfaces.js.map +1 -1
  34. package/dist/platform.js +145 -165
  35. package/dist/platform.js.map +1 -1
  36. package/dist/settings.js +26 -19
  37. package/dist/settings.js.map +1 -1
  38. package/dist/utils/Talkback.js +9 -13
  39. package/dist/utils/Talkback.js.map +1 -1
  40. package/dist/utils/configTypes.js +12 -7
  41. package/dist/utils/configTypes.js.map +1 -1
  42. package/dist/utils/ffmpeg.js +44 -52
  43. package/dist/utils/ffmpeg.js.map +1 -1
  44. package/dist/utils/interfaces.js +1 -5
  45. package/dist/utils/interfaces.js.map +1 -1
  46. package/dist/utils/utils.js +32 -134
  47. package/dist/utils/utils.js.map +1 -1
  48. package/dist/version.js +1 -4
  49. package/dist/version.js.map +1 -1
  50. package/eslint.config.mjs +25 -47
  51. package/homebridge-eufy-security.png +0 -0
  52. package/homebridge-ui/public/app.js +221 -0
  53. package/homebridge-ui/public/assets/devices/eufycam3pro_large.png +0 -0
  54. package/homebridge-ui/public/assets/devices/homebase3_large.png +0 -0
  55. package/homebridge-ui/public/assets/devices/homebasemini_large.jpg +0 -0
  56. package/homebridge-ui/public/assets/devices/indoorcamC210_large.png +0 -0
  57. package/homebridge-ui/public/assets/devices/indoorcamC220_large.png +0 -0
  58. package/homebridge-ui/public/assets/devices/indoorcamE30_large.png +0 -0
  59. package/homebridge-ui/public/assets/devices/solocamc35_large.png +0 -0
  60. package/homebridge-ui/public/assets/devices/solocame30_large.png +0 -0
  61. package/homebridge-ui/public/components/device-card.js +141 -0
  62. package/homebridge-ui/public/components/guard-modes.js +88 -0
  63. package/homebridge-ui/public/components/number-input.js +121 -0
  64. package/homebridge-ui/public/components/select.js +73 -0
  65. package/homebridge-ui/public/components/toggle.js +68 -0
  66. package/homebridge-ui/public/index.html +24 -14
  67. package/homebridge-ui/public/services/api.js +129 -0
  68. package/homebridge-ui/public/services/config.js +144 -0
  69. package/homebridge-ui/public/style.css +705 -0
  70. package/homebridge-ui/public/utils/countries.js +73 -0
  71. package/homebridge-ui/public/utils/device-images.js +69 -0
  72. package/homebridge-ui/public/utils/helpers.js +47 -0
  73. package/homebridge-ui/public/views/dashboard.js +211 -0
  74. package/homebridge-ui/public/views/device-detail.js +631 -0
  75. package/homebridge-ui/public/views/login.js +625 -0
  76. package/homebridge-ui/public/views/settings.js +389 -0
  77. package/homebridge-ui/public/views/unsupported-detail.js +216 -0
  78. package/homebridge-ui/server.js +567 -450
  79. package/package.json +19 -59
  80. package/dist/accessories/AutoSyncStationAccessory.d.ts +0 -42
  81. package/dist/accessories/AutoSyncStationAccessory.d.ts.map +0 -1
  82. package/dist/accessories/BaseAccessory.d.ts +0 -56
  83. package/dist/accessories/BaseAccessory.d.ts.map +0 -1
  84. package/dist/accessories/CameraAccessory.d.ts +0 -84
  85. package/dist/accessories/CameraAccessory.d.ts.map +0 -1
  86. package/dist/accessories/Device.d.ts +0 -19
  87. package/dist/accessories/Device.d.ts.map +0 -1
  88. package/dist/accessories/EntrySensorAccessory.d.ts +0 -25
  89. package/dist/accessories/EntrySensorAccessory.d.ts.map +0 -1
  90. package/dist/accessories/LockAccessory.d.ts +0 -45
  91. package/dist/accessories/LockAccessory.d.ts.map +0 -1
  92. package/dist/accessories/MotionSensorAccessory.d.ts +0 -25
  93. package/dist/accessories/MotionSensorAccessory.d.ts.map +0 -1
  94. package/dist/accessories/StationAccessory.d.ts +0 -86
  95. package/dist/accessories/StationAccessory.d.ts.map +0 -1
  96. package/dist/config.d.ts +0 -31
  97. package/dist/config.d.ts.map +0 -1
  98. package/dist/controller/LocalLivestreamManager.d.ts +0 -31
  99. package/dist/controller/LocalLivestreamManager.d.ts.map +0 -1
  100. package/dist/controller/SnapshotManager.d.ts +0 -64
  101. package/dist/controller/SnapshotManager.d.ts.map +0 -1
  102. package/dist/controller/SnapshotManager.js +0 -434
  103. package/dist/controller/SnapshotManager.js.map +0 -1
  104. package/dist/controller/recordingDelegate.d.ts +0 -27
  105. package/dist/controller/recordingDelegate.d.ts.map +0 -1
  106. package/dist/controller/streamingDelegate.d.ts +0 -52
  107. package/dist/controller/streamingDelegate.d.ts.map +0 -1
  108. package/dist/index.d.ts +0 -7
  109. package/dist/index.d.ts.map +0 -1
  110. package/dist/interfaces.d.ts +0 -15
  111. package/dist/interfaces.d.ts.map +0 -1
  112. package/dist/platform.d.ts +0 -94
  113. package/dist/platform.d.ts.map +0 -1
  114. package/dist/settings.d.ts +0 -23
  115. package/dist/settings.d.ts.map +0 -1
  116. package/dist/utils/Talkback.d.ts +0 -21
  117. package/dist/utils/Talkback.d.ts.map +0 -1
  118. package/dist/utils/configTypes.d.ts +0 -68
  119. package/dist/utils/configTypes.d.ts.map +0 -1
  120. package/dist/utils/ffmpeg.d.ts +0 -111
  121. package/dist/utils/ffmpeg.d.ts.map +0 -1
  122. package/dist/utils/interfaces.d.ts +0 -8
  123. package/dist/utils/interfaces.d.ts.map +0 -1
  124. package/dist/utils/utils.d.ts +0 -35
  125. package/dist/utils/utils.d.ts.map +0 -1
  126. package/dist/version.d.ts +0 -2
  127. package/dist/version.d.ts.map +0 -1
  128. package/homebridge-ui/configui/app/util/types.d.ts +0 -65
  129. package/homebridge-ui/configui/app/util/types.d.ts.map +0 -1
  130. package/homebridge-ui/configui/app/util/types.js +0 -18
  131. package/homebridge-ui/configui/app/util/types.js.map +0 -1
  132. package/homebridge-ui/public/3rdpartylicenses.txt +0 -561
  133. package/homebridge-ui/public/assets/devices/homebase2_large.jpg +0 -0
  134. package/homebridge-ui/public/assets/devices/homebase3_large.jpg +0 -0
  135. package/homebridge-ui/public/assets/images/homebridge-eufy-security.png +0 -0
  136. package/homebridge-ui/public/favicon.ico +0 -0
  137. package/homebridge-ui/public/main.f6423287e0411c87.js +0 -1
  138. package/homebridge-ui/public/polyfills.efa2f09ba3e49167.js +0 -1
  139. package/homebridge-ui/public/runtime.ccde331d62c423b3.js +0 -1
  140. package/homebridge-ui/public/styles.13e635bf7a488639.css +0 -5
  141. package/homebridge-ui/server.d.ts +0 -2
  142. package/homebridge-ui/server.d.ts.map +0 -1
  143. package/homebridge-ui/server.js.map +0 -1
  144. package/homebridge-ui/version.d.ts +0 -2
  145. package/homebridge-ui/version.d.ts.map +0 -1
  146. package/homebridge-ui/version.js +0 -5
  147. package/homebridge-ui/version.js.map +0 -1
@@ -1,20 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CameraAccessory = void 0;
4
- const Device_1 = require("./Device");
5
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1
+ import { DeviceAccessory } from './Device.js';
6
2
  // @ts-ignore
7
- const eufy_security_client_1 = require("eufy-security-client");
8
- const configTypes_1 = require("../utils/configTypes");
9
- const utils_1 = require("../utils/utils");
10
- const streamingDelegate_1 = require("../controller/streamingDelegate");
11
- const recordingDelegate_1 = require("../controller/recordingDelegate");
3
+ import { PropertyName, CommandName } from 'eufy-security-client';
4
+ import { DEFAULT_CAMERACONFIG_VALUES } from '../utils/configTypes.js';
5
+ import { CHAR, SERV } from '../utils/utils.js';
6
+ import { StreamingDelegate } from '../controller/streamingDelegate.js';
7
+ import { RecordingDelegate } from '../controller/recordingDelegate.js';
12
8
  /**
13
9
  * Platform Accessory
14
10
  * An instance of this class is created for each accessory your platform registers
15
11
  * Each accessory may expose multiple services of different service types.
16
12
  */
17
- class CameraAccessory extends Device_1.DeviceAccessory {
13
+ export class CameraAccessory extends DeviceAccessory {
18
14
  // Define the object variable to hold the boolean and timestamp
19
15
  cameraStatus;
20
16
  notificationTimeout = null;
@@ -109,13 +105,13 @@ class CameraAccessory extends Device_1.DeviceAccessory {
109
105
  }
110
106
  setupSwitchService(serviceName, serviceType, propertyName) {
111
107
  const platformServiceMapping = {
112
- switch: utils_1.SERV.Switch,
113
- lightbulb: utils_1.SERV.Lightbulb,
114
- outlet: utils_1.SERV.Outlet,
108
+ switch: SERV.Switch,
109
+ lightbulb: SERV.Lightbulb,
110
+ outlet: SERV.Outlet,
115
111
  };
116
112
  this.registerCharacteristic({
117
- serviceType: platformServiceMapping[serviceType] || utils_1.SERV.Switch,
118
- characteristicType: utils_1.CHAR.On,
113
+ serviceType: platformServiceMapping[serviceType] || SERV.Switch,
114
+ characteristicType: CHAR.On,
119
115
  name: this.accessory.displayName + ' ' + serviceName,
120
116
  serviceSubType: serviceName,
121
117
  getValue: (data, characteristic) => this.getCameraPropertyValue(characteristic, propertyName),
@@ -123,16 +119,16 @@ class CameraAccessory extends Device_1.DeviceAccessory {
123
119
  });
124
120
  }
125
121
  async setupEnableButton() {
126
- this.setupButtonService('Enabled', this.cameraConfig.enableButton, eufy_security_client_1.PropertyName.DeviceEnabled, 'switch');
122
+ this.setupButtonService('Enabled', this.cameraConfig.enableButton, PropertyName.DeviceEnabled, 'switch');
127
123
  }
128
124
  async setupMotionButton() {
129
- this.setupButtonService('Motion', this.cameraConfig.motionButton, eufy_security_client_1.PropertyName.DeviceMotionDetection, 'switch');
125
+ this.setupButtonService('Motion', this.cameraConfig.motionButton, PropertyName.DeviceMotionDetection, 'switch');
130
126
  }
131
127
  async setupLightButton() {
132
- this.setupButtonService('Light', this.cameraConfig.lightButton, eufy_security_client_1.PropertyName.DeviceLight, 'lightbulb');
128
+ this.setupButtonService('Light', this.cameraConfig.lightButton, PropertyName.DeviceLight, 'lightbulb');
133
129
  }
134
130
  async setupChimeButton() {
135
- this.setupButtonService('IndoorChime', this.cameraConfig.indoorChimeButton, eufy_security_client_1.PropertyName.DeviceChimeIndoor, 'switch');
131
+ this.setupButtonService('IndoorChime', this.cameraConfig.indoorChimeButton, PropertyName.DeviceChimeIndoor, 'switch');
136
132
  }
137
133
  /**
138
134
  * Get the configuration for a camera device.
@@ -147,7 +143,7 @@ class CameraAccessory extends Device_1.DeviceAccessory {
147
143
  const foundConfig = this.platform.config.cameras?.find(e => e.serialNumber === this.device.getSerial()) ?? {};
148
144
  // Combine default and specific configurations
149
145
  const config = {
150
- ...configTypes_1.DEFAULT_CAMERACONFIG_VALUES,
146
+ ...DEFAULT_CAMERACONFIG_VALUES,
151
147
  ...foundConfig,
152
148
  name: this.accessory.displayName,
153
149
  };
@@ -157,7 +153,7 @@ class CameraAccessory extends Device_1.DeviceAccessory {
157
153
  }
158
154
  config.videoConfig.debug = config.videoConfig?.debug ?? true;
159
155
  // Validate talkback setting
160
- if (config.talkback && !this.device.hasCommand(eufy_security_client_1.CommandName.DeviceStartTalkback)) {
156
+ if (config.talkback && !this.device.hasCommand(CommandName.DeviceStartTalkback)) {
161
157
  this.log.warn('Talkback for this device is not supported!');
162
158
  config.talkback = false;
163
159
  }
@@ -170,90 +166,13 @@ class CameraAccessory extends Device_1.DeviceAccessory {
170
166
  return config;
171
167
  }
172
168
  cameraFunction() {
173
- if (!this.cameraConfig.hsv) {
174
- this.registerCharacteristic({
175
- serviceType: utils_1.SERV.CameraOperatingMode,
176
- characteristicType: utils_1.CHAR.EventSnapshotsActive,
177
- getValue: () => this.handleDummyEventGet('EventSnapshotsActive'),
178
- setValue: (value) => this.handleDummyEventSet('EventSnapshotsActive', value),
179
- });
180
- this.registerCharacteristic({
181
- serviceType: utils_1.SERV.CameraOperatingMode,
182
- characteristicType: utils_1.CHAR.HomeKitCameraActive,
183
- getValue: (data, characteristic) => this.getCameraPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceEnabled),
184
- setValue: (value, characteristic) => this.setCameraPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceEnabled, value),
185
- onValue: (service, characteristic) => {
186
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
187
- this.device.on('property changed', (device, name, value) => {
188
- this.applyPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceEnabled, value);
189
- });
190
- },
191
- });
192
- if (this.device.hasProperty('enabled')) {
193
- this.registerCharacteristic({
194
- serviceType: utils_1.SERV.CameraOperatingMode,
195
- characteristicType: utils_1.CHAR.ManuallyDisabled,
196
- getValue: (data, characteristic) => this.getCameraPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceEnabled),
197
- onValue: (service, characteristic) => {
198
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
199
- this.device.on('property changed', (device, name, value) => {
200
- this.applyPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceEnabled, value);
201
- });
202
- },
203
- });
204
- }
205
- if (this.device.hasProperty('statusLed')) {
206
- this.registerCharacteristic({
207
- serviceType: utils_1.SERV.CameraOperatingMode,
208
- characteristicType: utils_1.CHAR.CameraOperatingModeIndicator,
209
- getValue: (data, characteristic) => this.getCameraPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceStatusLed),
210
- setValue: (value, characteristic) => this.setCameraPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceStatusLed, value),
211
- onValue: (service, characteristic) => {
212
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
213
- this.device.on('property changed', (device, name, value) => {
214
- this.applyPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceStatusLed, value);
215
- });
216
- },
217
- });
218
- }
219
- if (this.device.hasProperty('nightvision')) {
220
- this.registerCharacteristic({
221
- serviceType: utils_1.SERV.CameraOperatingMode,
222
- characteristicType: utils_1.CHAR.NightVision,
223
- getValue: (data, characteristic) => this.getCameraPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceNightvision),
224
- setValue: (value, characteristic) => this.setCameraPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceNightvision, value),
225
- onValue: (service, characteristic) => {
226
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
227
- this.device.on('property changed', (device, name, value) => {
228
- this.applyPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceNightvision, value);
229
- });
230
- },
231
- });
232
- }
233
- if (this.device.hasProperty('autoNightvision')) {
234
- this.registerCharacteristic({
235
- serviceType: utils_1.SERV.CameraOperatingMode,
236
- characteristicType: utils_1.CHAR.NightVision,
237
- getValue: (data, characteristic) => this.getCameraPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceAutoNightvision),
238
- setValue: (value, characteristic) => this.setCameraPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceAutoNightvision, value),
239
- onValue: (service, characteristic) => {
240
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
241
- this.device.on('property changed', (device, name, value) => {
242
- this.applyPropertyValue(characteristic, eufy_security_client_1.PropertyName.DeviceAutoNightvision, value);
243
- });
244
- },
245
- });
246
- }
247
- this.getService(utils_1.SERV.CameraOperatingMode).setPrimaryService(true);
248
- }
249
169
  // Fire snapshot when motion detected
250
170
  this.registerCharacteristic({
251
- serviceType: utils_1.SERV.MotionSensor,
252
- characteristicType: utils_1.CHAR.MotionDetected,
253
- getValue: () => this.device.getPropertyValue(eufy_security_client_1.PropertyName.DeviceMotionDetected),
171
+ serviceType: SERV.MotionSensor,
172
+ characteristicType: CHAR.MotionDetected,
173
+ getValue: () => this.device.getPropertyValue(PropertyName.DeviceMotionDetected),
254
174
  onValue: (service, characteristic) => {
255
175
  this.eventTypesToHandle.forEach(eventType => {
256
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
257
176
  this.device.on(eventType, (device, state) => {
258
177
  this.log.info(`MOTION DETECTED (${eventType})': ${state}`);
259
178
  characteristic.updateValue(state);
@@ -296,8 +215,8 @@ class CameraAccessory extends Device_1.DeviceAccessory {
296
215
  // }
297
216
  if (this.device.isDoorbell()) {
298
217
  this.registerCharacteristic({
299
- serviceType: utils_1.SERV.Doorbell,
300
- characteristicType: utils_1.CHAR.ProgrammableSwitchEvent,
218
+ serviceType: SERV.Doorbell,
219
+ characteristicType: CHAR.ProgrammableSwitchEvent,
301
220
  onValue: (service, characteristic) => {
302
221
  this.device.on('rings', () => this.onDeviceRingsPushNotification(characteristic));
303
222
  },
@@ -308,35 +227,34 @@ class CameraAccessory extends Device_1.DeviceAccessory {
308
227
  setupMotionFunction() {
309
228
  // Register the motion sensor characteristic for detecting motion.
310
229
  this.registerCharacteristic({
311
- serviceType: utils_1.SERV.MotionSensor,
312
- characteristicType: utils_1.CHAR.MotionDetected,
313
- getValue: () => this.device.getPropertyValue(eufy_security_client_1.PropertyName.DeviceMotionDetected),
230
+ serviceType: SERV.MotionSensor,
231
+ characteristicType: CHAR.MotionDetected,
232
+ getValue: () => this.device.getPropertyValue(PropertyName.DeviceMotionDetected),
314
233
  onMultipleValue: this.eventTypesToHandle,
315
234
  });
316
235
  // If the camera is disabled, flag the motion sensor as tampered.
317
236
  // This is done because the motion sensor won't work until the camera is enabled again.
318
237
  this.registerCharacteristic({
319
- serviceType: utils_1.SERV.MotionSensor,
320
- characteristicType: utils_1.CHAR.StatusTampered,
238
+ serviceType: SERV.MotionSensor,
239
+ characteristicType: CHAR.StatusTampered,
321
240
  getValue: () => {
322
- const tampered = this.device.getPropertyValue(eufy_security_client_1.PropertyName.DeviceEnabled);
241
+ const tampered = this.device.getPropertyValue(PropertyName.DeviceEnabled);
323
242
  this.log.debug(`TAMPERED? ${!tampered}`);
324
243
  return tampered
325
- ? utils_1.CHAR.StatusTampered.NOT_TAMPERED
326
- : utils_1.CHAR.StatusTampered.TAMPERED;
244
+ ? CHAR.StatusTampered.NOT_TAMPERED
245
+ : CHAR.StatusTampered.TAMPERED;
327
246
  },
328
247
  });
329
248
  if (this.device.isDoorbell()) {
330
249
  this.registerCharacteristic({
331
- serviceType: utils_1.SERV.Doorbell,
332
- characteristicType: utils_1.CHAR.ProgrammableSwitchEvent,
250
+ serviceType: SERV.Doorbell,
251
+ characteristicType: CHAR.ProgrammableSwitchEvent,
333
252
  onValue: (service, characteristic) => {
334
253
  this.device.on('rings', () => this.onDeviceRingsPushNotification(characteristic));
335
254
  },
336
255
  });
337
256
  }
338
257
  }
339
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
340
258
  getCameraPropertyValue(characteristic, propertyName) {
341
259
  try {
342
260
  const value = this.device.getPropertyValue(propertyName);
@@ -347,14 +265,13 @@ class CameraAccessory extends Device_1.DeviceAccessory {
347
265
  return false;
348
266
  }
349
267
  }
350
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
351
268
  applyPropertyValue(characteristic, propertyName, value) {
352
269
  this.log.debug(`GET '${characteristic.displayName}' ${propertyName}: ${value}`);
353
- if (propertyName === eufy_security_client_1.PropertyName.DeviceNightvision) {
270
+ if (propertyName === PropertyName.DeviceNightvision) {
354
271
  return value === 1;
355
272
  }
356
273
  // Override for PropertyName.DeviceEnabled when enabled button is fired and
357
- if (propertyName === eufy_security_client_1.PropertyName.DeviceEnabled &&
274
+ if (propertyName === PropertyName.DeviceEnabled &&
358
275
  Date.now() - this.cameraStatus.timestamp <= 60000) {
359
276
  this.log.debug(`CACHED for (1 min) '${characteristic.displayName}' ${propertyName}: ${this.cameraStatus.isEnabled}`);
360
277
  value = this.cameraStatus.isEnabled;
@@ -368,17 +285,16 @@ class CameraAccessory extends Device_1.DeviceAccessory {
368
285
  }
369
286
  return value;
370
287
  }
371
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
372
288
  async setCameraPropertyValue(characteristic, propertyName, value) {
373
289
  try {
374
290
  this.log.debug(`SET '${characteristic.displayName}' ${propertyName}: ${value}`);
375
291
  await this.setPropertyValue(propertyName, value);
376
- if (propertyName === eufy_security_client_1.PropertyName.DeviceEnabled &&
292
+ if (propertyName === PropertyName.DeviceEnabled &&
377
293
  characteristic.displayName === 'On') {
378
294
  characteristic.updateValue(value);
379
295
  this.cameraStatus = { isEnabled: value, timestamp: Date.now() };
380
- characteristic = this.getService(utils_1.SERV.CameraOperatingMode)
381
- .getCharacteristic(utils_1.CHAR.ManuallyDisabled);
296
+ characteristic = this.getService(SERV.CameraOperatingMode)
297
+ .getCharacteristic(CHAR.ManuallyDisabled);
382
298
  this.log.debug(`INVERSED '${characteristic.displayName}' ${propertyName}: ${!value}`);
383
299
  value = !value;
384
300
  }
@@ -396,7 +312,7 @@ class CameraAccessory extends Device_1.DeviceAccessory {
396
312
  onDeviceRingsPushNotification(characteristic) {
397
313
  if (!this.notificationTimeout) {
398
314
  this.log.debug(`DoorBell ringing`);
399
- characteristic.updateValue(utils_1.CHAR.ProgrammableSwitchEvent.SINGLE_PRESS);
315
+ characteristic.updateValue(CHAR.ProgrammableSwitchEvent.SINGLE_PRESS);
400
316
  // Set a new timeout for muting subsequent notifications
401
317
  this.notificationTimeout = setTimeout(() => {
402
318
  this.notificationTimeout = null;
@@ -416,18 +332,32 @@ class CameraAccessory extends Device_1.DeviceAccessory {
416
332
  this.log.debug(`configureVideoStream`);
417
333
  try {
418
334
  this.log.debug(`StreamingDelegate`);
419
- this.streamingDelegate = new streamingDelegate_1.StreamingDelegate(this);
335
+ this.streamingDelegate = new StreamingDelegate(this);
420
336
  this.log.debug(`RecordingDelegate`);
421
- this.recordingDelegate = new recordingDelegate_1.RecordingDelegate(this.platform, this.accessory, this.device, this.cameraConfig, this.streamingDelegate.getLivestreamManager());
337
+ this.recordingDelegate = new RecordingDelegate(this.platform, this.accessory, this.device, this.cameraConfig, this.streamingDelegate.getLivestreamManager());
422
338
  this.log.debug(`Controller`);
423
339
  const controller = new this.platform.api.hap.CameraController(this.getCameraControllerOptions());
424
340
  this.log.debug(`streamingDelegate.setController`);
425
341
  this.streamingDelegate.setController(controller);
426
- if (this.cameraConfig.hsv) {
427
- this.log.debug(`recordingDelegate.setController`);
428
- this.recordingDelegate.setController(controller);
429
- }
342
+ this.log.debug(`recordingDelegate.setController`);
343
+ this.recordingDelegate.setController(controller);
430
344
  this.log.debug(`configureController`);
345
+ // Remove stale controller-managed services from cache before configuring.
346
+ // When HSV is enabled, CameraController creates CameraOperatingMode and
347
+ // DataStreamTransportManagement services automatically. If the cached
348
+ // accessory already has them (e.g. from a previous run), configureController
349
+ // will throw a duplicate UUID error.
350
+ const controllerManagedServiceUUIDs = [
351
+ '0000021A-0000-1000-8000-0026BB765291', // CameraOperatingMode
352
+ '00000129-0000-1000-8000-0026BB765291', // DataStreamTransportManagement
353
+ ];
354
+ for (const uuid of controllerManagedServiceUUIDs) {
355
+ const existingService = this.accessory.services.find(s => s.UUID === uuid);
356
+ if (existingService) {
357
+ this.log.debug(`Removing stale cached service ${uuid} before configureController`);
358
+ this.accessory.removeService(existingService);
359
+ }
360
+ }
431
361
  this.accessory.configureController(controller);
432
362
  }
433
363
  catch (error) {
@@ -458,49 +388,44 @@ class CameraAccessory extends Device_1.DeviceAccessory {
458
388
  ],
459
389
  },
460
390
  },
461
- recording: this.cameraConfig.hsv
462
- ? {
463
- options: {
464
- overrideEventTriggerOptions: [
465
- 1 /* EventTriggerOption.MOTION */,
466
- 2 /* EventTriggerOption.DOORBELL */,
467
- ],
468
- prebufferLength: 0, // prebufferLength always remains 4s ?
469
- mediaContainerConfiguration: [
470
- {
471
- type: 0 /* MediaContainerType.FRAGMENTED_MP4 */,
472
- fragmentLength: 4000,
473
- },
474
- ],
475
- video: {
476
- type: 0 /* this.platform.api.hap.VideoCodecType.H264 */,
477
- parameters: {
478
- profiles: [0 /* H264Profile.BASELINE */, 1 /* H264Profile.MAIN */, 2 /* H264Profile.HIGH */],
479
- levels: [0 /* H264Level.LEVEL3_1 */, 1 /* H264Level.LEVEL3_2 */, 2 /* H264Level.LEVEL4_0 */],
480
- },
481
- resolutions: this.resolutions,
391
+ recording: {
392
+ options: {
393
+ overrideEventTriggerOptions: [
394
+ 1 /* EventTriggerOption.MOTION */,
395
+ 2 /* EventTriggerOption.DOORBELL */,
396
+ ],
397
+ prebufferLength: 0, // prebufferLength always remains 4s ?
398
+ mediaContainerConfiguration: [
399
+ {
400
+ type: 0 /* MediaContainerType.FRAGMENTED_MP4 */,
401
+ fragmentLength: 4000,
482
402
  },
483
- audio: {
484
- codecs: {
485
- type: 1 /* AudioRecordingCodecType.AAC_ELD */,
486
- samplerate: 2 /* AudioRecordingSamplerate.KHZ_24 */,
487
- bitrateMode: 0,
488
- audioChannels: 1,
489
- },
403
+ ],
404
+ video: {
405
+ type: 0 /* this.platform.api.hap.VideoCodecType.H264 */,
406
+ parameters: {
407
+ profiles: [0 /* H264Profile.BASELINE */, 1 /* H264Profile.MAIN */, 2 /* H264Profile.HIGH */],
408
+ levels: [0 /* H264Level.LEVEL3_1 */, 1 /* H264Level.LEVEL3_2 */, 2 /* H264Level.LEVEL4_0 */],
490
409
  },
410
+ resolutions: this.resolutions,
491
411
  },
492
- delegate: this.recordingDelegate,
493
- }
494
- : undefined,
495
- sensors: this.cameraConfig.hsv
496
- ? {
497
- motion: this.getService(utils_1.SERV.MotionSensor),
498
- occupancy: undefined,
499
- }
500
- : undefined,
412
+ audio: {
413
+ codecs: {
414
+ type: 1 /* AudioRecordingCodecType.AAC_ELD */,
415
+ samplerate: 2 /* AudioRecordingSamplerate.KHZ_24 */,
416
+ bitrateMode: 0,
417
+ audioChannels: 1,
418
+ },
419
+ },
420
+ },
421
+ delegate: this.recordingDelegate,
422
+ },
423
+ sensors: {
424
+ motion: this.getService(SERV.MotionSensor),
425
+ occupancy: undefined,
426
+ },
501
427
  };
502
428
  return option;
503
429
  }
504
430
  }
505
- exports.CameraAccessory = CameraAccessory;
506
431
  //# sourceMappingURL=CameraAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CameraAccessory.js","sourceRoot":"","sources":["../../src/plugin/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,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeviceAccessory = void 0;
4
- const BaseAccessory_1 = require("./BaseAccessory");
5
- const eufy_security_client_1 = require("eufy-security-client");
6
- const utils_1 = require("../utils/utils");
7
- class DeviceAccessory extends BaseAccessory_1.BaseAccessory {
1
+ import { BaseAccessory } from './BaseAccessory.js';
2
+ import { PropertyName } from 'eufy-security-client';
3
+ import { CHAR, SERV } from '../utils/utils.js';
4
+ export class DeviceAccessory extends BaseAccessory {
8
5
  constructor(platform, accessory, device) {
9
6
  super(platform, accessory, device);
10
7
  }
@@ -35,22 +32,22 @@ class DeviceAccessory extends BaseAccessory_1.BaseAccessory {
35
32
  const propertiesToRegister = [
36
33
  {
37
34
  property: 'battery',
38
- characteristicType: utils_1.CHAR.BatteryLevel,
39
- propertyName: eufy_security_client_1.PropertyName.DeviceBattery,
35
+ characteristicType: CHAR.BatteryLevel,
36
+ propertyName: PropertyName.DeviceBattery,
40
37
  onSimpleValue: null,
41
38
  fallback: 100,
42
39
  },
43
40
  {
44
41
  property: 'batteryLow',
45
- characteristicType: utils_1.CHAR.StatusLowBattery,
46
- propertyName: eufy_security_client_1.PropertyName.DeviceBatteryLow,
42
+ characteristicType: CHAR.StatusLowBattery,
43
+ propertyName: PropertyName.DeviceBatteryLow,
47
44
  onSimpleValue: 'low battery',
48
45
  fallback: false,
49
46
  },
50
47
  {
51
48
  property: 'batteryIsCharging',
52
- characteristicType: utils_1.CHAR.ChargingState,
53
- propertyName: eufy_security_client_1.PropertyName.DeviceBatteryIsCharging,
49
+ characteristicType: CHAR.ChargingState,
50
+ propertyName: PropertyName.DeviceBatteryIsCharging,
54
51
  onSimpleValue: null,
55
52
  fallback: false,
56
53
  },
@@ -58,7 +55,7 @@ class DeviceAccessory extends BaseAccessory_1.BaseAccessory {
58
55
  propertiesToRegister.forEach((propertyConfig) => {
59
56
  if (this.device.hasProperty(propertyConfig.property)) {
60
57
  this.registerCharacteristic({
61
- serviceType: utils_1.SERV.Battery,
58
+ serviceType: SERV.Battery,
62
59
  characteristicType: propertyConfig.characteristicType,
63
60
  getValue: () => this.device.getPropertyValue(propertyConfig.propertyName) || propertyConfig.fallback,
64
61
  onSimpleValue: propertyConfig.onSimpleValue,
@@ -67,5 +64,4 @@ class DeviceAccessory extends BaseAccessory_1.BaseAccessory {
67
64
  });
68
65
  }
69
66
  }
70
- exports.DeviceAccessory = DeviceAccessory;
71
67
  //# sourceMappingURL=Device.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Device.js","sourceRoot":"","sources":["../../src/plugin/accessories/Device.ts"],"names":[],"mappings":";;;AAQA,mDAAgD;AAChD,+DAA4D;AAC5D,0CAA4C;AAK5C,MAAsB,eAAgB,SAAQ,6BAAa;IAEzD,YACE,QAA8B,EAC9B,SAA4B,EAC5B,MAAc;QAEd,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,cAAsB,EAAE,YAA0B;QACxE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,cAAc,KAAK,YAAY,KAAK,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,KAA4B,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,cAAc,KAAK,YAAY,KAAK,KAAK,EAAE,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,YAA0B,EAAE,KAAc;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IAES,kBAAkB,CAC1B,kBAAsC,EACtC,WAAwB,EACxB,KAA0B;QAE1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;aACzB,iBAAiB,CAAC,kBAAkB,CAAC;aACrC,WAAW,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,iBAAiB;QACf,MAAM,oBAAoB,GAAG;YAC3B;gBACE,QAAQ,EAAE,SAAS;gBACnB,kBAAkB,EAAE,YAAI,CAAC,YAAY;gBACrC,YAAY,EAAE,mCAAY,CAAC,aAAa;gBACxC,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,GAAG;aACd;YACD;gBACE,QAAQ,EAAE,YAAY;gBACtB,kBAAkB,EAAE,YAAI,CAAC,gBAAgB;gBACzC,YAAY,EAAE,mCAAY,CAAC,gBAAgB;gBAC3C,aAAa,EAAE,aAAa;gBAC5B,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,QAAQ,EAAE,mBAAmB;gBAC7B,kBAAkB,EAAE,YAAI,CAAC,aAAa;gBACtC,YAAY,EAAE,mCAAY,CAAC,uBAAuB;gBAClD,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC;QAEF,oBAAoB,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,WAAW,EAAE,YAAI,CAAC,OAAO;oBACzB,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;oBACrD,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,cAAc,CAAC,QAAQ;oBACpG,aAAa,EAAE,cAAc,CAAC,aAAa;iBAC5C,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA3ED,0CA2EC"}
1
+ {"version":3,"file":"Device.js","sourceRoot":"","sources":["../../src/accessories/Device.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAU,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAK/C,MAAM,OAAgB,eAAgB,SAAQ,aAAa;IAEzD,YACE,QAA8B,EAC9B,SAA4B,EAC5B,MAAc;QAEd,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,cAAsB,EAAE,YAA0B;QACxE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,cAAc,KAAK,YAAY,KAAK,KAAK,EAAE,CAAC,CAAC;YACpE,OAAO,KAA4B,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,cAAc,KAAK,YAAY,KAAK,KAAK,EAAE,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,YAA0B,EAAE,KAAc;QACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IAES,kBAAkB,CAC1B,kBAAsC,EACtC,WAAwB,EACxB,KAA0B;QAE1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,IAAI,MAAM,KAAK,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;aACzB,iBAAiB,CAAC,kBAAkB,CAAC;aACrC,WAAW,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,iBAAiB;QACf,MAAM,oBAAoB,GAAG;YAC3B;gBACE,QAAQ,EAAE,SAAS;gBACnB,kBAAkB,EAAE,IAAI,CAAC,YAAY;gBACrC,YAAY,EAAE,YAAY,CAAC,aAAa;gBACxC,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,GAAG;aACd;YACD;gBACE,QAAQ,EAAE,YAAY;gBACtB,kBAAkB,EAAE,IAAI,CAAC,gBAAgB;gBACzC,YAAY,EAAE,YAAY,CAAC,gBAAgB;gBAC3C,aAAa,EAAE,aAAa;gBAC5B,QAAQ,EAAE,KAAK;aAChB;YACD;gBACE,QAAQ,EAAE,mBAAmB;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,aAAa;gBACtC,YAAY,EAAE,YAAY,CAAC,uBAAuB;gBAClD,aAAa,EAAE,IAAI;gBACnB,QAAQ,EAAE,KAAK;aAChB;SACF,CAAC;QAEF,oBAAoB,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,sBAAsB,CAAC;oBAC1B,WAAW,EAAE,IAAI,CAAC,OAAO;oBACzB,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;oBACrD,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,cAAc,CAAC,QAAQ;oBACpG,aAAa,EAAE,cAAc,CAAC,aAAa;iBAC5C,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EntrySensorAccessory = void 0;
4
- const Device_1 = require("./Device");
5
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1
+ import { DeviceAccessory } from './Device.js';
6
2
  // @ts-ignore
7
- const eufy_security_client_1 = require("eufy-security-client");
8
- const utils_1 = require("../utils/utils");
3
+ import { PropertyName } from 'eufy-security-client';
4
+ import { CHAR, SERV } from '../utils/utils.js';
9
5
  /**
10
6
  * EntrySensorAccessory Class
11
7
  *
@@ -16,7 +12,7 @@ const utils_1 = require("../utils/utils");
16
12
  * @class EntrySensorAccessory
17
13
  * @extends DeviceAccessory
18
14
  */
19
- class EntrySensorAccessory extends Device_1.DeviceAccessory {
15
+ export class EntrySensorAccessory extends DeviceAccessory {
20
16
  /**
21
17
  * Constructor for EntrySensorAccessory.
22
18
  *
@@ -33,9 +29,9 @@ class EntrySensorAccessory extends Device_1.DeviceAccessory {
33
29
  if (this.device.hasProperty('sensorOpen')) {
34
30
  // Register the Contact Sensor characteristic.
35
31
  this.registerCharacteristic({
36
- serviceType: utils_1.SERV.ContactSensor,
37
- characteristicType: utils_1.CHAR.ContactSensorState,
38
- getValue: () => this.device.getPropertyValue(eufy_security_client_1.PropertyName.DeviceSensorOpen),
32
+ serviceType: SERV.ContactSensor,
33
+ characteristicType: CHAR.ContactSensorState,
34
+ getValue: () => this.device.getPropertyValue(PropertyName.DeviceSensorOpen),
39
35
  onSimpleValue: 'open',
40
36
  });
41
37
  // Initialize the sensor service.
@@ -49,5 +45,4 @@ class EntrySensorAccessory extends Device_1.DeviceAccessory {
49
45
  this.pruneUnusedServices();
50
46
  }
51
47
  }
52
- exports.EntrySensorAccessory = EntrySensorAccessory;
53
48
  //# sourceMappingURL=EntrySensorAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EntrySensorAccessory.js","sourceRoot":"","sources":["../../src/plugin/accessories/EntrySensorAccessory.ts"],"names":[],"mappings":";;;AAEA,qCAA2C;AAE3C,6DAA6D;AAC7D,eAAe;AACf,+DAAiE;AACjE,0CAA4C;AAE5C;;;;;;;;;GASG;AACH,MAAa,oBAAqB,SAAQ,wBAAe;IAEvD;;;;;;OAMG;IACH,YACE,QAA8B,EAC9B,SAA4B,EAC5B,MAAmB;QAEnB,4DAA4D;QAC5D,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAEnC,uEAAuE;QACvE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE3C,qDAAqD;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YAE1C,8CAA8C;YAC9C,IAAI,CAAC,sBAAsB,CAAC;gBAC1B,WAAW,EAAE,YAAI,CAAC,aAAa;gBAC/B,kBAAkB,EAAE,YAAI,CAAC,kBAAkB;gBAC3C,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,mCAAY,CAAC,gBAAgB,CAAC;gBAC3E,aAAa,EAAE,MAAM;aACtB,CAAC,CAAC;YAEH,iCAAiC;YACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3B,CAAC;aAAM,CAAC;YACN,8EAA8E;YAC9E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACtC,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;CACF;AA1CD,oDA0CC"}
1
+ {"version":3,"file":"EntrySensorAccessory.js","sourceRoot":"","sources":["../../src/accessories/EntrySensorAccessory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,eAAe;AACf,OAAO,EAAe,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,OAAO,oBAAqB,SAAQ,eAAe;IAEvD;;;;;;OAMG;IACH,YACE,QAA8B,EAC9B,SAA4B,EAC5B,MAAmB;QAEnB,4DAA4D;QAC5D,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAEnC,uEAAuE;QACvE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE3C,qDAAqD;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YAE1C,8CAA8C;YAC9C,IAAI,CAAC,sBAAsB,CAAC;gBAC1B,WAAW,EAAE,IAAI,CAAC,aAAa;gBAC/B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,gBAAgB,CAAC;gBAC3E,aAAa,EAAE,MAAM;aACtB,CAAC,CAAC;YAEH,iCAAiC;YACjC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3B,CAAC;aAAM,CAAC;YACN,8EAA8E;YAC9E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACtC,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;CACF"}