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
package/README.md CHANGED
@@ -20,12 +20,12 @@ This plugin attempts to bridge a gap in the UniFi Protect ecosystem by providing
20
20
 
21
21
  What does *just works* mean in practice? It means that this plugin will discover all your supported UniFi Protect devices and make them available in HomeKit. It supports all known UniFi Protect controller configurations (UniFi CloudKey Gen2+, UniFi Dream Machine Pro/SE, and UniFi Protect NVR).
22
22
 
23
- For the more technically inclined - this plugin has continued to pioneer the HomeKit user experience for UniFi Protect by being the ***first*** Homebridge plugin (and first third-party app, to my knowledge) to successfully reverse engineer the UniFi Protect real-time events API that was introduced with UniFi OS. This allows instantaneous, real-time capturing of events as they occur in the Protect ecosystem, allowing us to provide that same level of real-time sensor and camera feedback to HomeKit. Since reverse engineering the real-time events API, most of the major open source smart automation projects have benefited and also incorporated our work, improving the experience for everyone across smart home ecosystems.
23
+ For the more technically inclined - this plugin has continued to pioneer the HomeKit user experience for UniFi Protect by being the ***first*** Homebridge plugin (and first third-party app, to my knowledge) to successfully reverse engineer the UniFi Protect realtime events API that was introduced with UniFi OS. This allows instantaneous, realtime capturing of events as they occur in the Protect ecosystem, allowing us to provide that same level of realtime sensor and camera feedback to HomeKit. Since reverse engineering the realtime events API, most of the major open source smart automation projects have benefited and also incorporated our work, improving the experience for everyone across smart home ecosystems.
24
24
 
25
25
  ### Features
