homebridge-unifi-protect 4.4.3 → 5.0.2
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/LICENSE.md +1 -1
- package/README.md +8 -12
- package/config.schema.json +30 -9
- package/dist/index.js +1 -1
- package/dist/protect-accessory.js +145 -2
- package/dist/protect-accessory.js.map +1 -1
- package/dist/protect-camera.js +56 -162
- package/dist/protect-camera.js.map +1 -1
- package/dist/protect-doorbell.js +14 -14
- package/dist/protect-doorbell.js.map +1 -1
- package/dist/protect-ffmpeg.js +22 -3
- package/dist/protect-ffmpeg.js.map +1 -1
- package/dist/protect-light.js +111 -0
- package/dist/protect-light.js.map +1 -0
- package/dist/protect-liveviews.js +2 -2
- package/dist/protect-liveviews.js.map +1 -1
- package/dist/protect-mqtt.js +47 -19
- package/dist/protect-mqtt.js.map +1 -1
- package/dist/protect-nvr-events.js +205 -61
- package/dist/protect-nvr-events.js.map +1 -1
- package/dist/protect-nvr-systeminfo.js +174 -0
- package/dist/protect-nvr-systeminfo.js.map +1 -0
- package/dist/protect-nvr.js +167 -61
- package/dist/protect-nvr.js.map +1 -1
- package/dist/protect-options.js +7 -0
- package/dist/protect-options.js.map +1 -0
- package/dist/protect-platform.js +9 -3
- package/dist/protect-platform.js.map +1 -1
- package/dist/protect-securitysystem.js +3 -4
- package/dist/protect-securitysystem.js.map +1 -1
- package/dist/protect-sensor.js +357 -0
- package/dist/protect-sensor.js.map +1 -0
- package/dist/protect-stream.js +72 -19
- package/dist/protect-stream.js.map +1 -1
- package/dist/protect-viewer.js +170 -0
- package/dist/protect-viewer.js.map +1 -0
- package/dist/settings.js +6 -2
- package/dist/settings.js.map +1 -1
- package/package.json +14 -16
- package/dist/protect-api-updates.js +0 -166
- package/dist/protect-api-updates.js.map +0 -1
- package/dist/protect-api.js +0 -555
- package/dist/protect-api.js.map +0 -1
- package/dist/protect-types.js +0 -3
- package/dist/protect-types.js.map +0 -1
package/dist/protect-platform.js
CHANGED
|
@@ -9,7 +9,7 @@ const protect_nvr_1 = require("./protect-nvr");
|
|
|
9
9
|
const util_1 = __importDefault(require("util"));
|
|
10
10
|
class ProtectPlatform {
|
|
11
11
|
constructor(log, config, api) {
|
|
12
|
-
var _a, _b;
|
|
12
|
+
var _a, _b, _c;
|
|
13
13
|
this.accessories = [];
|
|
14
14
|
this.api = api;
|
|
15
15
|
this.configOptions = [];
|
|
@@ -27,7 +27,9 @@ class ProtectPlatform {
|
|
|
27
27
|
ffmpegOptions: (_a = config.ffmpegOptions) !== null && _a !== void 0 ? _a : settings_1.PROTECT_FFMPEG_OPTIONS,
|
|
28
28
|
motionDuration: (_b = config.motionDuration) !== null && _b !== void 0 ? _b : settings_1.PROTECT_MOTION_DURATION,
|
|
29
29
|
options: config.options,
|
|
30
|
+
ringDuration: (_c = config.ringDuration) !== null && _c !== void 0 ? _c : settings_1.PROTECT_RING_DURATION,
|
|
30
31
|
verboseFfmpeg: config.verboseFfmpeg === true,
|
|
32
|
+
videoEncoder: config.videoEncoder,
|
|
31
33
|
videoProcessor: config.videoProcessor
|
|
32
34
|
};
|
|
33
35
|
// We need a UniFi Protect controller configured to do anything.
|
|
@@ -52,6 +54,10 @@ class ProtectPlatform {
|
|
|
52
54
|
if (this.config.motionDuration < 2) {
|
|
53
55
|
this.config.motionDuration = 2;
|
|
54
56
|
}
|
|
57
|
+
// Ring trigger duration. Make sure it's never less than 4 seconds so we can ensure automations work.
|
|
58
|
+
if (this.config.motionDuration < 4) {
|
|
59
|
+
this.config.motionDuration = 4;
|
|
60
|
+
}
|
|
55
61
|
// Loop through each configured NVR and instantiate it.
|
|
56
62
|
for (const controllerConfig of this.config.controllers) {
|
|
57
63
|
// We need an address, or there's nothing to do.
|
|
@@ -82,10 +88,10 @@ class ProtectPlatform {
|
|
|
82
88
|
// intentionally avoid doing anything significant here, and save all that logic
|
|
83
89
|
// for device discovery.
|
|
84
90
|
configureAccessory(accessory) {
|
|
85
|
-
// Delete the UniFi Protect
|
|
91
|
+
// Delete the UniFi Protect device pointer on startup. This will be set by device discovery.
|
|
86
92
|
// Notably, we do NOT clear out the NVR pointer, because we need to maintain the mapping between
|
|
87
93
|
// camera and NVR.
|
|
88
|
-
delete accessory.context.
|
|
94
|
+
delete accessory.context.device;
|
|
89
95
|
// Add this to the accessory array so we can track it.
|
|
90
96
|
this.accessories.push(accessory);
|
|
91
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-platform.js","sourceRoot":"","sources":["../src/protect-platform.ts"],"names":[],"mappings":";;;;;;AAYA,
|
|
1
|
+
{"version":3,"file":"protect-platform.js","sourceRoot":"","sources":["../src/protect-platform.ts"],"names":[],"mappings":";;;;;;AAYA,yCAKoB;AAEpB,+CAA2C;AAC3C,gDAAwB;AAExB,MAAa,eAAe;IAS1B,YAAY,GAAY,EAAE,MAAsB,EAAE,GAAQ;;QAExD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAEf,2CAA2C;QAC3C,IAAG,CAAC,MAAM,EAAE;YACV,OAAO;SACR;QAED,4CAA4C;QAC5C,IAAI,CAAC,MAAM,GAAG;YACZ,WAAW,EAAE,MAAM,CAAC,WAAkC;YACtD,QAAQ,EAAE,MAAM,CAAC,KAAgB,KAAK,IAAI;YAC1C,aAAa,EAAE,MAAA,MAAM,CAAC,aAAyB,mCAAI,iCAAsB;YACzE,cAAc,EAAE,MAAA,MAAM,CAAC,cAAwB,mCAAI,kCAAuB;YAC1E,OAAO,EAAE,MAAM,CAAC,OAAmB;YACnC,YAAY,EAAE,MAAA,MAAM,CAAC,YAAsB,mCAAI,gCAAqB;YACpE,aAAa,EAAE,MAAM,CAAC,aAAa,KAAK,IAAI;YAC5C,YAAY,EAAE,MAAM,CAAC,YAAsB;YAC3C,cAAc,EAAE,MAAM,CAAC,cAAwB;SAChD,CAAC;QAEF,gEAAgE;QAChE,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACpE,OAAO;SACR;QAED,iDAAiD;QACjD,IAAI,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAEtD,gBAAgB;QAChB,IAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;SAC7F;QAED,+FAA+F;QAC/F,IAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACtB,KAAI,MAAM,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC9C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;aACtD;SACF;QAED,yGAAyG;QACzG,IAAG,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,EAAG;YAClC,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;SAChC;QAED,qGAAqG;QACrG,IAAG,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,EAAG;YAClC,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;SAChC;QAED,uDAAuD;QACvD,KAAI,MAAM,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAErD,gDAAgD;YAChD,IAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE;gBAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;gBAC5D,SAAS;aACV;YAED,wDAAwD;YACxD,IAAG,CAAC,gBAAgB,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBAC3D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;gBAC1E,SAAS;aACV;YAED,kIAAkI;YAClI,IAAG,gBAAgB,CAAC,eAAe,GAAG,CAAC,EAAE;gBACvC,gBAAgB,CAAC,eAAe,GAAG,CAAC,CAAC;aACtC;YAED,qBAAqB;YACrB,IAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE;gBAC9B,gBAAgB,CAAC,SAAS,GAAG,6BAAkB,CAAC;aACjD;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,wBAAU,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;SAC/D;QAED,sGAAsG;QACtG,+FAA+F;QAC/F,GAAG,CAAC,EAAE,kDAAgC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,8EAA8E;IAC9E,+EAA+E;IAC/E,wBAAwB;IACjB,kBAAkB,CAAC,SAA4B;QAEpD,4FAA4F;QAC5F,gGAAgG;QAChG,kBAAkB;QAClB,OAAO,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;QAEhC,sDAAsD;QACtD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,+EAA+E;IACvE,eAAe;QAErB,KAAI,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;YACxC,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;SACxB;IACH,CAAC;IAED,6BAA6B;IACtB,KAAK,CAAC,OAAe,EAAE,GAAG,UAAqB;QAEpD,IAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;SACpD;IACH,CAAC;CACF;AAlID,0CAkIC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ProtectSecuritySystem = void 0;
|
|
4
|
-
const protect_camera_1 = require("./protect-camera");
|
|
5
4
|
const protect_accessory_1 = require("./protect-accessory");
|
|
6
5
|
class ProtectSecuritySystem extends protect_accessory_1.ProtectAccessory {
|
|
7
6
|
// Configure a security system accessory for HomeKit.
|
|
@@ -9,7 +8,7 @@ class ProtectSecuritySystem extends protect_accessory_1.ProtectAccessory {
|
|
|
9
8
|
var _a;
|
|
10
9
|
const accessory = this.accessory;
|
|
11
10
|
let securityState = this.hap.Characteristic.SecuritySystemCurrentState.STAY_ARM;
|
|
12
|
-
// Save the
|
|
11
|
+
// Save the security system state before we wipeout the context.
|
|
13
12
|
if (accessory.context.securityState !== undefined) {
|
|
14
13
|
securityState = accessory.context.securityState;
|
|
15
14
|
}
|
|
@@ -298,14 +297,14 @@ class ProtectSecuritySystem extends protect_accessory_1.ProtectAccessory {
|
|
|
298
297
|
// check to see if this is one of the cameras we want to turn on motion detection for.
|
|
299
298
|
if (((newState !== SecuritySystemCurrentState.DISARMED) ||
|
|
300
299
|
((newState === SecuritySystemCurrentState.DISARMED) && targetCameraIds.length)) &&
|
|
301
|
-
targetCameraIds.some(thisCameraId => thisCameraId === targetAccessory.context.
|
|
300
|
+
targetCameraIds.some(thisCameraId => thisCameraId === targetAccessory.context.device.id)) {
|
|
302
301
|
targetState = true;
|
|
303
302
|
}
|
|
304
303
|
// Only take action to change motion detection state if needed.
|
|
305
304
|
if (targetAccessory.context.detectMotion !== targetState) {
|
|
306
305
|
targetAccessory.context.detectMotion = targetState;
|
|
307
306
|
// Update the switch service, if present.
|
|
308
|
-
const motionSwitch = targetAccessory.getServiceById(hap.Service.Switch,
|
|
307
|
+
const motionSwitch = targetAccessory.getServiceById(hap.Service.Switch, protect_accessory_1.PROTECT_SWITCH_MOTION_SENSOR);
|
|
309
308
|
if (motionSwitch) {
|
|
310
309
|
motionSwitch.updateCharacteristic(hap.Characteristic.On, targetAccessory.context.detectMotion);
|
|
311
310
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-securitysystem.js","sourceRoot":"","sources":["../src/protect-securitysystem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protect-securitysystem.js","sourceRoot":"","sources":["../src/protect-securitysystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,357 @@
|
|
|
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 {
|
|
10
|
+
// 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;
|
|
15
|
+
// Clean out the context object in case it's been polluted somehow.
|
|
16
|
+
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;
|
|
19
|
+
// Configure accessory information.
|
|
20
|
+
this.configureInfo();
|
|
21
|
+
// Configure accessory services.
|
|
22
|
+
const enabledSensors = this.updateDevice();
|
|
23
|
+
// Configure MQTT services.
|
|
24
|
+
this.configureMqtt();
|
|
25
|
+
// Inform the user what we're enabling on startup.
|
|
26
|
+
if (enabledSensors.length) {
|
|
27
|
+
this.log.info("%s: Enabled sensor%s: %s.", this.name(), enabledSensors.length > 1 ? "s" : "", enabledSensors.join(", "));
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.log.info("%s: No sensors enabled.", this.name());
|
|
31
|
+
}
|
|
32
|
+
return Promise.resolve(true);
|
|
33
|
+
}
|
|
34
|
+
// Update accessory services and characteristics.
|
|
35
|
+
updateDevice() {
|
|
36
|
+
var _a, _b;
|
|
37
|
+
const enabledSensors = [];
|
|
38
|
+
// Configure the alarm sound sensor.
|
|
39
|
+
if (this.configureAlarmSoundSensor()) {
|
|
40
|
+
enabledSensors.push("alarm sound");
|
|
41
|
+
}
|
|
42
|
+
// Configure the ambient light sensor.
|
|
43
|
+
if (this.configureAmbientLightSensor()) {
|
|
44
|
+
enabledSensors.push("ambient light");
|
|
45
|
+
}
|
|
46
|
+
// Configure the contact sensor.
|
|
47
|
+
if (this.configureContactSensor()) {
|
|
48
|
+
enabledSensors.push("contact");
|
|
49
|
+
}
|
|
50
|
+
// Configure the humidity sensor.
|
|
51
|
+
if (this.configureHumiditySensor()) {
|
|
52
|
+
enabledSensors.push("humidity");
|
|
53
|
+
}
|
|
54
|
+
// 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)) {
|
|
56
|
+
// Sensor accessories also support battery, connection, and tamper status...we need to handle those ourselves.
|
|
57
|
+
const motionService = this.accessory.getService(this.hap.Service.MotionSensor);
|
|
58
|
+
if (motionService) {
|
|
59
|
+
// Update the state characteristics.
|
|
60
|
+
this.configureStateCharacteristics(motionService);
|
|
61
|
+
}
|
|
62
|
+
enabledSensors.push("motion sensor");
|
|
63
|
+
}
|
|
64
|
+
// Configure the temperature sensor.
|
|
65
|
+
if (this.configureTemperatureSensor()) {
|
|
66
|
+
enabledSensors.push("temperature");
|
|
67
|
+
}
|
|
68
|
+
return enabledSensors;
|
|
69
|
+
}
|
|
70
|
+
// Configure the alarm sound sensor for HomeKit.
|
|
71
|
+
configureAlarmSoundSensor() {
|
|
72
|
+
var _a, _b;
|
|
73
|
+
const device = this.accessory.context.device;
|
|
74
|
+
// Find the service, if it exists.
|
|
75
|
+
let contactService = this.accessory.getServiceById(this.hap.Service.ContactSensor, protect_accessory_1.PROTECT_CONTACT_SENSOR_ALARM_SOUND);
|
|
76
|
+
// 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)) {
|
|
78
|
+
if (contactService) {
|
|
79
|
+
this.accessory.removeService(contactService);
|
|
80
|
+
this.log.info("%s: Disabling alarm sound contact sensor.", this.name());
|
|
81
|
+
}
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
// Add the service to the accessory, if needed.
|
|
85
|
+
if (!contactService) {
|
|
86
|
+
contactService = new this.hap.Service.ContactSensor(this.accessory.displayName + " Alarm Sound", protect_accessory_1.PROTECT_CONTACT_SENSOR_ALARM_SOUND);
|
|
87
|
+
if (!contactService) {
|
|
88
|
+
this.log.error("%s: Unable to add alarm sound contact sensor.", this.name());
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
this.accessory.addService(contactService);
|
|
92
|
+
this.log.info("%s: Enabling alarm sound contact sensor.", this.name());
|
|
93
|
+
}
|
|
94
|
+
// Retrieve the current contact sensor state when requested.
|
|
95
|
+
(_b = contactService.getCharacteristic(this.hap.Characteristic.ContactSensorState)) === null || _b === void 0 ? void 0 : _b.onGet(() => {
|
|
96
|
+
return this.getAlarmSound();
|
|
97
|
+
});
|
|
98
|
+
// Update the sensor.
|
|
99
|
+
contactService.updateCharacteristic(this.hap.Characteristic.ContactSensorState, this.getAlarmSound());
|
|
100
|
+
// Update the state characteristics.
|
|
101
|
+
this.configureStateCharacteristics(contactService);
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
// Configure the ambient light sensor for HomeKit.
|
|
105
|
+
configureAmbientLightSensor() {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
const device = this.accessory.context.device;
|
|
108
|
+
// Find the service, if it exists.
|
|
109
|
+
let lightService = this.accessory.getService(this.hap.Service.LightSensor);
|
|
110
|
+
// 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)) {
|
|
112
|
+
if (lightService) {
|
|
113
|
+
this.accessory.removeService(lightService);
|
|
114
|
+
this.log.info("%s: Disabling ambient light sensor.", this.name());
|
|
115
|
+
}
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
// Add the service to the accessory, if needed.
|
|
119
|
+
if (!lightService) {
|
|
120
|
+
lightService = new this.hap.Service.LightSensor(this.accessory.displayName);
|
|
121
|
+
if (!lightService) {
|
|
122
|
+
this.log.error("%s: Unable to add ambient light sensor.", this.name());
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
this.accessory.addService(lightService);
|
|
126
|
+
this.log.info("%s: Enabling ambient light sensor.", this.name());
|
|
127
|
+
}
|
|
128
|
+
// Retrieve the current light level when requested.
|
|
129
|
+
(_b = lightService.getCharacteristic(this.hap.Characteristic.CurrentAmbientLightLevel)) === null || _b === void 0 ? void 0 : _b.onGet(() => {
|
|
130
|
+
// The minimum value for ambient light in HomeKit is 0.0001. I have no idea why...but it is. Honor it.
|
|
131
|
+
const value = this.getAmbientLight();
|
|
132
|
+
return value >= 0.0001 ? value : 0.0001;
|
|
133
|
+
});
|
|
134
|
+
// Update the sensor. The minimum value for ambient light in HomeKit is 0.0001. I have no idea why...but it is. Honor it.
|
|
135
|
+
const value = this.getAmbientLight();
|
|
136
|
+
lightService.updateCharacteristic(this.hap.Characteristic.CurrentAmbientLightLevel, value >= 0.0001 ? value : 0.0001);
|
|
137
|
+
// Update the state characteristics.
|
|
138
|
+
this.configureStateCharacteristics(lightService);
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
// Configure the contact sensor for HomeKit.
|
|
142
|
+
configureContactSensor() {
|
|
143
|
+
var _a;
|
|
144
|
+
const device = this.accessory.context.device;
|
|
145
|
+
// Find the service, if it exists.
|
|
146
|
+
let contactService = this.accessory.getServiceById(this.hap.Service.ContactSensor, protect_accessory_1.PROTECT_CONTACT_SENSOR);
|
|
147
|
+
// Have we disabled the sensor?
|
|
148
|
+
if (!(device === null || device === void 0 ? void 0 : device.mountType) || (device.mountType === "none")) {
|
|
149
|
+
if (contactService) {
|
|
150
|
+
this.accessory.removeService(contactService);
|
|
151
|
+
this.log.info("%s: Disabling contact sensor.", this.name());
|
|
152
|
+
}
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
// Add the service to the accessory, if needed.
|
|
156
|
+
if (!contactService) {
|
|
157
|
+
contactService = new this.hap.Service.ContactSensor(this.accessory.displayName, protect_accessory_1.PROTECT_CONTACT_SENSOR);
|
|
158
|
+
if (!contactService) {
|
|
159
|
+
this.log.error("%s: Unable to add contact sensor.", this.name());
|
|
160
|
+
return false;
|
|
161
|
+
}
|
|
162
|
+
this.accessory.addService(contactService);
|
|
163
|
+
this.log.info("%s: Enabling contact sensor.", this.name());
|
|
164
|
+
}
|
|
165
|
+
// Retrieve the current contact sensor state when requested.
|
|
166
|
+
(_a = contactService.getCharacteristic(this.hap.Characteristic.ContactSensorState)) === null || _a === void 0 ? void 0 : _a.onGet(() => {
|
|
167
|
+
return this.getContact();
|
|
168
|
+
});
|
|
169
|
+
// Update the sensor.
|
|
170
|
+
contactService.updateCharacteristic(this.hap.Characteristic.ContactSensorState, this.getContact());
|
|
171
|
+
// Update the state characteristics.
|
|
172
|
+
this.configureStateCharacteristics(contactService);
|
|
173
|
+
return true;
|
|
174
|
+
}
|
|
175
|
+
// Configure the humidity sensor for HomeKit.
|
|
176
|
+
configureHumiditySensor() {
|
|
177
|
+
var _a, _b;
|
|
178
|
+
const device = this.accessory.context.device;
|
|
179
|
+
// Find the service, if it exists.
|
|
180
|
+
let humidityService = this.accessory.getService(this.hap.Service.HumiditySensor);
|
|
181
|
+
// 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)) {
|
|
183
|
+
if (humidityService) {
|
|
184
|
+
this.accessory.removeService(humidityService);
|
|
185
|
+
this.log.info("%s: Disabling humidity sensor.", this.name());
|
|
186
|
+
}
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
// Add the service to the accessory, if needed.
|
|
190
|
+
if (!humidityService) {
|
|
191
|
+
humidityService = new this.hap.Service.HumiditySensor(this.accessory.displayName);
|
|
192
|
+
if (!humidityService) {
|
|
193
|
+
this.log.error("%s: Unable to add humidity sensor.", this.name());
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
this.accessory.addService(humidityService);
|
|
197
|
+
this.log.info("%s: Enabling humidity sensor.", this.name());
|
|
198
|
+
}
|
|
199
|
+
// Retrieve the current humidity when requested.
|
|
200
|
+
(_b = humidityService.getCharacteristic(this.hap.Characteristic.CurrentRelativeHumidity)) === null || _b === void 0 ? void 0 : _b.onGet(() => {
|
|
201
|
+
const value = this.getHumidity();
|
|
202
|
+
return value < 0 ? 0 : value;
|
|
203
|
+
});
|
|
204
|
+
// Update the sensor.
|
|
205
|
+
const value = this.getHumidity();
|
|
206
|
+
humidityService.updateCharacteristic(this.hap.Characteristic.CurrentRelativeHumidity, value < 0 ? 0 : value);
|
|
207
|
+
// Update the state characteristics.
|
|
208
|
+
this.configureStateCharacteristics(humidityService);
|
|
209
|
+
return true;
|
|
210
|
+
}
|
|
211
|
+
// Configure the temperature sensor for HomeKit.
|
|
212
|
+
configureTemperatureSensor() {
|
|
213
|
+
var _a, _b;
|
|
214
|
+
const device = this.accessory.context.device;
|
|
215
|
+
// Find the service, if it exists.
|
|
216
|
+
let temperatureService = this.accessory.getService(this.hap.Service.TemperatureSensor);
|
|
217
|
+
// 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)) {
|
|
219
|
+
if (temperatureService) {
|
|
220
|
+
this.accessory.removeService(temperatureService);
|
|
221
|
+
this.log.info("%s: Disabling temperature sensor.", this.name());
|
|
222
|
+
}
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
225
|
+
// Add the service to the accessory, if needed.
|
|
226
|
+
if (!temperatureService) {
|
|
227
|
+
temperatureService = new this.hap.Service.TemperatureSensor(this.accessory.displayName);
|
|
228
|
+
if (!temperatureService) {
|
|
229
|
+
this.log.error("%s: Unable to add temperature sensor.", this.name());
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
this.accessory.addService(temperatureService);
|
|
233
|
+
this.log.info("%s: Enabling temperature sensor.", this.name());
|
|
234
|
+
}
|
|
235
|
+
// Retrieve the current temperature when requested.
|
|
236
|
+
(_b = temperatureService.getCharacteristic(this.hap.Characteristic.CurrentTemperature)) === null || _b === void 0 ? void 0 : _b.onGet(() => {
|
|
237
|
+
const value = this.getTemperature();
|
|
238
|
+
return value < 0 ? 0 : value;
|
|
239
|
+
});
|
|
240
|
+
// Update the sensor.
|
|
241
|
+
const value = this.getTemperature();
|
|
242
|
+
temperatureService.updateCharacteristic(this.hap.Characteristic.CurrentTemperature, value < 0 ? 0 : value);
|
|
243
|
+
// Update the state characteristics.
|
|
244
|
+
this.configureStateCharacteristics(temperatureService);
|
|
245
|
+
return true;
|
|
246
|
+
}
|
|
247
|
+
// Configure the active connection status in HomeKit.
|
|
248
|
+
configureActiveStatus(service) {
|
|
249
|
+
var _a;
|
|
250
|
+
const device = this.accessory.context.device;
|
|
251
|
+
// 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";
|
|
254
|
+
});
|
|
255
|
+
// Update the current connection status.
|
|
256
|
+
service.updateCharacteristic(this.hap.Characteristic.StatusActive, device.state === "CONNECTED");
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
259
|
+
// Configure the battery status in HomeKit.
|
|
260
|
+
configureBatteryStatus(service) {
|
|
261
|
+
var _a, _b;
|
|
262
|
+
const device = this.accessory.context.device;
|
|
263
|
+
// 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;
|
|
267
|
+
});
|
|
268
|
+
// Update the battery status.
|
|
269
|
+
service.updateCharacteristic(this.hap.Characteristic.StatusLowBattery, (_b = device.batteryStatus) === null || _b === void 0 ? void 0 : _b.isLow);
|
|
270
|
+
return true;
|
|
271
|
+
}
|
|
272
|
+
// Configure the tamper status in HomeKit.
|
|
273
|
+
configureTamperedStatus(service) {
|
|
274
|
+
var _a;
|
|
275
|
+
const device = this.accessory.context.device;
|
|
276
|
+
// 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;
|
|
279
|
+
});
|
|
280
|
+
// Update the tamper status.
|
|
281
|
+
service.updateCharacteristic(this.hap.Characteristic.StatusTampered, device.tamperingDetectedAt !== null);
|
|
282
|
+
return true;
|
|
283
|
+
}
|
|
284
|
+
// Configure the additional state characteristics in HomeKit.
|
|
285
|
+
configureStateCharacteristics(service) {
|
|
286
|
+
// Update the active connection status.
|
|
287
|
+
this.configureActiveStatus(service);
|
|
288
|
+
// Update the battery status.
|
|
289
|
+
this.configureBatteryStatus(service);
|
|
290
|
+
// Update the tamper status.
|
|
291
|
+
this.configureTamperedStatus(service);
|
|
292
|
+
return true;
|
|
293
|
+
}
|
|
294
|
+
// Get the current alarm sound information.
|
|
295
|
+
getAlarmSound() {
|
|
296
|
+
var _a;
|
|
297
|
+
// Return true if we are not null, meaning the alarm has sounded.
|
|
298
|
+
const value = this.accessory.context.device.alarmTriggeredAt !== null;
|
|
299
|
+
// Save the state change and publish to MQTT.
|
|
300
|
+
if (value !== this.savedAlarmSound) {
|
|
301
|
+
this.savedAlarmSound = value;
|
|
302
|
+
(_a = this.nvr.mqtt) === null || _a === void 0 ? void 0 : _a.publish(this.accessory, "alarmsound", value.toString());
|
|
303
|
+
}
|
|
304
|
+
return value;
|
|
305
|
+
}
|
|
306
|
+
// Get the current ambient light information.
|
|
307
|
+
getAmbientLight() {
|
|
308
|
+
var _a;
|
|
309
|
+
return (_a = this.accessory.context.device.stats.light.value) !== null && _a !== void 0 ? _a : -1;
|
|
310
|
+
}
|
|
311
|
+
// Get the current contact sensor information.
|
|
312
|
+
getContact() {
|
|
313
|
+
var _a;
|
|
314
|
+
// Return true if we are open.
|
|
315
|
+
const value = this.accessory.context.device.isOpened;
|
|
316
|
+
// Save the state change and publish to MQTT.
|
|
317
|
+
if (value !== this.savedContact) {
|
|
318
|
+
this.savedContact = value;
|
|
319
|
+
(_a = this.nvr.mqtt) === null || _a === void 0 ? void 0 : _a.publish(this.accessory, "contact", value.toString());
|
|
320
|
+
}
|
|
321
|
+
return value;
|
|
322
|
+
}
|
|
323
|
+
// Get the current humidity information.
|
|
324
|
+
getHumidity() {
|
|
325
|
+
var _a;
|
|
326
|
+
return (_a = this.accessory.context.device.stats.humidity.value) !== null && _a !== void 0 ? _a : -1;
|
|
327
|
+
}
|
|
328
|
+
// Get the current temperature information.
|
|
329
|
+
getTemperature() {
|
|
330
|
+
var _a;
|
|
331
|
+
return (_a = this.accessory.context.device.stats.temperature.value) !== null && _a !== void 0 ? _a : -1;
|
|
332
|
+
}
|
|
333
|
+
// Configure MQTT capabilities for sensors.
|
|
334
|
+
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", () => {
|
|
340
|
+
return this.getAlarmSound().toString();
|
|
341
|
+
});
|
|
342
|
+
(_c = this.nvr.mqtt) === null || _c === void 0 ? void 0 : _c.subscribeGet(this.accessory, this.name(), "ambientlight", "Ambient light", () => {
|
|
343
|
+
return this.getAmbientLight().toString();
|
|
344
|
+
});
|
|
345
|
+
(_d = this.nvr.mqtt) === null || _d === void 0 ? void 0 : _d.subscribeGet(this.accessory, this.name(), "contact", "Contact sensor", () => {
|
|
346
|
+
return this.getContact().toString();
|
|
347
|
+
});
|
|
348
|
+
(_e = this.nvr.mqtt) === null || _e === void 0 ? void 0 : _e.subscribeGet(this.accessory, this.name(), "humidity", "Humidity", () => {
|
|
349
|
+
return this.getHumidity().toString();
|
|
350
|
+
});
|
|
351
|
+
(_f = this.nvr.mqtt) === null || _f === void 0 ? void 0 : _f.subscribeGet(this.accessory, this.name(), "temperature", "Temperature", () => {
|
|
352
|
+
return this.getTemperature().toString();
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
exports.ProtectSensor = ProtectSensor;
|
|
357
|
+
//# sourceMappingURL=protect-sensor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protect-sensor.js","sourceRoot":"","sources":["../src/protect-sensor.ts"],"names":[],"mappings":"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"}
|