homebridge-unifi-protect 6.14.0 → 6.15.1

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 (58) hide show
  1. package/README.md +4 -4
  2. package/config.schema.json +8 -8
  3. package/dist/protect-camera.d.ts +1 -0
  4. package/dist/protect-camera.js +78 -44
  5. package/dist/protect-camera.js.map +1 -1
  6. package/dist/protect-chime.js +9 -9
  7. package/dist/protect-chime.js.map +1 -1
  8. package/dist/protect-device.d.ts +5 -1
  9. package/dist/protect-device.js +34 -8
  10. package/dist/protect-device.js.map +1 -1
  11. package/dist/protect-doorbell.js +6 -6
  12. package/dist/protect-doorbell.js.map +1 -1
  13. package/dist/protect-ffmpeg-codecs.d.ts +3 -0
  14. package/dist/protect-ffmpeg-codecs.js +43 -4
  15. package/dist/protect-ffmpeg-codecs.js.map +1 -1
  16. package/dist/protect-ffmpeg-options.js +24 -6
  17. package/dist/protect-ffmpeg-options.js.map +1 -1
  18. package/dist/protect-ffmpeg.d.ts +1 -0
  19. package/dist/protect-ffmpeg.js +9 -7
  20. package/dist/protect-ffmpeg.js.map +1 -1
  21. package/dist/protect-light.js +10 -10
  22. package/dist/protect-light.js.map +1 -1
  23. package/dist/protect-liveviews.js +14 -20
  24. package/dist/protect-liveviews.js.map +1 -1
  25. package/dist/protect-nvr-events.d.ts +2 -3
  26. package/dist/protect-nvr-events.js +63 -44
  27. package/dist/protect-nvr-events.js.map +1 -1
  28. package/dist/protect-nvr.d.ts +1 -2
  29. package/dist/protect-nvr.js +67 -25
  30. package/dist/protect-nvr.js.map +1 -1
  31. package/dist/protect-options.d.ts +5 -3
  32. package/dist/protect-options.js +18 -15
  33. package/dist/protect-options.js.map +1 -1
  34. package/dist/protect-platform.d.ts +1 -1
  35. package/dist/protect-platform.js +13 -17
  36. package/dist/protect-platform.js.map +1 -1
  37. package/dist/protect-record.js +5 -5
  38. package/dist/protect-record.js.map +1 -1
  39. package/dist/protect-rtp.js +8 -6
  40. package/dist/protect-rtp.js.map +1 -1
  41. package/dist/protect-sensor.js +40 -26
  42. package/dist/protect-sensor.js.map +1 -1
  43. package/dist/protect-timeshift.js +6 -8
  44. package/dist/protect-timeshift.js.map +1 -1
  45. package/dist/protect-types.d.ts +1 -0
  46. package/dist/protect-types.js +1 -0
  47. package/dist/protect-types.js.map +1 -1
  48. package/dist/protect-viewer.js +2 -3
  49. package/dist/protect-viewer.js.map +1 -1
  50. package/dist/settings.d.ts +2 -1
  51. package/dist/settings.js +5 -3
  52. package/dist/settings.js.map +1 -1
  53. package/homebridge-ui/public/index.html +12 -1
  54. package/homebridge-ui/public/lib/featureoptions.mjs +2 -1
  55. package/homebridge-ui/public/protect-featureoptions.mjs +12 -7
  56. package/homebridge-ui/public/ui.mjs +2 -4
  57. package/homebridge-ui/server.js +10 -3
  58. package/package.json +12 -12