26
26
  - ***Easy* configuration - all you need is your UniFi Protect controller IP address, username, and password to get started.** The defaults work quite well for the vast majority of users. When you want more, there are [additional options](https://github.com/hjdhjd/homebridge-unifi-protect/blob/main/docs/FeatureOptions.md) you can play with, if you choose.
27
27
 
28
- - **Full HomeKit support for the UniFi Protect ecosystem.** All generally available UniFi Protect devices are supported, including cameras, chimes, doorbells, lights, sensors, and ViewPorts.
28
+ - **Full HomeKit support for the UniFi Protect ecosystem.** All generally available UniFi Protect devices are supported, including cameras, chimes, doorbells, lights, sensors, and Viewports.
29
29
 
30
30
  - **[Complete HomeKit Secure Video support for all UniFi Protect cameras.](https://github.com/hjdhjd/homebridge-unifi-protect/blob/main/docs/HomeKitSecureVideo.md)** Complete HomeKit Secure Video support, without the need for additional plugins or software beyond FFmpeg. Another community first - all without the need for additional tools to get a complete solution.
31
31
 
@@ -37,7 +37,7 @@ For the more technically inclined - this plugin has continued to pioneer the Hom
37
37
 
38
38
  - **Support for multiple controllers.** This plugin can support multiple UniFi Protect controllers. If you have more than one controller, it's easy to add them to this plugin, and integrate them seamlessly into HomeKit.
39
39
 
40
- - **Automatic *real-time* detection and configuration of all UniFi Protect devices.** By default - all of your supported UniFi Protect devices are made available in HomeKit without needing any further configuration on your part. Additionally, if you add or remove cameras or other devices to your UniFi Protect controller, this plugin will autodetect those configuration changes and add or remove those devices in HomeKit, seamlessly, *in real-time*. No need to restart Homebridge to see your new Protect devices added or removed.
40
+ - **Automatic *realtime* detection and configuration of all UniFi Protect devices.** By default - all of your supported UniFi Protect devices are made available in HomeKit without needing any further configuration on your part. Additionally, if you add or remove cameras or other devices to your UniFi Protect controller, this plugin will autodetect those configuration changes and add or remove those devices in HomeKit, seamlessly, *in realtime*. No need to restart Homebridge to see your new Protect devices added or removed.
41
41
 
42
42
  - **A builtin webUI using the Homebridge webUI plugin framework allows you the ability to [customize the plugin to your needs](https://github.com/hjdhjd/homebridge-unifi-protect/blob/main/docs/FeatureOptions.md).** You can apply options globally, for all devices connected to a specific Protect controller, or for individual Protect devices in an intuitive way using the Homebridge HBUP webUI.
43
43
 
@@ -69,7 +69,7 @@ I hope to continue to work on this one to get AEC working for two-way audio. [Yo
69
69
  * [Liveview Scenes](https://github.com/hjdhjd/homebridge-unifi-protect/blob/main/docs/Liveviews.md): use the UniFi Protect liveviews feature (available in the UniFi Protect controller webUI) to create motion-detection scenes.
70
70
  * [MQTT](https://github.com/hjdhjd/homebridge-unifi-protect/blob/main/docs/MQTT.md): how to configure MQTT support.
71
71
  * [Advanced Configuration](https://github.com/hjdhjd/homebridge-unifi-protect/blob/main/docs/AdvancedOptions.md): complete list of configuration options available in this plugin.
72
- * [Real-time API Documentation](https://github.com/hjdhjd/homebridge-unifi-protect/blob/main/docs/ProtectAPI.md): documentation of how the Ubiquiti real-time updates API works and how to decode the binary protocol.
72
+ * [realtime API Documentation](https://github.com/hjdhjd/homebridge-unifi-protect/blob/main/docs/ProtectAPI.md): documentation of how the Ubiquiti realtime updates API works and how to decode the binary protocol.
73
73
  * [Changelog](https://github.com/hjdhjd/homebridge-unifi-protect/blob/main/docs/Changelog.md): changes and release history of this plugin, starting with v3.0.
74
74
 
75
75
  ## Installation
@@ -143,15 +143,15 @@
143
143
  }
144
144
  },
145
145
 
146
- "ringDuration": {
146
+ "ringDelay": {
147
147
 
148
148
  "type": "integer",
149
- "title": "Ring Event Duration (seconds)",
149
+ "title": "Doorbell Ring Delay (seconds)",
150
150
  "required": false,
151
- "minimum": 3,
152
- "maximum": 10,
153
- "placeholder": "e.g. 3",
154
- "description": "Duration of a single ring event. Default: 3."
151
+ "minimum": 0,
152
+ "maximum": 60,
153
+ "placeholder": "e.g. 5",
154
+ "description": "Delay between doorbell rings. Setting this to a non-zero value will prevent multiple rings of a doorbell over the specified duration. Default: 0."
155
155
  },
156
156
 
157
157
  "verboseFfmpeg": {
@@ -159,7 +159,7 @@
159
159
  "type": "boolean",
160
160
  "title": "Verbose FFmpeg Logging",
161
161
  "required": false,
162
- "description": "Enable additional logging for FFmpeg. This will create a lot of logging when video streams are running. Default: false."
162
+ "description": "Enable additional logging for FFmpeg. This will create additional logging when video streams are running. Default: false."
163
163
  },
164
164
 
165
165
  "videoEncoder": {
@@ -296,7 +296,7 @@
296
296
  "videoProcessor",
297
297
  "videoEncoder",
298
298
  "verboseFfmpeg",
299
- "ringDuration"
299
+ "ringDelay"
300
300
  ]
301
301
  }
302
302
  ]
@@ -16,6 +16,7 @@ export declare class ProtectCamera extends ProtectDevice {
16
16
  private isDoorbellConfigured;
17
17
  isRinging: boolean;
18
18
  private isVideoConfigured;
19
+ detectLicensePlate: string[];
19
20
  private rtspEntries;
20
21
  private rtspQuality;
21
22
  stream: ProtectStreamingDelegate;
@@ -8,6 +8,7 @@ export class ProtectCamera extends ProtectDevice {
8
8
  isDoorbellConfigured;
9
9
  isRinging;
10
10
  isVideoConfigured;
11
+ detectLicensePlate;
11
12
  rtspEntries;
12
13
  rtspQuality;
13
14
  stream;
@@ -20,6 +21,7 @@ export class ProtectCamera extends ProtectDevice {
20
21
  this.isDeleted = false;
21
22
  this.isRinging = false;
22
23
  this.isVideoConfigured = false;
24
+ this.detectLicensePlate = [];
23
25
  this.rtspEntries = [];
24
26
  this.rtspQuality = {};
25
27
  this.ufp = device;
@@ -71,20 +73,23 @@ export class ProtectCamera extends ProtectDevice {
71
73
  this.accessory.context.hksvRecording = hksvRecording;
72
74
  this.accessory.context.mac = this.ufp.mac;
73
75
  this.accessory.context.nvr = this.nvr.ufp.mac;
76
+ // Inform the user that motion detection will suck.
77
+ if (this.ufp.recordingSettings.mode === "never") {
78
+ this.log.info("WARNING: motion events will not be generated by the Protect controller when the controller's camera recording options are set to \"never\".");
79
+ }
74
80
  // Inform the user if we have enabled the dynamic bitrate setting.
75
81
  if (this.hasFeature("Video.DynamicBitrate")) {
76
82
  this.log.info("Dynamic streaming bitrate adjustment on the UniFi Protect controller enabled.");
77
83
  }
78
84
  // Check to see if we have smart motion events enabled on a supported camera.
79
85
  if (this.hints.smartDetect) {
80
- // We deal with smart motion detection options here and save them on the ProtectCamera instance because
81
- // we're trying to optimize and reduce the number of feature option lookups we do in realtime, when possible.
82
- // Reading a stream of constant events and having to perform a string comparison through a list of options multiple
83
- // times a second isn't an ideal use of CPU cycles, even if you have plenty of them to spare. Instead, we perform
84
- // that lookup once, here, and set the appropriate option booleans for faster lookup and use later in event
85
- // detection.
86
+ // We deal with smart motion detection options here and save them on the ProtectCamera instance because we're trying to optimize the number of feature option
87
+ // lookups we do in realtime, when possible. Reading a stream of constant events and having to perform a string comparison through a list of options multiple times
88
+ // a second isn't an ideal use of CPU cycles, even if you have plenty of them to spare. Instead, we perform that lookup once, here, and set the appropriate option
89
+ // booleans for faster lookup and use later in event detection.
86
90
  // Inform the user of what smart detection object types we're configured for.
87
- this.log.info("Smart motion detection enabled%s.", this.ufp.featureFlags.smartDetectTypes.length ? ": " + this.ufp.featureFlags.smartDetectTypes.join(", ") : "");
91
+ this.log.info("Smart motion detection enabled%s.", this.ufp.featureFlags.smartDetectTypes.length ?
92
+ ": " + this.ufp.featureFlags.smartDetectTypes.sort().join(", ") : "");
88
93
  }
89
94
  // Configure accessory information.
90
95
  this.configureInfo();
@@ -135,9 +140,9 @@ export class ProtectCamera extends ProtectDevice {
135
140
  void this.configureVideoStream();
136
141
  }
137
142
  // Process motion events.
138
- if (payload.isMotionDetected && payload.lastMotion) {
139
- // We only want to process the motion event if we have the right payload, and either HKSV recording is enabled, or
140
- // HKSV recording is disabled and we have smart motion events disabled (or a device without smart motion capabilities) since those are handled elsewhere.
143
+ if (payload.lastMotion) {
144
+ // We only want to process the motion event if we have the right payload, and either HKSV recording is enabled, or HKSV recording is disabled and we have
145
+ // smart motion events disabled (or a device without smart motion capabilities) since those are handled elsewhere.
141
146
  if (this.stream?.hksv?.isRecording || (!this.stream?.hksv?.isRecording &&
142
147
  (!this.ufp.featureFlags.smartDetectTypes.length || (this.ufp.featureFlags.smartDetectTypes.length && !this.hints.smartDetect)))) {
143
148
  this.nvr.events.motionEventHandler(this, payload.lastMotion);
@@ -149,9 +154,11 @@ export class ProtectCamera extends ProtectDevice {
149
154
  }
150
155
  // Process camera details updates:
151
156
  // - availability state.
157
+ // - name change.
152
158
  // - camera status light.
153
159
  // - camera recording settings.
154
- if (payload.state || (payload.ledSettings && ("isEnabled" in payload.ledSettings)) || (payload.recordingSettings && ("mode" in payload.recordingSettings))) {
160
+ if (payload.state || payload.name || (payload.ledSettings && ("isEnabled" in payload.ledSettings)) ||
161
+ (payload.recordingSettings && ("mode" in payload.recordingSettings))) {
155
162
  this.updateDevice();
156
163
  }
157
164
  }
@@ -163,39 +170,46 @@ export class ProtectCamera extends ProtectDevice {
163
170
  return;
164
171
  }
165
172
  // Process the motion event.
166
- this.nvr.events.motionEventHandler(this, payload.start, payload.smartDetectTypes);
173
+ this.nvr.events.motionEventHandler(this, payload.start, payload.smartDetectTypes, ("metadata" in payload) ? payload.metadata : undefined);
167
174
  }
168
175
  // Configure discrete smart motion contact sensors for HomeKit.
169
176
  configureMotionSmartSensor() {
170
- // If we don't have smart motion detection, we're done.
171
- if (!this.ufp.featureFlags.hasSmartDetect) {
172
- return false;
173
- }
174
- // Check for object-centric contact sensors that are no longer enabled and remove them.
175
- for (const objectService of this.accessory.services.filter(x => x.subtype?.startsWith(ProtectReservedNames.CONTACT_MOTION_SMARTDETECT + "."))) {
176
- // If we have motion sensors as well as object contact sensors enabled, and we have this object type enabled on this camera, we're good here.
177
- if (this.hasFeature("Motion.SmartDetect.ObjectSensors")) {
177
+ // Get any license plates the user has configured for detection, if any.
178
+ this.detectLicensePlate = this.getFeatureValue("Motion.SmartDetect.ObjectSensors.LicensePlate")?.split("-").map(x => x.toUpperCase()) ?? [];
179
+ // Check if we have disabled specific license plate smart motion object contact sensors, and if so, remove them.
180
+ for (const objectService of this.accessory.services.filter(x => x.subtype?.startsWith(ProtectReservedNames.CONTACT_MOTION_SMARTDETECT_LICENSE + "."))) {
181
+ // Do we have smart motion detection as well as license plate telemetry available to us and is this license plate configured? If so, move on.
182
+ if (this.ufp.featureFlags.hasSmartDetect && this.ufp.featureFlags.smartDetectTypes.includes("licensePlate") && objectService.subtype &&
183
+ this.detectLicensePlate.includes(objectService.subtype.slice(objectService.subtype.indexOf(".") + 1))) {
178
184
  continue;
179
185
  }
180
186
  // We don't have this contact sensor enabled, remove it.
181
187
  this.accessory.removeService(objectService);
182
- this.log.info("Disabling smart motion contact sensor: %s.", objectService.subtype?.slice(objectService.subtype?.indexOf(".") + 1));
188
+ this.log.info("Disabling smart motion license plate contact sensor: %s.", objectService.subtype?.slice(objectService.subtype?.indexOf(".") + 1));
183
189
  }
184
- // Have we enabled discrete contact sensors for specific object types? If not, we're done here.
185
- if (!this.hasFeature("Motion.SmartDetect.ObjectSensors")) {
190
+ // If we don't have smart motion detection available or we have smart motion object contact sensors disabled, let's remove them.
191
+ if (!this.ufp.featureFlags.hasSmartDetect || !this.hasFeature("Motion.SmartDetect.ObjectSensors")) {
192
+ // Check for object-centric contact sensors that are no longer enabled and remove them.
193
+ for (const objectService of this.accessory.services.filter(x => x.subtype?.startsWith(ProtectReservedNames.CONTACT_MOTION_SMARTDETECT + "."))) {
194
+ // We don't have this contact sensor enabled, remove it.
195
+ this.accessory.removeService(objectService);
196
+ this.log.info("Disabling smart motion contact sensor: %s.", objectService.subtype?.slice(objectService.subtype?.indexOf(".") + 1));
197
+ }
198
+ }
199
+ // If we don't have smart motion detection, we're done.
200
+ if (!this.ufp.featureFlags.hasSmartDetect) {
186
201
  return false;
187
202
  }
188
- // Add individual contact sensors for each object detection type, if needed.
189
- for (const smartDetectType of this.ufp.featureFlags.smartDetectTypes) {
190
- const contactName = this.accessory.displayName + " " + smartDetectType.charAt(0).toUpperCase() + smartDetectType.slice(1);
203
+ // A utility for us to add contact sensors.
204
+ const addSmartDetectContactSensor = (name, serviceId, errorMessage) => {
191
205
  // See if we already have this contact sensor configured.
192
- let contactService = this.accessory.getServiceById(this.hap.Service.ContactSensor, ProtectReservedNames.CONTACT_MOTION_SMARTDETECT + "." + smartDetectType);
206
+ let contactService = this.accessory.getServiceById(this.hap.Service.ContactSensor, serviceId);
193
207
  // If not, let's add it.
194
208
  if (!contactService) {
195
- contactService = new this.hap.Service.ContactSensor(contactName, ProtectReservedNames.CONTACT_MOTION_SMARTDETECT + "." + smartDetectType);
209
+ contactService = new this.hap.Service.ContactSensor(name, serviceId);
196
210
  // Something went wrong, we're done here.
197
211
  if (!contactService) {
198
- this.log.error("Unable to add smart motion contact sensor for %s detection.", smartDetectType);
212
+ this.log.error(errorMessage);
199
213
  return false;
200
214
  }
201
215
  // Finally, add it to the camera.
@@ -203,10 +217,33 @@ export class ProtectCamera extends ProtectDevice {
203
217
  }
204
218
  // Initialize the sensor.
205
219
  contactService.addOptionalCharacteristic(this.hap.Characteristic.ConfiguredName);
206
- contactService.updateCharacteristic(this.hap.Characteristic.ConfiguredName, contactName);
220
+ contactService.updateCharacteristic(this.hap.Characteristic.ConfiguredName, name);
207
221
  contactService.updateCharacteristic(this.hap.Characteristic.ContactSensorState, false);
222
+ return true;
223
+ };
224
+ let enabledContactSensors = [];
225
+ // Add individual contact sensors for each object detection type, if needed.
226
+ if (this.hasFeature("Motion.SmartDetect.ObjectSensors")) {
227
+ for (const smartDetectType of this.ufp.featureFlags.smartDetectTypes) {
228
+ if (addSmartDetectContactSensor(this.accessoryName + " " + smartDetectType.charAt(0).toUpperCase() + smartDetectType.slice(1), ProtectReservedNames.CONTACT_MOTION_SMARTDETECT + "." + smartDetectType, "Unable to add smart motion contact sensor for " + smartDetectType + " detection.")) {
229
+ enabledContactSensors.push(smartDetectType);
230
+ }
231
+ }
232
+ this.log.info("Smart motion contact sensor%s enabled: %s.", enabledContactSensors.length > 1 ? "s" : "", enabledContactSensors.join(", "));
233
+ }
234
+ enabledContactSensors = [];
235
+ // Now process license plate contact sensors for individual detections.
236
+ if (this.ufp.featureFlags.smartDetectTypes.includes("licensePlate")) {
237
+ // Get the list of plates.
238
+ for (const licenseOption of this.detectLicensePlate) {
239
+ if (addSmartDetectContactSensor(this.accessoryName + " License Plate " + licenseOption, ProtectReservedNames.CONTACT_MOTION_SMARTDETECT_LICENSE + "." + licenseOption, "Unable to add smart motion license plate contact sensor for " + licenseOption + ".")) {
240
+ enabledContactSensors.push(licenseOption);
241
+ }
242
+ }
243
+ if (enabledContactSensors.length) {
244
+ this.log.info("Smart motion license plate contact sensor%s enabled: %s.", enabledContactSensors.length > 1 ? "s" : "", enabledContactSensors.join(", "));
245
+ }
208
246
  }
209
- this.log.info("Smart motion contact sensor%s enabled: %s.", this.ufp.featureFlags.smartDetectTypes.length > 1 ? "s" : "", this.ufp.featureFlags.smartDetectTypes.join(", "));
210
247
  return true;
211
248
  }
212
249
  // Configure a switch to manually trigger a doorbell ring event for HomeKit.
@@ -239,7 +276,7 @@ export class ProtectCamera extends ProtectDevice {
239
276
  return false;
240
277
  }
241
278
  }
242
- const triggerName = this.accessory.displayName + " Doorbell Trigger";
279
+ const triggerName = this.accessoryName + " Doorbell Trigger";
243
280
  // Add the switch to the camera, if needed.
244
281
  if (!triggerService) {
245
282
  triggerService = new this.hap.Service.Switch(triggerName, ProtectReservedNames.SWITCH_DOORBELL_TRIGGER);
@@ -286,7 +323,7 @@ export class ProtectCamera extends ProtectDevice {
286
323
  // Add the doorbell service to this Protect doorbell. HomeKit requires the doorbell service to be
287
324
  // marked as the primary service on the accessory.
288
325
  if (!doorbellService) {
289
- doorbellService = new this.hap.Service.Doorbell(this.accessory.displayName);
326
+ doorbellService = new this.hap.Service.Doorbell(this.accessoryName);
290
327
  if (!doorbellService) {
291
328
  this.log.error("Unable to add doorbell.");
292
329
  return false;
@@ -549,7 +586,7 @@ export class ProtectCamera extends ProtectDevice {
549
586
  this.accessory.context.hksvRecording = true;
550
587
  return false;
551
588
  }
552
- const switchName = this.accessory.displayName + " HKSV Recording";
589
+ const switchName = this.accessoryName + " HKSV Recording";
553
590
  // Add the switch to the camera, if needed.
554
591
  if (!switchService) {
555
592
  switchService = new this.hap.Service.Switch(switchName, ProtectReservedNames.SWITCH_HKSV_RECORDING);
@@ -589,7 +626,7 @@ export class ProtectCamera extends ProtectDevice {
589
626
  this.accessory.context.dynamicBitrate = false;
590
627
  return false;
591
628
  }
592
- const switchName = this.accessory.displayName + " Dynamic Bitrate";
629
+ const switchName = this.accessoryName + " Dynamic Bitrate";
593
630
  // Add the switch to the camera, if needed.
594
631
  if (!switchService) {
595
632
  switchService = new this.hap.Service.Switch(switchName, ProtectReservedNames.SWITCH_DYNAMIC_BITRATE);
@@ -655,7 +692,7 @@ export class ProtectCamera extends ProtectDevice {
655
692
  }
656
693
  continue;
657
694
  }
658
- const switchName = this.accessory.displayName + " UFP Recording " + ufpRecordingSetting.charAt(0).toUpperCase() + ufpRecordingSetting.slice(1);
695
+ const switchName = this.accessoryName + " UFP Recording " + ufpRecordingSetting.charAt(0).toUpperCase() + ufpRecordingSetting.slice(1);
659
696
  // Add the switch to the camera, if needed.
660
697
  if (!switchService) {
661
698
  switchService = new this.hap.Service.Switch(switchName, ufpRecordingSwitchType);
@@ -666,15 +703,12 @@ export class ProtectCamera extends ProtectDevice {
666
703
  this.accessory.addService(switchService);
667
704
  }
668
705
  // Activate or deactivate the appropriate recording mode on the Protect controller.
669
- switchService
670
- .getCharacteristic(this.hap.Characteristic.On)
671
- ?.onGet(() => {
706
+ switchService.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => {
672
707
  return this.ufp.recordingSettings.mode === ufpRecordingSetting;
673
- })
674
- .onSet(async (value) => {
675
- // We only want to do something if we're being activated. Turning off the switch would really be an undefined state given that
676
- // there are three different settings one can choose from. Instead, we do nothing and leave it to the user to choose what state
677
- // they really want to set.
708
+ });
709
+ switchService.getCharacteristic(this.hap.Characteristic.On)?.onSet(async (value) => {
710
+ // We only want to do something if we're being activated. Turning off the switch would really be an undefined state given that there are three different
711
+ // settings one can choose from. Instead, we do nothing and leave it to the user to choose what state they really want to set.
678
712
  if (!value) {
679
713
  setTimeout(() => {
680
714
  this.updateDevice();
@@ -1 +1 @@
1
- {"version":3,"file":"protect-camera.js","sourceRoot":"","sources":["../src/protect-camera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-camera.js","sourceRoot":"","sources":["../src/protect-camera.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export class ProtectChime extends ProtectDevice {
30
30
  let lightService = this.accessory.getService(this.hap.Service.Lightbulb);
31
31
  // Add the service to the accessory, if needed.
32
32
  if (!lightService) {
33
- lightService = new this.hap.Service.Lightbulb(this.accessory.displayName);
33
+ lightService = new this.hap.Service.Lightbulb(this.accessoryName);
34
34
  if (!lightService) {
35
35
  this.log.error("Unable to add chime.");
36
36
  return false;
@@ -38,11 +38,10 @@ export class ProtectChime extends ProtectDevice {
38
38
  this.accessory.addService(lightService);
39
39
  }
40
40
  // Turn the chime on or off.
41
- lightService.getCharacteristic(this.hap.Characteristic.On)
42
- ?.onGet(() => {
41
+ lightService.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => {
43
42
  return this.ufp.volume > 0;
44
- })
45
- .onSet(async (value) => {
43
+ });
44
+ lightService.getCharacteristic(this.hap.Characteristic.On)?.onSet(async (value) => {
46
45
  // We really only want to act when the chime is turned off. Otherwise, it's handled by the brightness event.
47
46
  if (value) {
48
47
  return;
@@ -56,12 +55,11 @@ export class ProtectChime extends ProtectDevice {
56
55
  this.ufp = newDevice;
57
56
  });
58
57
  // Adjust the volume of the chime by adjusting brightness of the light.
59
- lightService.getCharacteristic(this.hap.Characteristic.Brightness)
60
- ?.onGet(() => {
58
+ lightService.getCharacteristic(this.hap.Characteristic.Brightness)?.onGet(() => {
61
59
  // Return the volume level of the chime.
62
60
  return this.ufp.volume;
63
- })
64
- .onSet(async (value) => {
61
+ });
62
+ lightService.getCharacteristic(this.hap.Characteristic.Brightness)?.onSet(async (value) => {
65
63
  const newDevice = await this.nvr.ufpApi.updateDevice(this.ufp, { volume: value });
66
64
  if (!newDevice) {
67
65
  this.log.error("Unable to adjust the volume to %s%. Please ensure this username has the Administrator role in UniFi Protect.", value);
@@ -71,6 +69,8 @@ export class ProtectChime extends ProtectDevice {
71
69
  this.ufp = newDevice;
72
70
  });
73
71
  // Initialize the chime.
72
+ lightService.displayName = this.accessoryName;
73
+ lightService.updateCharacteristic(this.hap.Characteristic.Name, this.accessoryName);
74
74
  lightService.updateCharacteristic(this.hap.Characteristic.On, this.ufp.volume > 0);
75
75
  lightService.updateCharacteristic(this.hap.Characteristic.Brightness, this.ufp.volume);
76
76
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"protect-chime.js","sourceRoot":"","sources":["../src/protect-chime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-chime.js","sourceRoot":"","sources":["../src/protect-chime.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ export interface ProtectHints {
15
15
  probesize: number;
16
16
  smartDetect: boolean;
17
17
  smartOccupancy: string[];
18
+ syncName: boolean;
18
19
  timeshift: boolean;
19
20
  transcode: boolean;
20
21
  transcodeHighLatency: boolean;
@@ -41,7 +42,7 @@ export declare abstract class ProtectDevice extends ProtectBase {
41
42
  abstract ufp: ProtectDeviceConfigTypes;
42
43
  constructor(nvr: ProtectNvr, accessory: PlatformAccessory);
43
44
  protected configureHints(): boolean;
44
- protected configureInfo(): boolean;
45
+ configureInfo(): boolean;
45
46
  cleanup(): void;
46
47
  protected configureMotionSensor(isEnabled?: boolean, isInitialized?: boolean): boolean;
47
48
  private configureMotionSwitch;
@@ -50,9 +51,12 @@ export declare abstract class ProtectDevice extends ProtectBase {
50
51
  protected configureOccupancySensor(isEnabled?: boolean, isInitialized?: boolean): boolean;
51
52
  getFeatureFloat(option: string): number | undefined;
52
53
  getFeatureNumber(option: string): number | undefined;
54
+ getFeatureValue(option: string): string | undefined;
53
55
  hasFeature(option: string): boolean;
54
56
  isReservedName(name: string | undefined): boolean;
55
57
  get isOnline(): boolean;
56
58
  get id(): string;
57
59
  get name(): string;
60
+ get accessoryName(): string;
61
+ set accessoryName(name: string);
58
62
  }