homebridge-unifi-protect 5.5.2 → 6.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.
Files changed (79) hide show
  1. package/README.md +3 -3
  2. package/config.schema.json +17 -16
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.js +6 -6
  5. package/dist/index.js.map +1 -1
  6. package/dist/protect-camera.d.ts +58 -0
  7. package/dist/protect-camera.js +367 -246
  8. package/dist/protect-camera.js.map +1 -1
  9. package/dist/protect-device.d.ts +48 -0
  10. package/dist/protect-device.js +189 -0
  11. package/dist/protect-device.js.map +1 -0
  12. package/dist/protect-doorbell.d.ts +22 -0
  13. package/dist/protect-doorbell.js +75 -64
  14. package/dist/protect-doorbell.js.map +1 -1
  15. package/dist/protect-ffmpeg-record.d.ts +15 -0
  16. package/dist/protect-ffmpeg-record.js +48 -34
  17. package/dist/protect-ffmpeg-record.js.map +1 -1
  18. package/dist/protect-ffmpeg-stream.d.ts +15 -0
  19. package/dist/protect-ffmpeg-stream.js +22 -12
  20. package/dist/protect-ffmpeg-stream.js.map +1 -1
  21. package/dist/protect-ffmpeg.d.ts +42 -0
  22. package/dist/protect-ffmpeg.js +49 -58
  23. package/dist/protect-ffmpeg.js.map +1 -1
  24. package/dist/protect-light.d.ts +13 -0
  25. package/dist/protect-light.js +63 -40
  26. package/dist/protect-light.js.map +1 -1
  27. package/dist/protect-liveviews.d.ts +17 -0
  28. package/dist/protect-liveviews.js +117 -101
  29. package/dist/protect-liveviews.js.map +1 -1
  30. package/dist/protect-mqtt.d.ts +19 -0
  31. package/dist/protect-mqtt.js +26 -35
  32. package/dist/protect-mqtt.js.map +1 -1
  33. package/dist/protect-nvr-events.d.ts +30 -0
  34. package/dist/protect-nvr-events.js +168 -431
  35. package/dist/protect-nvr-events.js.map +1 -1
  36. package/dist/protect-nvr-systeminfo.d.ts +15 -0
  37. package/dist/protect-nvr-systeminfo.js +43 -49
  38. package/dist/protect-nvr-systeminfo.js.map +1 -1
  39. package/dist/protect-nvr.d.ts +48 -0
  40. package/dist/protect-nvr.js +327 -359
  41. package/dist/protect-nvr.js.map +1 -1
  42. package/dist/protect-options.d.ts +39 -0
  43. package/dist/protect-options.js +172 -6
  44. package/dist/protect-options.js.map +1 -1
  45. package/dist/protect-platform.d.ts +17 -0
  46. package/dist/protect-platform.js +17 -30
  47. package/dist/protect-platform.js.map +1 -1
  48. package/dist/protect-record.d.ts +33 -0
  49. package/dist/protect-record.js +130 -126
  50. package/dist/protect-record.js.map +1 -1
  51. package/dist/protect-rtp.d.ts +29 -0
  52. package/dist/protect-rtp.js +133 -16
  53. package/dist/protect-rtp.js.map +1 -1
  54. package/dist/protect-securitysystem.d.ts +18 -0
  55. package/dist/protect-securitysystem.js +105 -109
  56. package/dist/protect-securitysystem.js.map +1 -1
  57. package/dist/protect-sensor.d.ts +28 -0
  58. package/dist/protect-sensor.js +79 -97
  59. package/dist/protect-sensor.js.map +1 -1
  60. package/dist/protect-stream.d.ts +41 -0
  61. package/dist/protect-stream.js +298 -156
  62. package/dist/protect-stream.js.map +1 -1
  63. package/dist/protect-timeshift.d.ts +30 -0
  64. package/dist/protect-timeshift.js +65 -48
  65. package/dist/protect-timeshift.js.map +1 -1
  66. package/dist/protect-types.d.ts +50 -0
  67. package/dist/protect-types.js +22 -0
  68. package/dist/protect-types.js.map +1 -0
  69. package/dist/protect-viewer.d.ts +17 -0
  70. package/dist/protect-viewer.js +41 -47
  71. package/dist/protect-viewer.js.map +1 -1
  72. package/dist/settings.d.ts +22 -0
  73. package/dist/settings.js +30 -35
  74. package/dist/settings.js.map +1 -1
  75. package/homebridge-ui/public/index.html +715 -0
  76. package/homebridge-ui/server.js +156 -0
  77. package/package.json +15 -16
  78. package/dist/protect-accessory.js +0 -184
  79. package/dist/protect-accessory.js.map +0 -1