@@ -21,6 +21,7 @@ export class FfmpegProcess extends EventEmitter {
21
21
  isVerbose;
22
22
  log;
23
23
  nvr;
24
+ platform;
24
25
  process;
25
26
  protectCamera;
26
27
  stderrBuffer;
@@ -38,12 +39,13 @@ export class FfmpegProcess extends EventEmitter {
38
39
  this.isStarted = false;
39
40
  this.log = protectCamera.log;
40
41
  this.nvr = protectCamera.nvr;
42
+ this.platform = protectCamera.platform;
41
43
  this.process = null;
42
44
  this.protectCamera = protectCamera;
43
45
  this.stderrBuffer = "";
44
46
  this.stderrLog = [];
45
47
  // Toggle FFmpeg logging, if configured.
46
- this.isVerbose = protectCamera.platform.verboseFfmpeg || protectCamera.stream.verboseFfmpeg;
48
+ this.isVerbose = this.platform.verboseFfmpeg || protectCamera.stream.verboseFfmpeg;
47
49
  // If we've specified a command line or a callback, let's save them.
48
50
  if (commandLineArgs) {
49
51
  this.commandLineArgs = commandLineArgs;
@@ -77,11 +79,11 @@ export class FfmpegProcess extends EventEmitter {
77
79
  this.isLogging = true;
78
80
  }
79
81
  // Inform the user, if we've been asked to do so.
80
- if (this.isLogging || this.isVerbose || this.protectCamera.platform.config.debugAll) {
81
- this.log.info("FFmpeg command: %s %s", this.protectCamera.platform.config.videoProcessor, this.commandLineArgs.join(" "));
82
+ if (this.isLogging || this.isVerbose || this.platform.config.debugAll) {
83
+ this.log.info("FFmpeg command (version: %s): %s %s", this.platform.codecSupport.ffmpegVersion, this.platform.config.videoProcessor, this.commandLineArgs.join(" "));
82
84
  }
83
85
  else {
84
- this.log.debug("FFmpeg command: %s %s", this.protectCamera.platform.config.videoProcessor, this.commandLineArgs.join(" "));
86
+ this.log.debug("FFmpeg command (version: %s): %s %s", this.platform.codecSupport.ffmpegVersion, this.platform.config.videoProcessor, this.commandLineArgs.join(" "));
85
87
  }
86
88
  this.isPrepared = true;
87
89
  }
@@ -96,7 +98,7 @@ export class FfmpegProcess extends EventEmitter {
96
98
  }
97
99
  }
98
100
  // Execute the command line based on what we've prepared.
99
- this.process = spawn(this.protectCamera.platform.config.videoProcessor, this.commandLineArgs);
101
+ this.process = spawn(this.platform.config.videoProcessor, this.commandLineArgs);
100
102
  // Configure any post-spawn listeners and other plumbing.
101
103
  this.configureProcess(errorHandler);
102
104
  }
@@ -149,7 +151,7 @@ export class FfmpegProcess extends EventEmitter {
149
151
  this.stderrBuffer = this.stderrBuffer.slice(lineIndex + os.EOL.length);
150
152
  this.stderrLog.push(line);
151
153
  // Show it to the user if it's been requested.
152
- if (this.isLogging || this.isVerbose || this.protectCamera.platform.config.debugAll) {
154
+ if (this.isLogging || this.isVerbose || this.platform.config.debugAll) {
153
155
  this.log.info(line);
154
156
  }
155
157
  }
@@ -218,7 +220,7 @@ export class FfmpegProcess extends EventEmitter {
218
220
  logFfmpegError(exitCode, signal) {
219
221
  // Something else has occurred. Inform the user, and stop everything.
220
222
  this.log.error("FFmpeg process ended unexpectedly with %s%s%s.", (exitCode !== null) ? "an exit code of " + exitCode.toString() : "", ((exitCode !== null) && signal) ? " and " : "", signal ? "a signal received of " + signal : "");
221
- this.log.error("FFmpeg command line that errored out was: %s %s", this.protectCamera.platform.config.videoProcessor, this.commandLineArgs.join(" "));
223
+ this.log.error("FFmpeg (%s) command that errored out was: %s %s", this.platform.codecSupport.ffmpegVersion, this.platform.config.videoProcessor, this.commandLineArgs.join(" "));
222
224
  this.stderrLog.map(x => this.log.error(x));
223
225
  }
224
226
  // Return the standard input for this process.
@@ -1 +1 @@
1
- {"version":3,"file":"protect-ffmpeg.js","sourceRoot":"","sources":["../src/protect-ffmpeg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-ffmpeg.js","sourceRoot":"","sources":["../src/protect-ffmpeg.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export class ProtectLight extends ProtectDevice {
37
37
  let lightService = this.accessory.getService(this.hap.Service.Lightbulb);
38
38
  // Add the service to the accessory, if needed.
39
39
  if (!lightService) {
40
- lightService = new this.hap.Service.Lightbulb(this.accessory.displayName);
40
+ lightService = new this.hap.Service.Lightbulb(this.accessoryName);
41
41
  if (!lightService) {
42
42
  this.log.error("Unable to add light.");
43
43
  return false;
@@ -45,11 +45,10 @@ export class ProtectLight extends ProtectDevice {
45
45
  this.accessory.addService(lightService);
46
46
  }
47
47
  // Turn the light on or off.
48
- lightService.getCharacteristic(this.hap.Characteristic.On)
49
- ?.onGet(() => {
48
+ lightService.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => {
50
49
  return this.ufp.isLightOn === true;
51
- })
52
- .onSet(async (value) => {
50
+ });
51
+ lightService.getCharacteristic(this.hap.Characteristic.On)?.onSet(async (value) => {
53
52
  const lightState = value === true;
54
53
  const newDevice = await this.nvr.ufpApi.updateDevice(this.ufp, { lightOnSettings: { isLedForceOn: lightState } });
55
54
  if (!newDevice) {
@@ -60,12 +59,11 @@ export class ProtectLight extends ProtectDevice {
60
59
  this.ufp = newDevice;
61
60
  });
62
61
  // Adjust the brightness of the light.
63
- lightService.getCharacteristic(this.hap.Characteristic.Brightness)
64
- ?.onGet(() => {
62
+ lightService.getCharacteristic(this.hap.Characteristic.Brightness)?.onGet(() => {
65
63
  // The Protect ledLevel settings goes from 1 - 6. HomeKit expects percentages, so we convert it like so.
66
64
  return (this.ufp.lightDeviceSettings.ledLevel - 1) * 20;
67
- })
68
- .onSet(async (value) => {
65
+ });
66
+ lightService.getCharacteristic(this.hap.Characteristic.Brightness)?.onSet(async (value) => {
69
67
  const brightness = Math.round((value / 20) + 1);
70
68
  const newDevice = await this.nvr.ufpApi.updateDevice(this.ufp, { lightDeviceSettings: { ledLevel: brightness } });
71
69
  if (!newDevice) {
@@ -80,6 +78,8 @@ export class ProtectLight extends ProtectDevice {
80
78
  }, 50);
81
79
  });
82
80
  // Initialize the light.
81
+ lightService.displayName = this.accessoryName;
82
+ lightService.updateCharacteristic(this.hap.Characteristic.Name, this.accessoryName);
83
83
  lightService.updateCharacteristic(this.hap.Characteristic.On, this.ufp.isLightOn);
84
84
  lightService.updateCharacteristic(this.hap.Characteristic.Brightness, (this.ufp.lightDeviceSettings.ledLevel - 1) * 20);
85
85
  return true;
@@ -119,7 +119,7 @@ export class ProtectLight extends ProtectDevice {
119
119
  eventHandler(packet) {
120
120
  const payload = packet.payload;
121
121
  // It's a motion event - process it accordingly.
122
- if (payload.isPirMotionDetected && payload.lastMotion) {
122
+ if (payload.lastMotion) {
123
123
  this.nvr.events.motionEventHandler(this, payload.lastMotion);
124
124
  }
125
125
  // It's a light power event - process it accordingly.
@@ -1 +1 @@
1
- {"version":3,"file":"protect-light.js","sourceRoot":"","sources":["../src/protect-light.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-light.js","sourceRoot":"","sources":["../src/protect-light.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,6 @@ import { PLATFORM_NAME, PLUGIN_NAME } from "./settings.js";
2
2
  import { ProtectBase } from "./protect-device.js";
3
3
  import { ProtectSecuritySystem } from "./protect-securitysystem.js";
4
4
  export class ProtectLiveviews extends ProtectBase {
5
- // By design, we want to avoid configuring multiple liveview switches with the same name. Instead we combine all liveviews of the same name into
6
- // a single switch. Maintain a list of the names we've configured for simplcity.
7
5
  isConfigured;
8
6
  isMqttConfigured;
9
7
  liveviews;
@@ -103,8 +101,7 @@ export class ProtectLiveviews extends ProtectBase {
103
101
  }
104
102
  // Initialize the regular expression here so we don't have to reinitialize it in each iteration below.
105
103
  const regexLiveview = /^Protect-((?!Away$|Off$|Home$|Night$).+)$/i;
106
- // Check for any new plugin-specific liveviews. By design, we want to avoid configuring multiple liveview switches with the same name. Instead,
107
- // we combine all liveviews of the same name into a single switch.
104
+ // Check for any new plugin-specific liveviews.
108
105
  for (const liveview of [...new Set(this.liveviews.map(x => x.name))]) {
109
106
  // Only match on views beginning with Protect- that are not reserved for the security system.
110
107
  const viewMatch = regexLiveview.exec(liveview);
@@ -114,8 +111,7 @@ export class ProtectLiveviews extends ProtectBase {
114
111
  }
115
112
  // Grab the name of our new switch for reference.
116
113
  const viewName = viewMatch[1];
117
- // By design, we want to avoid configuring multiple liveview switches with the same name. Instead we combine all liveviews of the same name into
118
- // a single switch. Maintain a list of the names we've configured for simplcity.
114
+ // By design, we want to avoid configuring multiple liveview switches with the same name. Instead we combine all liveviews of the same name into a single switch.
119
115
  if (this.isConfigured[viewName.toUpperCase()]) {
120
116
  continue;
121
117
  }
@@ -157,10 +153,9 @@ export class ProtectLiveviews extends ProtectBase {
157
153
  switchService.getCharacteristic(this.hap.Characteristic.On)
158
154
  .onGet(this.getSwitchState.bind(this, newAccessory.context.liveview))
159
155
  .onSet(this.setSwitchState.bind(this, newAccessory));
160
- // Initialize the switch. We keep a saved liveview switch state because we want to account for edge cases where liveviews can disappear and
161
- // we end up in a situation where motion detection is disabled without a way to enable it. By saving the switch state on the accessory, we
162
- // can always initialize all motion-related accessories at startup as having motion enabled, and explicitly disable them here at startup when
163
- // we restore state.
156
+ // Initialize the switch. We keep a saved liveview switch state because we want to account for edge cases where liveviews can disappear and we end up in a
157
+ // situation where motion detection is disabled without a way to enable it. By saving the switch state on the accessory, we can always initialize all
158
+ // motion-related accessories at startup as having motion enabled, and explicitly disable them here at startup when we restore state.
164
159
  switchService.updateCharacteristic(this.hap.Characteristic.On, newAccessory.context.liveviewState);
165
160
  this.setSwitchState(newAccessory, newAccessory.context.liveviewState);
166
161
  this.isConfigured[newAccessory.context.liveview.toUpperCase()] = true;
@@ -227,9 +222,8 @@ export class ProtectLiveviews extends ProtectBase {
227
222
  if (!this.ufpApi.bootstrap || !this.liveviews || (this.getSwitchState(liveviewSwitch.context.liveview) === targetState)) {
228
223
  return;
229
224
  }
230
- // Get the complete list of cameras in the liveview we're interested in. This cryptic line grabs the list of liveviews
231
- // that have the name we're interested in (turns out, you can define multiple liveviews in Protect with the same name...who knew!),
232
- // and then create a single list containing all of the cameras found.
225
+ // Get the complete list of cameras in the liveview we're interested in. This cryptic line grabs the list of liveviews that have the name we're interested in (turns
226
+ // out, you can define multiple liveviews in Protect with the same name...who knew!), and then create a single list containing all of the cameras found.
233
227
  const targetCameraIds = this.getLiveviewCameras(liveviewSwitch.context.liveview);
234
228
  // Nothing configured for this view. We're done.
235
229
  if (!targetCameraIds.length) {
@@ -237,18 +231,18 @@ export class ProtectLiveviews extends ProtectBase {
237
231
  }
238
232
  // Iterate through the cameras in this liveview.
239
233
  for (const targetCameraId of targetCameraIds) {
240
- const device = this.nvr.deviceLookup(targetCameraId);
234
+ const protectDevice = this.nvr.deviceLookup(targetCameraId);
241
235
  // No camera found or we're already at the target state - we're done.
242
- if (!device || (device.accessory.context.detectMotion === targetState)) {
236
+ if (!protectDevice || (protectDevice.accessory.context.detectMotion === targetState)) {
243
237
  continue;
244
238
  }
245
239
  // Update the motion sensor switch, if it exists.
246
- device.accessory.getService(this.hap.Service.Switch)?.updateCharacteristic(this.hap.Characteristic.On, targetState);
247
- // Set the motion detection state. We do this after setting any motion detection switch in order to ensure we fire events in the right order for the
248
- // motion detection switch.
249
- device.accessory.context.detectMotion = targetState;
240
+ protectDevice.accessory.getService(this.hap.Service.Switch)?.updateCharacteristic(this.hap.Characteristic.On, targetState);
241
+ // Set the motion detection state. We do this after setting any motion detection switch in order to ensure we fire events in the right order for the motion
242
+ // detection switch.
243
+ protectDevice.accessory.context.detectMotion = targetState;
250
244
  // Inform the user.
251
- this.log.info("%s -> %s: Motion detection %s.", liveviewSwitch.context.liveview, device.accessory.displayName, (device.accessory.context.detectMotion === true) ? "enabled" : "disabled");
245
+ this.log.info("%s -> %s: Motion detection %s.", liveviewSwitch.context.liveview, protectDevice.accessoryName, (protectDevice.accessory.context.detectMotion === true) ? "enabled" : "disabled");
252
246
  }
253
247
  // Save our new state.
254
248
  liveviewSwitch.context.liveviewState = targetState;
@@ -1 +1 @@
1
- {"version":3,"file":"protect-liveviews.js","sourceRoot":"","sources":["../src/protect-liveviews.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-liveviews.js","sourceRoot":"","sources":["../src/protect-liveviews.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ import { ProtectEventMetadata } from "unifi-protect";
2
3
  import { EventEmitter } from "node:events";
3
4
  import { ProtectCamera } from "./protect-camera.js";
4
5
  import { ProtectDevice } from "./protect-device.js";
@@ -6,8 +7,6 @@ import { ProtectNvr } from "./protect-nvr.js";
6
7
  export declare class ProtectNvrEvents extends EventEmitter {
7
8
  private api;
8
9
  private hap;
9
- private lastMotion;
10
- private lastRing;
11
10
  private log;
12
11
  private mqttPublishTelemetry;
13
12
  private nvr;
@@ -23,7 +22,7 @@ export declare class ProtectNvrEvents extends EventEmitter {
23
22
  private ufpUpdates;
24
23
  private manageDevices;
25
24
  private configureEvents;
26
- motionEventHandler(protectDevice: ProtectDevice, lastMotion: number, detectedObjects?: string[]): void;
25
+ motionEventHandler(protectDevice: ProtectDevice, lastMotion: number, detectedObjects?: string[], metadata?: ProtectEventMetadata): void;
27
26
  private motionEventDelivery;
28
27
  doorbellEventHandler(protectDevice: ProtectCamera, lastRing: number | null): void;
29
28
  }
@@ -1,10 +1,9 @@
1
1
  import { ProtectReservedNames } from "./protect-types.js";
2
2
  import { EventEmitter } from "node:events";
3
+ import { PROTECT_DOORBELL_TRIGGER_DURATION } from "./settings.js";
3
4
  export class ProtectNvrEvents extends EventEmitter {
4
5
  api;
5
6
  hap;
6
- lastMotion;
7
- lastRing;
8
7
  log;
9
8
  mqttPublishTelemetry;
10
9
  nvr;
@@ -21,8 +20,6 @@ export class ProtectNvrEvents extends EventEmitter {
21
20
  this.api = nvr.platform.api;
22
21
  this.eventTimers = {};
23
22
  this.hap = nvr.platform.api.hap;
24
- this.lastMotion = {};
25
- this.lastRing = {};
26
23
  this.log = nvr.log;
27
24
  this.mqttPublishTelemetry = nvr.hasFeature("Nvr.Publish.Telemetry");
28
25
  this.nvr = nvr;
@@ -38,10 +35,11 @@ export class ProtectNvrEvents extends EventEmitter {
38
35
  }
39
36
  this.configureEvents();
40
37
  }
41
- // Thanks to https://stackoverflow.com/a/48218209 for the foundation for this one.
42
- // Merge Protect JSON update payloads into the Protect configuration JSON for a device while dealing with deep objects.
38
+ // Thanks to https://stackoverflow.com/a/48218209 for the foundation for this one. Merge Protect JSON update payloads into the Protect configuration JSON for a device
39
+ // while dealing with deep objects.
40
+ //
43
41
  // @param {...object} objects - Objects to merge
44
- // @returns {object} New object with merged key/values
42
+ // @returns {object} - New object with merged key/values
45
43
  patchUfpConfigJson(...objects) {
46
44
  const isObject = (x) => (x && (typeof (x) === "object"));
47
45
  return objects.reduce((prev, obj) => {
@@ -74,6 +72,11 @@ export class ProtectNvrEvents extends EventEmitter {
74
72
  // Update our device state.
75
73
  if (protectDevice) {
76
74
  protectDevice.ufp = this.patchUfpConfigJson(protectDevice.ufp, packet.payload);
75
+ // Sync names, if configured to do so.
76
+ if (packet.payload.name && protectDevice.hints.syncName) {
77
+ protectDevice.log.info("Name change detected. A restart of Homebridge may be needed in order to complete name synchronization with HomeKit.");
78
+ protectDevice.configureInfo();
79
+ }
77
80
  }
78
81
  break;
79
82
  }
@@ -154,25 +157,18 @@ export class ProtectNvrEvents extends EventEmitter {
154
157
  return true;
155
158
  }
156
159
  // Motion event processing from UniFi Protect.
157
- motionEventHandler(protectDevice, lastMotion, detectedObjects = []) {
160
+ motionEventHandler(protectDevice, lastMotion, detectedObjects = [], metadata) {
158
161
  if (!protectDevice || !lastMotion) {
159
162
  return;
160
163
  }
161
- // Have we seen this event before? If so...move along.
162
- if (this.lastMotion[protectDevice.id] >= lastMotion) {
163
- this.log.debug("Skipping duplicate motion event.");
164
- return;
165
- }
166
- // Remember this event.
167
- this.lastMotion[protectDevice.id] = lastMotion;
168
164
  // Only notify the user if we have a motion sensor and it's active.
169
165
  const motionService = protectDevice.accessory.getService(this.hap.Service.MotionSensor);
170
166
  if (motionService) {
171
- this.motionEventDelivery(protectDevice, motionService, detectedObjects);
167
+ this.motionEventDelivery(protectDevice, motionService, detectedObjects, metadata);
172
168
  }
173
169
  }
174
170
  // Motion event delivery to HomeKit.
175
- motionEventDelivery(protectDevice, motionService, detectedObjects = []) {
171
+ motionEventDelivery(protectDevice, motionService, detectedObjects = [], metadata) {
176
172
  if (!protectDevice) {
177
173
  return;
178
174
  }
@@ -180,6 +176,10 @@ export class ProtectNvrEvents extends EventEmitter {
180
176
  if (("detectMotion" in protectDevice.accessory.context) && !protectDevice.accessory.context.detectMotion) {
181
177
  return;
182
178
  }
179
+ // If we have an active motion event inflight, we're done.
180
+ if (this.eventTimers[protectDevice.id]) {
181
+ return;
182
+ }
183
183
  const protectCamera = protectDevice;
184
184
  // Trigger the motion event in HomeKit.
185
185
  motionService.updateCharacteristic(this.hap.Characteristic.MotionDetected, true);
@@ -189,21 +189,29 @@ export class ProtectNvrEvents extends EventEmitter {
189
189
  this.nvr.mqtt?.publish(protectDevice.accessory, "motion", "true");
190
190
  // Log the event, if configured to do so.
191
191
  if (protectDevice.hints.logMotion) {
192
+ let logMessage = "";
193
+ // If we have license plate telemetry, let's inform the user if we're logging for motion events.
194
+ if (metadata && ("licensePlate" in metadata) && detectedObjects.includes("licensePlate") && ("name" in metadata.licensePlate)) {
195
+ logMessage = " (license plate: " + metadata.licensePlate.name + ", " + metadata.licensePlate.confidenceLevel + "% confidence)";
196
+ }
192
197
  protectDevice.log.info("Motion detected%s.", ((protectDevice.ufp.modelKey === "camera") && detectedObjects.length &&
193
198
  (!protectCamera.stream?.hksv?.isRecording ||
194
- protectCamera.hints.smartDetect || protectDevice.hasFeature("Motion.SmartDetect.ObjectSensors"))) ? ": " + detectedObjects.join(", ") : "");
199
+ protectCamera.hints.smartDetect || protectDevice.hasFeature("Motion.SmartDetect.ObjectSensors"))) ? ": " + detectedObjects.sort().join(", ") + logMessage : "");
195
200
  }
196
- // Trigger smart motion contact sensors, if configured.
201
+ // Iterate through our detected Protect smart object types.
197
202
  for (const detectedObject of detectedObjects) {
203
+ // Trigger smart motion contact sensor, if configured.
198
204
  protectDevice.accessory.getServiceById(this.hap.Service.ContactSensor, ProtectReservedNames.CONTACT_MOTION_SMARTDETECT + "." + detectedObject)
199
205
  ?.updateCharacteristic(this.hap.Characteristic.ContactSensorState, true);
200
206
  // Publish the smart motion event to MQTT, if the user has configured it.
201
207
  this.nvr.mqtt?.publish(protectDevice.accessory, "motion/smart/" + detectedObject, "true");
202
- }
203
- // If we have an active motion event reset timer, let's cancel it and create a new one.
204
- if (this.eventTimers[protectDevice.id]) {
205
- // Clear out the inflight timer from our motion event tracker.
206
- clearTimeout(this.eventTimers[protectDevice.id]);
208
+ // Trigger license plate contact sensors, if configured.
209
+ if (metadata && ("licensePlate" in metadata) && (detectedObject === "licensePlate") && ("name" in metadata.licensePlate)) {
210
+ protectDevice.accessory.getServiceById(this.hap.Service.ContactSensor, ProtectReservedNames.CONTACT_MOTION_SMARTDETECT_LICENSE + "." +
211
+ metadata.licensePlate.name.toUpperCase())?.updateCharacteristic(this.hap.Characteristic.ContactSensorState, true);
212
+ // Publish the smart motion event to MQTT, if the user has configured it.
213
+ this.nvr.mqtt?.publish(protectDevice.accessory, "motion/smart/" + detectedObject + "/metadata", JSON.stringify(metadata));
214
+ }
207
215
  }
208
216
  // Reset our motion event after motionDuration.
209
217
  this.eventTimers[protectDevice.id] = setTimeout(() => {
@@ -226,6 +234,12 @@ export class ProtectNvrEvents extends EventEmitter {
226
234
  this.eventTimers[protectDevice.id + ".Motion.SmartDetect.ObjectSensors"] = setTimeout(() => {
227
235
  // Reset smart motion contact sensors, if configured.
228
236
  for (const detectedObject of detectedObjects) {
237
+ // Reset our license plate contact sensor, if configured.
238
+ if (metadata && ("licensePlate" in metadata) && (detectedObject === "licensePlate") && ("name" in metadata.licensePlate)) {
239
+ protectDevice.accessory.getServiceById(this.hap.Service.ContactSensor, ProtectReservedNames.CONTACT_MOTION_SMARTDETECT_LICENSE + "." +
240
+ metadata.licensePlate.name.toUpperCase())?.updateCharacteristic(this.hap.Characteristic.ContactSensorState, false);
241
+ }
242
+ // Reset our smart motion contact sensor, if configured.
229
243
  protectDevice.accessory.getServiceById(this.hap.Service.ContactSensor, ProtectReservedNames.CONTACT_MOTION_SMARTDETECT + "." + detectedObject)
230
244
  ?.updateCharacteristic(this.hap.Characteristic.ContactSensorState, false);
231
245
  // Publish the smart motion event to MQTT, if the user has configured it.
@@ -235,8 +249,8 @@ export class ProtectNvrEvents extends EventEmitter {
235
249
  // Delete the timer from our motion event tracker.
236
250
  delete this.eventTimers[protectDevice.id + ".Motion.SmartDetect.ObjectSensors"];
237
251
  }, protectDevice.hints.motionDuration * 1000);
238
- // If we don't have smart motion detection enabled, or if we do have it enabled and we have a smart motion event that's detected a person,
239
- // let's process our occupancy event updates.
252
+ // If we don't have smart motion detection enabled, or if we do have it enabled and we have a smart motion event that's detected a person, let's process our
253
+ // occupancy event updates.
240
254
  if (!protectDevice.hints.smartDetect || (protectDevice.hints.smartDetect && detectedObjects.some(x => protectDevice.hints.smartOccupancy.includes(x)))) {
241
255
  // First, let's determine if the user has an occupancy sensor configured, before we process anything.
242
256
  const occupancyService = protectDevice.accessory.getService(this.hap.Service.OccupancySensor);
@@ -277,24 +291,20 @@ export class ProtectNvrEvents extends EventEmitter {
277
291
  if (!protectDevice || !lastRing) {
278
292
  return;
279
293
  }
280
- // Have we seen this event before? If so...move along. It's unlikely we hit this in a doorbell scenario, but just in case.
281
- if (this.lastRing[protectDevice.id] >= lastRing) {
282
- this.log.debug("Skipping duplicate doorbell ring.");
294
+ // If we have an inflight ring event, and we're enforcing a ring duration, we're done.
295
+ if (this.eventTimers[protectDevice.id + ".Doorbell.Ring"]) {
283
296
  return;
284
297
  }
285
- // Remember this event.
286
- this.lastRing[protectDevice.id] = lastRing;
287
298
  // Only notify the user if we have a doorbell.
288
299
  const doorbellService = protectDevice.accessory.getService(this.hap.Service.Doorbell);
289
300
  if (!doorbellService) {
290
301
  return;
291
302
  }
292
- // Trigger the doorbell. We delay this slightly to workaround what appears to be a race
293
- // condition bug in HomeKit. Inelegant, but effective.
294
- setTimeout(() => {
303
+ // Trigger the doorbell. We delay this slightly to workaround what appears to be a race condition bug in HomeKit. Inelegant, but effective.
304
+ setImmediate(() => {
295
305
  doorbellService.getCharacteristic(this.hap.Characteristic.ProgrammableSwitchEvent)
296
306
  ?.sendEventNotification(this.hap.Characteristic.ProgrammableSwitchEvent.SINGLE_PRESS);
297
- }, 500);
307
+ });
298
308
  // Check to see if we have a doorbell trigger switch configured. If we do, update it.
299
309
  const triggerService = protectDevice.accessory.getServiceById(this.hap.Service.Switch, ProtectReservedNames.SWITCH_DOORBELL_TRIGGER);
300
310
  if (triggerService) {
@@ -307,31 +317,40 @@ export class ProtectNvrEvents extends EventEmitter {
307
317
  protectDevice.isRinging = true;
308
318
  // Update the trigger switch state.
309
319
  triggerService.updateCharacteristic(this.hap.Characteristic.On, true);
310
- // Reset our doorbell trigger after ringDuration.
320
+ // Reset our doorbell trigger.
311
321
  this.eventTimers[protectDevice.id + ".Doorbell.Ring.Trigger"] = setTimeout(() => {
312
322
  protectDevice.isRinging = false;
313
323
  triggerService.updateCharacteristic(this.hap.Characteristic.On, false);
314
324
  this.log.debug("Resetting doorbell ring trigger.");
315
325
  // Delete the timer from our motion event tracker.
316
326
  delete this.eventTimers[protectDevice.id + ".Doorbell.Ring.Trigger"];
317
- }, this.nvr.platform.config.ringDuration * 1000);
327
+ }, PROTECT_DOORBELL_TRIGGER_DURATION);
318
328
  }
319
329
  // Publish to MQTT, if the user has configured it.
320
330
  this.nvr.mqtt?.publish(protectDevice.accessory, "doorbell", "true");
321
331
  if (protectDevice.hints.logDoorbell) {
322
332
  protectDevice.log.info("Doorbell ring detected.");
323
333
  }
324
- // Kill any inflight ring reset.
325
- if (this.eventTimers[protectDevice.id + ".Doorbell.Ring"]) {
326
- clearTimeout(this.eventTimers[protectDevice.id + ".Doorbell.Ring"]);
327
- delete this.eventTimers[protectDevice.id + ".Doorbell.Ring"];
334
+ // Kill any inflight MQTT reset.
335
+ if (this.eventTimers[protectDevice.id + ".Doorbell.Ring.MQTT"]) {
336
+ clearTimeout(this.eventTimers[protectDevice.id + ".Doorbell.Ring.MQTT"]);
337
+ delete this.eventTimers[protectDevice.id + ".Doorbell.Ring.MQTT"];
328
338
  }
329
- // Fire off our MQTT doorbell ring event after ringDuration.
330
- this.eventTimers[protectDevice.id + ".Doorbell.Ring"] = setTimeout(() => {
339
+ // Fire off our MQTT doorbell ring event.
340
+ this.eventTimers[protectDevice.id + ".Doorbell.Ring.MQTT"] = setTimeout(() => {
331
341
  this.nvr.mqtt?.publish(protectDevice.accessory, "doorbell", "false");
342
+ // Delete the timer from our event tracker.
343
+ delete this.eventTimers[protectDevice.id + ".Doorbell.Ring.MQTT"];
344
+ }, PROTECT_DOORBELL_TRIGGER_DURATION);
345
+ // If we don't have a ring duration defined, we're done.
346
+ if (!this.nvr.platform.config.ringDelay) {
347
+ return;
348
+ }
349
+ // Reset our ring threshold.
350
+ this.eventTimers[protectDevice.id + ".Doorbell.Ring"] = setTimeout(() => {
332
351
  // Delete the timer from our event tracker.
333
352
  delete this.eventTimers[protectDevice.id + ".Doorbell.Ring"];
334
- }, this.nvr.platform.config.ringDuration * 1000);
353
+ }, this.nvr.platform.config.ringDelay * 1000);
335
354
  }
336
355
  }
337
356
  //# sourceMappingURL=protect-nvr-events.js.map