homebridge-unifi-protect 7.8.2 → 7.9.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.
- package/dist/devices/protect-camera-package.d.ts +4 -1
- package/dist/devices/protect-camera-package.js +75 -5
- package/dist/devices/protect-camera-package.js.map +1 -1
- package/dist/devices/protect-camera.d.ts +1 -1
- package/dist/devices/protect-camera.js +10 -12
- package/dist/devices/protect-camera.js.map +1 -1
- package/dist/devices/protect-device.d.ts +3 -3
- package/dist/devices/protect-doorbell.d.ts +4 -1
- package/dist/devices/protect-doorbell.js +59 -2
- package/dist/devices/protect-doorbell.js.map +1 -1
- package/dist/devices/protect-sensor.js +0 -7
- package/dist/devices/protect-sensor.js.map +1 -1
- package/dist/protect-nvr.d.ts +2 -2
- package/dist/protect-nvr.js +3 -3
- package/dist/protect-nvr.js.map +1 -1
- package/dist/protect-options.js +13 -11
- package/dist/protect-options.js.map +1 -1
- package/dist/protect-stream.js +20 -3
- package/dist/protect-stream.js.map +1 -1
- package/dist/protect-timeshift.js +1 -1
- package/dist/protect-timeshift.js.map +1 -1
- package/dist/protect-types.d.ts +2 -0
- package/dist/protect-types.js +2 -0
- package/dist/protect-types.js.map +1 -1
- package/dist/settings.d.ts +1 -0
- package/dist/settings.js +2 -0
- package/dist/settings.js.map +1 -1
- package/homebridge-ui/public/lib/featureoptions.js +45 -28
- package/homebridge-ui/public/lib/featureoptions.js.map +1 -1
- package/homebridge-ui/public/lib/webUi-featureoptions.mjs +77 -78
- package/homebridge-ui/public/ui.mjs +3 -3
- package/package.json +10 -11
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import { ProtectCamera, RtspEntry } from "./protect-camera.js";
|
|
2
1
|
import { Nullable } from "homebridge-plugin-utils";
|
|
2
|
+
import { ProtectCamera, RtspEntry } from "./protect-camera.js";
|
|
3
3
|
export declare class ProtectCameraPackage extends ProtectCamera {
|
|
4
|
+
private flashlightState?;
|
|
5
|
+
private flashlightTimer?;
|
|
4
6
|
protected configureDevice(): Promise<boolean>;
|
|
7
|
+
private configureFlashlight;
|
|
5
8
|
get id(): string;
|
|
6
9
|
findRtsp(): Nullable<RtspEntry>;
|
|
7
10
|
findRecordingRtsp(): Nullable<RtspEntry>;
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
*
|
|
3
|
-
* protect-camera-package.ts: Package camera device class for UniFi Protect.
|
|
4
|
-
*/
|
|
1
|
+
import { retry } from "homebridge-plugin-utils";
|
|
5
2
|
import { ProtectCamera } from "./protect-camera.js";
|
|
3
|
+
import { ProtectReservedNames } from "../protect-types.js";
|
|
6
4
|
import { ProtectStreamingDelegate } from "../protect-stream.js";
|
|
7
5
|
// Package camera class. To avoid circular dependencies, this has to be declared in the same file as ProtectCamera, given the ProtectCamera class references it.
|
|
8
6
|
export class ProtectCameraPackage extends ProtectCamera {
|
|
7
|
+
flashlightState;
|
|
8
|
+
flashlightTimer;
|
|
9
9
|
// Configure the package camera.
|
|
10
10
|
async configureDevice() {
|
|
11
11
|
// Get our parent camera.
|
|
12
12
|
const parentCamera = this.nvr.getDeviceById(this.ufp.id);
|
|
13
|
+
this.flashlightState = false;
|
|
13
14
|
this.hasHksv = true;
|
|
14
15
|
this.hints.probesize = 32768;
|
|
15
16
|
// Inherit settings from our parent.
|
|
@@ -36,6 +37,8 @@ export class ProtectCameraPackage extends ProtectCamera {
|
|
|
36
37
|
this.configureInfo();
|
|
37
38
|
// Configure the motion sensor.
|
|
38
39
|
this.configureMotionSensor();
|
|
40
|
+
// Configure the flashlight.
|
|
41
|
+
this.configureFlashlight();
|
|
39
42
|
let hkResolutions = [];
|
|
40
43
|
const validResolutions = [this.findRtsp()?.resolution ?? [1600, 1200, 2]];
|
|
41
44
|
// Ensure we have mandatory resolutions required by HomeKit, as well as special support for Apple TV and Apple Watch, while respecting aspect ratios.
|
|
@@ -85,6 +88,73 @@ export class ProtectCameraPackage extends ProtectCamera {
|
|
|
85
88
|
// We're done.
|
|
86
89
|
return Promise.resolve(true);
|
|
87
90
|
}
|
|
91
|
+
// Configure a light accessory to turn on or off the flashlight.
|
|
92
|
+
configureFlashlight() {
|
|
93
|
+
// Validate whether we should have this service enabled.
|
|
94
|
+
if (!this.validService(this.hap.Service.Lightbulb, () => {
|
|
95
|
+
// If we don't have the package camera flashlight enabled, we're done.
|
|
96
|
+
if (!this.hasFeature("Doorbell.PackageCamera.Flashlight")) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
return true;
|
|
100
|
+
}, ProtectReservedNames.LIGHTBULB_PACKAGE_FLASHLIGHT)) {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
// Acquire the service.
|
|
104
|
+
const service = this.acquireService(this.hap.Service.Lightbulb, this.accessoryName + " Flashlight", ProtectReservedNames.LIGHTBULB_PACKAGE_FLASHLIGHT);
|
|
105
|
+
// Fail gracefully.
|
|
106
|
+
if (!service) {
|
|
107
|
+
this.log.error("Unable to add flashlight.");
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
// Activate or deactivate the package camera flashlight.
|
|
111
|
+
service.getCharacteristic(this.hap.Characteristic.On)?.onGet(() => !!this.flashlightState);
|
|
112
|
+
service.getCharacteristic(this.hap.Characteristic.On)?.onSet(async (value) => {
|
|
113
|
+
// Stop heartbeating the flashlight to allow it to turn off.
|
|
114
|
+
if (!value) {
|
|
115
|
+
clearInterval(this.flashlightTimer);
|
|
116
|
+
this.flashlightTimer = undefined;
|
|
117
|
+
this.flashlightState = false;
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
// Utility function to activate the package camera's flashlight.
|
|
121
|
+
const activateFlashlight = async () => {
|
|
122
|
+
// Retry the heartbeat up to three times before giving up.
|
|
123
|
+
this.flashlightState = await retry(async () => {
|
|
124
|
+
if (!this.isOnline) {
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
const response = await this.nvr.ufpApi.retrieve(this.nvr.ufpApi.getApiEndpoint(this.ufp.modelKey) + "/" + this.ufp.id + "/turnon-flashlight", { method: "POST" });
|
|
128
|
+
if (!response?.ok) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
return true;
|
|
132
|
+
}, 1000, 3);
|
|
133
|
+
// Update the sensor.
|
|
134
|
+
service.updateCharacteristic(this.hap.Characteristic.On, this.flashlightState);
|
|
135
|
+
// Stop if we've been told to turn off.
|
|
136
|
+
if (!this.flashlightState) {
|
|
137
|
+
clearInterval(this.flashlightTimer);
|
|
138
|
+
this.flashlightTimer = undefined;
|
|
139
|
+
}
|
|
140
|
+
return this.flashlightState;
|
|
141
|
+
};
|
|
142
|
+
// Clear out any interval we have.
|
|
143
|
+
clearInterval(this.flashlightTimer);
|
|
144
|
+
// If it's dark, we're done.
|
|
145
|
+
if (!this.ufp.isDark) {
|
|
146
|
+
setTimeout(() => service?.updateCharacteristic(this.hap.Characteristic.On, false), 50);
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
// Activate the flashlight.
|
|
150
|
+
await activateFlashlight();
|
|
151
|
+
// Heartbeat the flashlight at regular intervals to keep it on.
|
|
152
|
+
this.flashlightTimer = setInterval(async () => activateFlashlight(), 20 * 1000);
|
|
153
|
+
});
|
|
154
|
+
// Initialize the flashlight.
|
|
155
|
+
service.updateCharacteristic(this.hap.Characteristic.On, !!this.flashlightState);
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
88
158
|
// Return a unique identifier for package cameras based on the parent device's MAC address.
|
|
89
159
|
get id() {
|
|
90
160
|
return this.ufp.mac + ".PackageCamera";
|
|
@@ -98,7 +168,7 @@ export class ProtectCameraPackage extends ProtectCamera {
|
|
|
98
168
|
// Return the information we need for package camera channel access.
|
|
99
169
|
return {
|
|
100
170
|
channel: channel,
|
|
101
|
-
lens:
|
|
171
|
+
lens: 2,
|
|
102
172
|
name: this.getResolution([channel.width, channel.height, channel.fps]) + " (" + channel.name + ") [" + (this.ufp.videoCodec.replace("h265", "hevc")).toUpperCase() +
|
|
103
173
|
"]",
|
|
104
174
|
resolution: [channel.width, channel.height, channel.fps],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-camera-package.js","sourceRoot":"","sources":["../../src/devices/protect-camera-package.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protect-camera-package.js","sourceRoot":"","sources":["../../src/devices/protect-camera-package.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ export declare class ProtectCamera extends ProtectDevice {
|
|
|
35
35
|
protected configureDevice(): Promise<boolean>;
|
|
36
36
|
cleanup(): void;
|
|
37
37
|
protected eventHandler(packet: ProtectEventPacket): void;
|
|
38
|
-
|
|
38
|
+
protected addEventHandler(packet: ProtectEventPacket): void;
|
|
39
39
|
private configureAmbientLightSensor;
|
|
40
40
|
private configureMotionSmartSensor;
|
|
41
41
|
private configureDoorbellTrigger;
|
|
@@ -52,10 +52,10 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
52
52
|
this.hints.transcodeHighLatencyBitrate = this.getFeatureNumber("Video.Transcode.HighLatency.Bitrate");
|
|
53
53
|
this.hints.twoWayAudio = this.ufp.featureFlags.hasSpeaker && this.hasFeature("Audio") && this.hasFeature("Audio.TwoWay");
|
|
54
54
|
// Sanity check our target transcoding bitrates, if defined.
|
|
55
|
-
if ((this.hints.transcodeBitrate === undefined) || (this.hints.transcodeBitrate <= 0)) {
|
|
55
|
+
if ((this.hints.transcodeBitrate === null) || (this.hints.transcodeBitrate === undefined) || (this.hints.transcodeBitrate <= 0)) {
|
|
56
56
|
this.hints.transcodeBitrate = -1;
|
|
57
57
|
}
|
|
58
|
-
if ((this.hints.transcodeHighLatencyBitrate === undefined) || (this.hints.transcodeHighLatencyBitrate <= 0)) {
|
|
58
|
+
if ((this.hints.transcodeHighLatencyBitrate === null) || (this.hints.transcodeHighLatencyBitrate === undefined) || (this.hints.transcodeHighLatencyBitrate <= 0)) {
|
|
59
59
|
this.hints.transcodeHighLatencyBitrate = -1;
|
|
60
60
|
}
|
|
61
61
|
return true;
|
|
@@ -110,10 +110,8 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
110
110
|
// Configure the doorbell trigger.
|
|
111
111
|
this.configureDoorbellTrigger();
|
|
112
112
|
// Listen for events.
|
|
113
|
+
this.nvr.events.on("addEvent." + this.ufp.id, this.listeners["addEvent." + this.ufp.id] = this.addEventHandler.bind(this));
|
|
113
114
|
this.nvr.events.on("updateEvent." + this.ufp.id, this.listeners["updateEvent." + this.ufp.id] = this.eventHandler.bind(this));
|
|
114
|
-
if (this.hints.smartDetect) {
|
|
115
|
-
this.nvr.events.on("addEvent." + this.ufp.id, this.listeners["addEvent." + this.ufp.id] = this.smartMotionEventHandler.bind(this));
|
|
116
|
-
}
|
|
117
115
|
return true;
|
|
118
116
|
}
|
|
119
117
|
// Cleanup after ourselves if we're being deleted.
|
|
@@ -127,7 +125,7 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
127
125
|
super.cleanup();
|
|
128
126
|
this.isDeleted = true;
|
|
129
127
|
}
|
|
130
|
-
// Handle
|
|
128
|
+
// Handle update-related events.
|
|
131
129
|
eventHandler(packet) {
|
|
132
130
|
const payload = packet.payload;
|
|
133
131
|
const hasProperty = (properties) => properties.some(property => property in payload);
|
|
@@ -166,12 +164,12 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
166
164
|
this.updateDevice();
|
|
167
165
|
}
|
|
168
166
|
}
|
|
169
|
-
// Handle
|
|
170
|
-
|
|
167
|
+
// Handle add-related events from the controller.
|
|
168
|
+
addEventHandler(packet) {
|
|
171
169
|
const payload = packet.payload;
|
|
172
170
|
// We're only interested in smart motion detection events.
|
|
173
|
-
if ((packet.header.modelKey !== "smartDetectObject") &&
|
|
174
|
-
((packet.header.modelKey !== "event") || !["smartDetectLine", "smartDetectZone"].includes(payload.type) || !payload.smartDetectTypes.length)) {
|
|
171
|
+
if (!this.hints.smartDetect || ((packet.header.modelKey !== "smartDetectObject") &&
|
|
172
|
+
((packet.header.modelKey !== "event") || !["smartDetectLine", "smartDetectZone"].includes(payload.type) || !payload.smartDetectTypes.length))) {
|
|
175
173
|
return;
|
|
176
174
|
}
|
|
177
175
|
// Process the motion event.
|
|
@@ -248,7 +246,7 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
248
246
|
// Configure discrete smart motion contact sensors for HomeKit.
|
|
249
247
|
configureMotionSmartSensor() {
|
|
250
248
|
// Get any license plates the user has configured for detection, if any.
|
|
251
|
-
this.detectLicensePlate = this.getFeatureValue("Motion.SmartDetect.ObjectSensors.LicensePlate")?.split("-").map(x => x.toUpperCase()) ?? [];
|
|
249
|
+
this.detectLicensePlate = this.getFeatureValue("Motion.SmartDetect.ObjectSensors.LicensePlate")?.split("-").filter(x => x.length).map(x => x.toUpperCase()) ?? [];
|
|
252
250
|
// Check if we have disabled specific license plate smart motion object contact sensors, and if so, remove them.
|
|
253
251
|
for (const objectService of this.accessory.services.filter(x => x.subtype?.startsWith(ProtectReservedNames.CONTACT_MOTION_SMARTDETECT_LICENSE + "."))) {
|
|
254
252
|
// 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.
|
|
@@ -300,7 +298,7 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
300
298
|
// Now process license plate contact sensors for individual detections.
|
|
301
299
|
if (this.ufp.featureFlags.smartDetectTypes.includes("licensePlate")) {
|
|
302
300
|
// Get the list of plates.
|
|
303
|
-
for (const licenseOption of this.detectLicensePlate) {
|
|
301
|
+
for (const licenseOption of this.detectLicensePlate.filter(plate => plate.length)) {
|
|
304
302
|
if (addSmartDetectContactSensor(this.accessoryName + " License Plate " + licenseOption, ProtectReservedNames.CONTACT_MOTION_SMARTDETECT_LICENSE + "." + licenseOption, "Unable to add smart motion license plate contact sensor for " + licenseOption + ".")) {
|
|
305
303
|
enabledContactSensors.push(licenseOption);
|
|
306
304
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-camera.js","sourceRoot":"","sources":["../../src/devices/protect-camera.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protect-camera.js","sourceRoot":"","sources":["../../src/devices/protect-camera.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,9 +73,9 @@ export declare abstract class ProtectDevice extends ProtectBase {
|
|
|
73
73
|
protected configureOccupancySensor(isEnabled?: boolean, isInitialized?: boolean): boolean;
|
|
74
74
|
protected configureStatusLedSwitch(isEnabled?: boolean): boolean;
|
|
75
75
|
setStatusLed(value: boolean): Promise<boolean>;
|
|
76
|
-
getFeatureFloat(option: string): number | undefined
|
|
77
|
-
getFeatureNumber(option: string): number | undefined
|
|
78
|
-
getFeatureValue(option: string): string | undefined
|
|
76
|
+
getFeatureFloat(option: string): Nullable<number | undefined>;
|
|
77
|
+
getFeatureNumber(option: string): Nullable<number | undefined>;
|
|
78
|
+
getFeatureValue(option: string): Nullable<string | undefined>;
|
|
79
79
|
hasFeature(option: string): boolean;
|
|
80
80
|
isDeviceFeature(option: string): boolean;
|
|
81
81
|
logFeature(option: string, message: string, nvrMessage?: string): void;
|
|
@@ -6,17 +6,19 @@ import { ProtectCameraPackage } from "./protect-camera-package.js";
|
|
|
6
6
|
import { ProtectNvr } from "../protect-nvr.js";
|
|
7
7
|
export declare class ProtectDoorbell extends ProtectCamera {
|
|
8
8
|
private chimeDigitalDuration;
|
|
9
|
+
private contactAuthTimer?;
|
|
9
10
|
private defaultMessageDuration;
|
|
10
11
|
private isMessagesEnabled;
|
|
11
12
|
private isMessagesFromControllerEnabled;
|
|
12
13
|
private messageSwitches;
|
|
13
|
-
packageCamera
|
|
14
|
+
packageCamera?: Nullable<ProtectCameraPackage>;
|
|
14
15
|
constructor(nvr: ProtectNvr, device: ProtectCameraConfig, accessory: PlatformAccessory);
|
|
15
16
|
protected configureDevice(): Promise<boolean>;
|
|
16
17
|
private configureDoorbellLcdSwitch;
|
|
17
18
|
private configurePackageCamera;
|
|
18
19
|
private configurePhysicalChimes;
|
|
19
20
|
private configureProtectChimeLightbulb;
|
|
21
|
+
private configureAuthSensor;
|
|
20
22
|
protected configureMqtt(): boolean;
|
|
21
23
|
updateDevice(): boolean;
|
|
22
24
|
private getPhysicalChimeDuration;
|
|
@@ -25,6 +27,7 @@ export declare class ProtectDoorbell extends ProtectCamera {
|
|
|
25
27
|
private updateLcdSwitch;
|
|
26
28
|
private setMessage;
|
|
27
29
|
protected eventHandler(packet: ProtectEventPacket): void;
|
|
30
|
+
protected addEventHandler(packet: ProtectEventPacket): void;
|
|
28
31
|
private nvrEventHandler;
|
|
29
32
|
private chimeEventHandler;
|
|
30
33
|
private get chimeVolume();
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { validateName } from "homebridge-plugin-utils";
|
|
2
|
-
import { PLATFORM_NAME, PLUGIN_NAME, PROTECT_DOORBELL_CHIME_DURATION_DIGITAL } from "../settings.js";
|
|
2
|
+
import { PLATFORM_NAME, PLUGIN_NAME, PROTECT_DOORBELL_AUTHSENSOR_DURATION, PROTECT_DOORBELL_CHIME_DURATION_DIGITAL } from "../settings.js";
|
|
3
3
|
import { ProtectReservedNames, toCamelCase } from "../protect-types.js";
|
|
4
4
|
import { ProtectCamera } from "./protect-camera.js";
|
|
5
5
|
import { ProtectCameraPackage } from "./protect-camera-package.js";
|
|
6
6
|
export class ProtectDoorbell extends ProtectCamera {
|
|
7
7
|
chimeDigitalDuration;
|
|
8
|
+
contactAuthTimer;
|
|
8
9
|
defaultMessageDuration;
|
|
9
10
|
isMessagesEnabled;
|
|
10
11
|
isMessagesFromControllerEnabled;
|
|
@@ -39,7 +40,9 @@ export class ProtectDoorbell extends ProtectCamera {
|
|
|
39
40
|
this.configurePackageCamera();
|
|
40
41
|
// Let's setup the doorbell-specific attributes.
|
|
41
42
|
this.configureVideoDoorbell();
|
|
42
|
-
//
|
|
43
|
+
// Configure the authentication sensor, if enabled.
|
|
44
|
+
this.configureAuthSensor();
|
|
45
|
+
// Configure the doorbell LCD message capabilities.
|
|
43
46
|
this.configureDoorbellLcdSwitch();
|
|
44
47
|
// Configure physical chime switches, if enabled.
|
|
45
48
|
this.configurePhysicalChimes();
|
|
@@ -234,6 +237,30 @@ export class ProtectDoorbell extends ProtectCamera {
|
|
|
234
237
|
this.log.info("Enabling Protect chime volume control.");
|
|
235
238
|
return true;
|
|
236
239
|
}
|
|
240
|
+
// Configure the contact sensor to indicate authentication success.
|
|
241
|
+
configureAuthSensor() {
|
|
242
|
+
// Validate whether we should have this service enabled.
|
|
243
|
+
if (!this.validService(this.hap.Service.ContactSensor, () => {
|
|
244
|
+
// The authentication contact sensor is disabled by default unless the user enables it. We only make it available if we have at least one of the
|
|
245
|
+
// fingerprint sensor or the NFC sensor available.
|
|
246
|
+
if (!this.hasFeature("Doorbell.AuthSensor") || (!this.ufp.enableNfc && !this.ufp.featureFlags.hasFingerprintSensor)) {
|
|
247
|
+
return false;
|
|
248
|
+
}
|
|
249
|
+
return true;
|
|
250
|
+
}, ProtectReservedNames.CONTACT_AUTHSENSOR)) {
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
253
|
+
// Acquire the service.
|
|
254
|
+
const service = this.acquireService(this.hap.Service.ContactSensor, this.accessoryName + " Authenticated", ProtectReservedNames.CONTACT_AUTHSENSOR);
|
|
255
|
+
if (!service) {
|
|
256
|
+
this.log.error("Unable to add authentication sensor.");
|
|
257
|
+
return false;
|
|
258
|
+
}
|
|
259
|
+
// Initialize the authentication contact sensor.
|
|
260
|
+
service.updateCharacteristic(this.hap.Characteristic.ContactSensorState, false);
|
|
261
|
+
this.log.info("Enabling Protect authentication contact sensor.");
|
|
262
|
+
return true;
|
|
263
|
+
}
|
|
237
264
|
// Configure MQTT capabilities for the doorbell.
|
|
238
265
|
configureMqtt() {
|
|
239
266
|
// Call our parent to setup the general camera MQTT capabilities.
|
|
@@ -458,6 +485,36 @@ export class ProtectDoorbell extends ProtectCamera {
|
|
|
458
485
|
this.updateLcdSwitch(payload.lcdMessage);
|
|
459
486
|
}
|
|
460
487
|
}
|
|
488
|
+
// Handle add-related events from the controller.
|
|
489
|
+
addEventHandler(packet) {
|
|
490
|
+
const payload = packet.payload;
|
|
491
|
+
super.eventHandler(packet);
|
|
492
|
+
// Process any authentication events.
|
|
493
|
+
if (payload.type && ["fingerprintIdentified", "nfcCardScanned"].includes(payload.type)) {
|
|
494
|
+
// Clear out the contact sensor timer.
|
|
495
|
+
if (this.contactAuthTimer) {
|
|
496
|
+
clearTimeout(this.contactAuthTimer);
|
|
497
|
+
this.contactAuthTimer = undefined;
|
|
498
|
+
}
|
|
499
|
+
// Grab the service, if we've configured it.
|
|
500
|
+
const service = this.accessory.getServiceById(this.hap.Service.ContactSensor, ProtectReservedNames.CONTACT_AUTHSENSOR);
|
|
501
|
+
if (!service) {
|
|
502
|
+
return;
|
|
503
|
+
}
|
|
504
|
+
// We've failed to authenticate, we're done.
|
|
505
|
+
if (!payload.metadata?.fingerprint?.ulpId && !payload.metadata?.nfc?.ulpId) {
|
|
506
|
+
service.updateCharacteristic(this.hap.Characteristic.ContactSensorState, false);
|
|
507
|
+
return;
|
|
508
|
+
}
|
|
509
|
+
// We've successfully authenticated either a fingerprint or an NFC card.
|
|
510
|
+
service.updateCharacteristic(this.hap.Characteristic.ContactSensorState, true);
|
|
511
|
+
// Reset our contact sensor after our auth sensor duration.
|
|
512
|
+
this.contactAuthTimer = setTimeout(() => {
|
|
513
|
+
service.updateCharacteristic(this.hap.Characteristic.ContactSensorState, false);
|
|
514
|
+
this.contactAuthTimer = undefined;
|
|
515
|
+
}, PROTECT_DOORBELL_AUTHSENSOR_DURATION);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
461
518
|
// Handle doorbell saved message updates on the Protect controller.
|
|
462
519
|
nvrEventHandler(packet) {
|
|
463
520
|
const payload = packet.payload;
|