@@ -1,39 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProtectSensor = void 0;
4
- /* Copyright(C) 2019-2022, HJD (https://github.com/hjdhjd). All rights reserved.
5
- *
6
- * protect-sensor.ts: Sensor device class for UniFi Protect.
7
- */
8
- const protect_accessory_1 = require("./protect-accessory");
9
- class ProtectSensor extends protect_accessory_1.ProtectAccessory {
1
+ import { ProtectDevice } from "./protect-device.js";
2
+ import { ProtectReservedNames } from "./protect-types.js";
3
+ export class ProtectSensor extends ProtectDevice {
4
+ // Create an instance.
5
+ constructor(nvr, device, accessory) {
6
+ super(nvr, accessory);
7
+ this.ufp = device;
8
+ this.configureHints();
9
+ this.configureDevice();
10
+ }
10
11
  // Initialize and configure the sensor accessory for HomeKit.
11
- async configureDevice() {
12
- var _a;
13
- // Save the device object before we wipeout the context.
14
- const device = this.accessory.context.device;
12
+ configureDevice() {
15
13
  // Clean out the context object in case it's been polluted somehow.
16
14
  this.accessory.context = {};
17
- this.accessory.context.device = device;
18
- this.accessory.context.nvr = (_a = this.nvr.nvrApi.bootstrap) === null || _a === void 0 ? void 0 : _a.nvr.mac;
15
+ this.accessory.context.mac = this.ufp.mac;
16
+ this.accessory.context.nvr = this.nvr.ufp.mac;
19
17
  // Configure accessory information.
20
18
  this.configureInfo();
21
19
  // Configure accessory services.
22
20
  const enabledSensors = this.updateDevice();
23
21
  // Configure MQTT services.
24
22
  this.configureMqtt();
23
+ // Listen for events.
24
+ this.nvr.events.on("updateEvent." + this.ufp.id, this.listeners["updateEvent." + this.ufp.id] = this.eventHandler.bind(this));
25
25
  // Inform the user what we're enabling on startup.
26
26
  if (enabledSensors.length) {
27
- this.log.info("%s: Enabled sensor%s: %s.", this.name(), enabledSensors.length > 1 ? "s" : "", enabledSensors.join(", "));
27
+ this.log.info("Enabled sensor%s: %s.", enabledSensors.length > 1 ? "s" : "", enabledSensors.join(", "));
28
28
  }
29
29
  else {
30
- this.log.info("%s: No sensors enabled.", this.name());
30
+ this.log.info("No sensors enabled.");
31
31
  }
32
- return Promise.resolve(true);
32
+ return true;
33
33
  }
34
34
  // Update accessory services and characteristics.
35
35
  updateDevice() {
36
- var _a, _b;
37
36
  const enabledSensors = [];
38
37
  // Configure the alarm sound sensor.
39
38
  if (this.configureAlarmSoundSensor()) {
@@ -52,7 +51,7 @@ class ProtectSensor extends protect_accessory_1.ProtectAccessory {
52
51
  enabledSensors.push("humidity");
53
52
  }
54
53
  // Configure the motion sensor.
55
- if (this.configureMotionSensor((_b = (_a = this.accessory.context.device) === null || _a === void 0 ? void 0 : _a.motionSettings) === null || _b === void 0 ? void 0 : _b.isEnabled)) {
54
+ if (this.configureMotionSensor(this.ufp.motionSettings?.isEnabled)) {
56
55
  // Sensor accessories also support battery, connection, and tamper status...we need to handle those ourselves.
57
56
  const motionService = this.accessory.getService(this.hap.Service.MotionSensor);
58
57
  if (motionService) {
@@ -69,30 +68,28 @@ class ProtectSensor extends protect_accessory_1.ProtectAccessory {
69
68
  }
70
69
  // Configure the alarm sound sensor for HomeKit.
71
70
  configureAlarmSoundSensor() {
72
- var _a, _b;
73
- const device = this.accessory.context.device;
74
71
  // Find the service, if it exists.
75
- let contactService = this.accessory.getServiceById(this.hap.Service.ContactSensor, protect_accessory_1.ProtectReservedNames.CONTACT_SENSOR_ALARM_SOUND);
72
+ let contactService = this.accessory.getServiceById(this.hap.Service.ContactSensor, ProtectReservedNames.CONTACT_SENSOR_ALARM_SOUND);
76
73
  // Have we disabled the alarm sound sensor?
77
- if (!((_a = device === null || device === void 0 ? void 0 : device.alarmSettings) === null || _a === void 0 ? void 0 : _a.isEnabled)) {
74
+ if (!this.ufp.alarmSettings?.isEnabled) {
78
75
  if (contactService) {
79
76
  this.accessory.removeService(contactService);
80
- this.log.info("%s: Disabling alarm sound contact sensor.", this.name());
77
+ this.log.info("Disabling alarm sound contact sensor.");
81
78
  }
82
79
  return false;
83
80
  }
84
81
  // Add the service to the accessory, if needed.
85
82
  if (!contactService) {
86
- contactService = new this.hap.Service.ContactSensor(this.accessory.displayName + " Alarm Sound", protect_accessory_1.ProtectReservedNames.CONTACT_SENSOR_ALARM_SOUND);
83
+ contactService = new this.hap.Service.ContactSensor(this.accessory.displayName + " Alarm Sound", ProtectReservedNames.CONTACT_SENSOR_ALARM_SOUND);
87
84
  if (!contactService) {
88
- this.log.error("%s: Unable to add alarm sound contact sensor.", this.name());
85
+ this.log.error("Unable to add alarm sound contact sensor.");
89
86
  return false;
90
87
  }
91
88
  this.accessory.addService(contactService);
92
- this.log.info("%s: Enabling alarm sound contact sensor.", this.name());
89
+ this.log.info("Enabling alarm sound contact sensor.");
93
90
  }
94
91
  // Retrieve the current contact sensor state when requested.
95
- (_b = contactService.getCharacteristic(this.hap.Characteristic.ContactSensorState)) === null || _b === void 0 ? void 0 : _b.onGet(() => {
92
+ contactService.getCharacteristic(this.hap.Characteristic.ContactSensorState)?.onGet(() => {
96
93
  return this.getAlarmSound();
97
94
  });
98
95
  // Update the sensor.
@@ -103,15 +100,13 @@ class ProtectSensor extends protect_accessory_1.ProtectAccessory {
103
100
  }
104
101
  // Configure the ambient light sensor for HomeKit.
105
102
  configureAmbientLightSensor() {
106
- var _a, _b;
107
- const device = this.accessory.context.device;
108
103
  // Find the service, if it exists.
109
104
  let lightService = this.accessory.getService(this.hap.Service.LightSensor);
110
105
  // Have we disabled the light sensor?
111
- if (!((_a = device === null || device === void 0 ? void 0 : device.lightSettings) === null || _a === void 0 ? void 0 : _a.isEnabled)) {
106
+ if (!this.ufp.lightSettings?.isEnabled) {
112
107
  if (lightService) {
113
108
  this.accessory.removeService(lightService);
114
- this.log.info("%s: Disabling ambient light sensor.", this.name());
109
+ this.log.info("Disabling ambient light sensor.");
115
110
  }
116
111
  return false;
117
112
  }
@@ -119,14 +114,14 @@ class ProtectSensor extends protect_accessory_1.ProtectAccessory {
119
114
  if (!lightService) {
120
115
  lightService = new this.hap.Service.LightSensor(this.accessory.displayName);
121
116
  if (!lightService) {
122
- this.log.error("%s: Unable to add ambient light sensor.", this.name());
117
+ this.log.error("Unable to add ambient light sensor.");
123
118
  return false;
124
119
  }
125
120
  this.accessory.addService(lightService);
126
- this.log.info("%s: Enabling ambient light sensor.", this.name());
121
+ this.log.info("Enabling ambient light sensor.");
127
122
  }
128
123
  // Retrieve the current light level when requested.
129
- (_b = lightService.getCharacteristic(this.hap.Characteristic.CurrentAmbientLightLevel)) === null || _b === void 0 ? void 0 : _b.onGet(() => {
124
+ lightService.getCharacteristic(this.hap.Characteristic.CurrentAmbientLightLevel)?.onGet(() => {
130
125
  // The minimum value for ambient light in HomeKit is 0.0001. I have no idea why...but it is. Honor it.
131
126
  const value = this.getAmbientLight();
132
127
  return value >= 0.0001 ? value : 0.0001;
@@ -140,30 +135,28 @@ class ProtectSensor extends protect_accessory_1.ProtectAccessory {
140
135
  }
141
136
  // Configure the contact sensor for HomeKit.
142
137
  configureContactSensor() {
143
- var _a;
144
- const device = this.accessory.context.device;
145
138
  // Find the service, if it exists.
146
- let contactService = this.accessory.getServiceById(this.hap.Service.ContactSensor, protect_accessory_1.ProtectReservedNames.CONTACT_SENSOR);
139
+ let contactService = this.accessory.getServiceById(this.hap.Service.ContactSensor, ProtectReservedNames.CONTACT_SENSOR);
147
140
  // Have we disabled the sensor?
148
- if (!(device === null || device === void 0 ? void 0 : device.mountType) || (device.mountType === "none")) {
141
+ if (!this.ufp.mountType || (this.ufp.mountType === "none")) {
149
142
  if (contactService) {
150
143
  this.accessory.removeService(contactService);
151
- this.log.info("%s: Disabling contact sensor.", this.name());
144
+ this.log.info("Disabling contact sensor.");
152
145
  }
153
146
  return false;
154
147
  }
155
148
  // Add the service to the accessory, if needed.
156
149
  if (!contactService) {
157
- contactService = new this.hap.Service.ContactSensor(this.accessory.displayName, protect_accessory_1.ProtectReservedNames.CONTACT_SENSOR);
150
+ contactService = new this.hap.Service.ContactSensor(this.accessory.displayName, ProtectReservedNames.CONTACT_SENSOR);
158
151
  if (!contactService) {
159
- this.log.error("%s: Unable to add contact sensor.", this.name());
152
+ this.log.error("Unable to add contact sensor.");
160
153
  return false;
161
154
  }
162
155
  this.accessory.addService(contactService);
163
- this.log.info("%s: Enabling contact sensor.", this.name());
156
+ this.log.info("Enabling contact sensor.");
164
157
  }
165
158
  // Retrieve the current contact sensor state when requested.
166
- (_a = contactService.getCharacteristic(this.hap.Characteristic.ContactSensorState)) === null || _a === void 0 ? void 0 : _a.onGet(() => {
159
+ contactService.getCharacteristic(this.hap.Characteristic.ContactSensorState)?.onGet(() => {
167
160
  return this.getContact();
168
161
  });
169
162
  // Update the sensor.
@@ -174,15 +167,13 @@ class ProtectSensor extends protect_accessory_1.ProtectAccessory {
174
167
  }
175
168
  // Configure the humidity sensor for HomeKit.
176
169
  configureHumiditySensor() {
177
- var _a, _b;
178
- const device = this.accessory.context.device;
179
170
  // Find the service, if it exists.
180
171
  let humidityService = this.accessory.getService(this.hap.Service.HumiditySensor);
181
172
  // Have we disabled the sensor?
182
- if (!((_a = device === null || device === void 0 ? void 0 : device.humiditySettings) === null || _a === void 0 ? void 0 : _a.isEnabled)) {
173
+ if (!this.ufp.humiditySettings?.isEnabled) {
183
174
  if (humidityService) {
184
175
  this.accessory.removeService(humidityService);
185
- this.log.info("%s: Disabling humidity sensor.", this.name());
176
+ this.log.info("Disabling humidity sensor.");
186
177
  }
187
178
  return false;
188
179
  }
@@ -190,14 +181,14 @@ class ProtectSensor extends protect_accessory_1.ProtectAccessory {
190
181
  if (!humidityService) {
191
182
  humidityService = new this.hap.Service.HumiditySensor(this.accessory.displayName);
192
183
  if (!humidityService) {
193
- this.log.error("%s: Unable to add humidity sensor.", this.name());
184
+ this.log.error("Unable to add humidity sensor.");
194
185
  return false;
195
186
  }
196
187
  this.accessory.addService(humidityService);
197
- this.log.info("%s: Enabling humidity sensor.", this.name());
188
+ this.log.info("Enabling humidity sensor.");
198
189
  }
199
190
  // Retrieve the current humidity when requested.
200
- (_b = humidityService.getCharacteristic(this.hap.Characteristic.CurrentRelativeHumidity)) === null || _b === void 0 ? void 0 : _b.onGet(() => {
191
+ humidityService.getCharacteristic(this.hap.Characteristic.CurrentRelativeHumidity)?.onGet(() => {
201
192
  const value = this.getHumidity();
202
193
  return value < 0 ? 0 : value;
203
194
  });
@@ -210,15 +201,13 @@ class ProtectSensor extends protect_accessory_1.ProtectAccessory {
210
201
  }
211
202
  // Configure the temperature sensor for HomeKit.
212
203
  configureTemperatureSensor() {
213
- var _a, _b;
214
- const device = this.accessory.context.device;
215
204
  // Find the service, if it exists.
216
205
  let temperatureService = this.accessory.getService(this.hap.Service.TemperatureSensor);
217
206
  // Have we disabled the temperature sensor?
218
- if (!((_a = device === null || device === void 0 ? void 0 : device.temperatureSettings) === null || _a === void 0 ? void 0 : _a.isEnabled)) {
207
+ if (!this.ufp.temperatureSettings?.isEnabled) {
219
208
  if (temperatureService) {
220
209
  this.accessory.removeService(temperatureService);
221
- this.log.info("%s: Disabling temperature sensor.", this.name());
210
+ this.log.info("Disabling temperature sensor.");
222
211
  }
223
212
  return false;
224
213
  }
@@ -226,14 +215,14 @@ class ProtectSensor extends protect_accessory_1.ProtectAccessory {
226
215
  if (!temperatureService) {
227
216
  temperatureService = new this.hap.Service.TemperatureSensor(this.accessory.displayName);
228
217
  if (!temperatureService) {
229
- this.log.error("%s: Unable to add temperature sensor.", this.name());
218
+ this.log.error("Unable to add temperature sensor.");
230
219
  return false;
231
220
  }
232
221
  this.accessory.addService(temperatureService);
233
- this.log.info("%s: Enabling temperature sensor.", this.name());
222
+ this.log.info("Enabling temperature sensor.");
234
223
  }
235
224
  // Retrieve the current temperature when requested.
236
- (_b = temperatureService.getCharacteristic(this.hap.Characteristic.CurrentTemperature)) === null || _b === void 0 ? void 0 : _b.onGet(() => {
225
+ temperatureService.getCharacteristic(this.hap.Characteristic.CurrentTemperature)?.onGet(() => {
237
226
  const value = this.getTemperature();
238
227
  return value < 0 ? 0 : value;
239
228
  });
@@ -246,39 +235,32 @@ class ProtectSensor extends protect_accessory_1.ProtectAccessory {
246
235
  }
247
236
  // Configure the active connection status in HomeKit.
248
237
  configureActiveStatus(service) {
249
- var _a;
250
- const device = this.accessory.context.device;
251
238
  // Retrieve the current connection status when requested.
252
- (_a = service.getCharacteristic(this.hap.Characteristic.StatusActive)) === null || _a === void 0 ? void 0 : _a.onGet(() => {
253
- return this.accessory.context.device.state === "CONNECTED";
239
+ service.getCharacteristic(this.hap.Characteristic.StatusActive)?.onGet(() => {
240
+ return this.ufp.state === "CONNECTED";
254
241
  });
255
242
  // Update the current connection status.
256
- service.updateCharacteristic(this.hap.Characteristic.StatusActive, device.state === "CONNECTED");
243
+ service.updateCharacteristic(this.hap.Characteristic.StatusActive, this.ufp.state === "CONNECTED");
257
244
  return true;
258
245
  }
259
246
  // Configure the battery status in HomeKit.
260
247
  configureBatteryStatus(service) {
261
- var _a, _b;
262
- const device = this.accessory.context.device;
263
248
  // Retrieve the current battery status when requested.
264
- (_a = service.getCharacteristic(this.hap.Characteristic.StatusLowBattery)) === null || _a === void 0 ? void 0 : _a.onGet(() => {
265
- var _a;
266
- return (_a = this.accessory.context.device.batteryStatus) === null || _a === void 0 ? void 0 : _a.isLow;
249
+ service.getCharacteristic(this.hap.Characteristic.StatusLowBattery)?.onGet(() => {
250
+ return this.ufp.batteryStatus?.isLow;
267
251
  });
268
252
  // Update the battery status.
269
- service.updateCharacteristic(this.hap.Characteristic.StatusLowBattery, (_b = device.batteryStatus) === null || _b === void 0 ? void 0 : _b.isLow);
253
+ service.updateCharacteristic(this.hap.Characteristic.StatusLowBattery, this.ufp.batteryStatus?.isLow);
270
254
  return true;
271
255
  }
272
256
  // Configure the tamper status in HomeKit.
273
257
  configureTamperedStatus(service) {
274
- var _a;
275
- const device = this.accessory.context.device;
276
258
  // Retrieve the current tamper status when requested.
277
- (_a = service.getCharacteristic(this.hap.Characteristic.StatusTampered)) === null || _a === void 0 ? void 0 : _a.onGet(() => {
278
- return this.accessory.context.device.tamperingDetectedAt !== null;
259
+ service.getCharacteristic(this.hap.Characteristic.StatusTampered)?.onGet(() => {
260
+ return this.ufp.tamperingDetectedAt !== null;
279
261
  });
280
262
  // Update the tamper status.
281
- service.updateCharacteristic(this.hap.Characteristic.StatusTampered, device.tamperingDetectedAt !== null);
263
+ service.updateCharacteristic(this.hap.Characteristic.StatusTampered, this.ufp.tamperingDetectedAt !== null);
282
264
  return true;
283
265
  }
284
266
  // Configure the additional state characteristics in HomeKit.
@@ -293,65 +275,65 @@ class ProtectSensor extends protect_accessory_1.ProtectAccessory {
293
275
  }
294
276
  // Get the current alarm sound information.
295
277
  getAlarmSound() {
296
- var _a;
297
278
  // Return true if we are not null, meaning the alarm has sounded.
298
- const value = this.accessory.context.device.alarmTriggeredAt !== null;
279
+ const value = this.ufp.alarmTriggeredAt !== null;
299
280
  // Save the state change and publish to MQTT.
300
281
  if (value !== this.savedAlarmSound) {
301
282
  this.savedAlarmSound = value;
302
- (_a = this.nvr.mqtt) === null || _a === void 0 ? void 0 : _a.publish(this.accessory, "alarmsound", value.toString());
283
+ this.nvr.mqtt?.publish(this.accessory, "alarmsound", value.toString());
303
284
  }
304
285
  return value;
305
286
  }
306
287
  // Get the current ambient light information.
307
288
  getAmbientLight() {
308
- var _a;
309
- return (_a = this.accessory.context.device.stats.light.value) !== null && _a !== void 0 ? _a : -1;
289
+ return this.ufp.stats.light.value ?? -1;
310
290
  }
311
291
  // Get the current contact sensor information.
312
292
  getContact() {
313
- var _a;
314
293
  // Return true if we are open.
315
- const value = this.accessory.context.device.isOpened;
294
+ const value = this.ufp.isOpened;
316
295
  // Save the state change and publish to MQTT.
317
296
  if (value !== this.savedContact) {
318
297
  this.savedContact = value;
319
- (_a = this.nvr.mqtt) === null || _a === void 0 ? void 0 : _a.publish(this.accessory, "contact", value.toString());
298
+ this.nvr.mqtt?.publish(this.accessory, "contact", value.toString());
320
299
  }
321
300
  return value;
322
301
  }
323
302
  // Get the current humidity information.
324
303
  getHumidity() {
325
- var _a;
326
- return (_a = this.accessory.context.device.stats.humidity.value) !== null && _a !== void 0 ? _a : -1;
304
+ return this.ufp.stats.humidity.value ?? -1;
327
305
  }
328
306
  // Get the current temperature information.
329
307
  getTemperature() {
330
- var _a;
331
- return (_a = this.accessory.context.device.stats.temperature.value) !== null && _a !== void 0 ? _a : -1;
308
+ return this.ufp.stats.temperature.value ?? -1;
332
309
  }
333
310
  // Configure MQTT capabilities for sensors.
334
311
  configureMqtt() {
335
- var _a, _b, _c, _d, _e, _f;
336
- if (!((_a = this.nvrApi.bootstrap) === null || _a === void 0 ? void 0 : _a.nvr.mac)) {
337
- return;
338
- }
339
- (_b = this.nvr.mqtt) === null || _b === void 0 ? void 0 : _b.subscribeGet(this.accessory, this.name(), "alarmsound", "Alarm sound", () => {
312
+ this.nvr.mqtt?.subscribeGet(this.accessory, this.name, "alarmsound", "Alarm sound", () => {
340
313
  return this.getAlarmSound().toString();
341
314
  });
342
- (_c = this.nvr.mqtt) === null || _c === void 0 ? void 0 : _c.subscribeGet(this.accessory, this.name(), "ambientlight", "Ambient light", () => {
315
+ this.nvr.mqtt?.subscribeGet(this.accessory, this.name, "ambientlight", "Ambient light", () => {
343
316
  return this.getAmbientLight().toString();
344
317
  });
345
- (_d = this.nvr.mqtt) === null || _d === void 0 ? void 0 : _d.subscribeGet(this.accessory, this.name(), "contact", "Contact sensor", () => {
318
+ this.nvr.mqtt?.subscribeGet(this.accessory, this.name, "contact", "Contact sensor", () => {
346
319
  return this.getContact().toString();
347
320
  });
348
- (_e = this.nvr.mqtt) === null || _e === void 0 ? void 0 : _e.subscribeGet(this.accessory, this.name(), "humidity", "Humidity", () => {
321
+ this.nvr.mqtt?.subscribeGet(this.accessory, this.name, "humidity", "Humidity", () => {
349
322
  return this.getHumidity().toString();
350
323
  });
351
- (_f = this.nvr.mqtt) === null || _f === void 0 ? void 0 : _f.subscribeGet(this.accessory, this.name(), "temperature", "Temperature", () => {
324
+ this.nvr.mqtt?.subscribeGet(this.accessory, this.name, "temperature", "Temperature", () => {
352
325
  return this.getTemperature().toString();
353
326
  });
354
327
  }
328
+ // Handle sensor-related events.
329
+ eventHandler(packet) {
330
+ const payload = packet.payload;
331
+ // It's a motion event - process it accordingly.
332
+ if (payload.isMotionDetected && payload.motionDetectedAt) {
333
+ this.nvr.events.motionEventHandler(this, payload.motionDetectedAt);
334
+ }
335
+ // Process it.
336
+ this.updateDevice();
337
+ }
355
338
  }
356
- exports.ProtectSensor = ProtectSensor;
357
339
  //# sourceMappingURL=protect-sensor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protect-sensor.js","sourceRoot":"","sources":["../src/protect-sensor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-sensor.js","sourceRoot":"","sources":["../src/protect-sensor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /// <reference types="node" />
2
+ import { CameraController, CameraStreamingDelegate, H264Level, H264Profile, PrepareStreamCallback, PrepareStreamRequest, SnapshotRequest, SnapshotRequestCallback, StreamRequestCallback, StreamingRequest } from "homebridge";
3
+ import { ProtectCamera, ProtectPackageCamera } from "./protect-camera.js";
4
+ import { ProtectLogging } from "./protect-types.js";
5
+ import { ProtectPlatform } from "./protect-platform.js";
6
+ import { ProtectRecordingDelegate } from "./protect-record.js";
7
+ export declare class ProtectStreamingDelegate implements CameraStreamingDelegate {
8
+ private readonly api;
9
+ private readonly config;
10
+ controller: CameraController;
11
+ private readonly hap;
12
+ hksv: ProtectRecordingDelegate | null;
13
+ readonly log: ProtectLogging;
14
+ private readonly nvr;
15
+ private ongoingSessions;
16
+ private pendingSessions;
17
+ readonly platform: ProtectPlatform;
18
+ readonly protectCamera: ProtectCamera | ProtectPackageCamera;
19
+ private probesizeOverride;
20
+ private probesizeOverrideCount;
21
+ private probesizeOverrideTimeout?;
22
+ private rtspEntry;
23
+ private savedBitrate;
24
+ private snapshotCache;
25
+ verboseFfmpeg: boolean;
26
+ readonly videoEncoderOptions: string[];
27
+ readonly videoProcessor: string;
28
+ constructor(protectCamera: ProtectCamera, resolutions: [number, number, number][]);
29
+ handleSnapshotRequest(request?: SnapshotRequest, callback?: SnapshotRequestCallback): Promise<void>;
30
+ prepareStream(request: PrepareStreamRequest, callback: PrepareStreamCallback): Promise<void>;
31
+ private startStream;
32
+ handleStreamRequest(request: StreamingRequest, callback: StreamRequestCallback): Promise<void>;
33
+ private getCachedSnapshot;
34
+ getSnapshot(request?: SnapshotRequest, isLoggingErrors?: boolean): Promise<Buffer | null>;
35
+ stopStream(sessionId: string): Promise<void>;
36
+ shutdown(): Promise<void>;
37
+ adjustProbeSize(): void;
38
+ getH264Level(level: H264Level): string;
39
+ getH264Profile(profile: H264Profile): string;
40
+ private getVideoEncoderOptions;
41
+ }