homebridge-unifi-protect 5.5.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/config.schema.json +17 -16
- package/dist/index.d.ts +3 -0
- package/dist/index.js +6 -6
- package/dist/index.js.map +1 -1
- package/dist/protect-camera.d.ts +58 -0
- package/dist/protect-camera.js +367 -246
- package/dist/protect-camera.js.map +1 -1
- package/dist/protect-device.d.ts +48 -0
- package/dist/protect-device.js +189 -0
- package/dist/protect-device.js.map +1 -0
- package/dist/protect-doorbell.d.ts +22 -0
- package/dist/protect-doorbell.js +75 -64
- package/dist/protect-doorbell.js.map +1 -1
- package/dist/protect-ffmpeg-record.d.ts +15 -0
- package/dist/protect-ffmpeg-record.js +48 -34
- package/dist/protect-ffmpeg-record.js.map +1 -1
- package/dist/protect-ffmpeg-stream.d.ts +15 -0
- package/dist/protect-ffmpeg-stream.js +22 -12
- package/dist/protect-ffmpeg-stream.js.map +1 -1
- package/dist/protect-ffmpeg.d.ts +42 -0
- package/dist/protect-ffmpeg.js +49 -58
- package/dist/protect-ffmpeg.js.map +1 -1
- package/dist/protect-light.d.ts +13 -0
- package/dist/protect-light.js +63 -40
- package/dist/protect-light.js.map +1 -1
- package/dist/protect-liveviews.d.ts +17 -0
- package/dist/protect-liveviews.js +117 -101
- package/dist/protect-liveviews.js.map +1 -1
- package/dist/protect-mqtt.d.ts +19 -0
- package/dist/protect-mqtt.js +26 -35
- package/dist/protect-mqtt.js.map +1 -1
- package/dist/protect-nvr-events.d.ts +30 -0
- package/dist/protect-nvr-events.js +168 -431
- package/dist/protect-nvr-events.js.map +1 -1
- package/dist/protect-nvr-systeminfo.d.ts +15 -0
- package/dist/protect-nvr-systeminfo.js +43 -49
- package/dist/protect-nvr-systeminfo.js.map +1 -1
- package/dist/protect-nvr.d.ts +48 -0
- package/dist/protect-nvr.js +327 -359
- package/dist/protect-nvr.js.map +1 -1
- package/dist/protect-options.d.ts +39 -0
- package/dist/protect-options.js +172 -6
- package/dist/protect-options.js.map +1 -1
- package/dist/protect-platform.d.ts +17 -0
- package/dist/protect-platform.js +17 -30
- package/dist/protect-platform.js.map +1 -1
- package/dist/protect-record.d.ts +33 -0
- package/dist/protect-record.js +130 -126
- package/dist/protect-record.js.map +1 -1
- package/dist/protect-rtp.d.ts +29 -0
- package/dist/protect-rtp.js +133 -16
- package/dist/protect-rtp.js.map +1 -1
- package/dist/protect-securitysystem.d.ts +18 -0
- package/dist/protect-securitysystem.js +105 -109
- package/dist/protect-securitysystem.js.map +1 -1
- package/dist/protect-sensor.d.ts +28 -0
- package/dist/protect-sensor.js +79 -97
- package/dist/protect-sensor.js.map +1 -1
- package/dist/protect-stream.d.ts +41 -0
- package/dist/protect-stream.js +298 -156
- package/dist/protect-stream.js.map +1 -1
- package/dist/protect-timeshift.d.ts +30 -0
- package/dist/protect-timeshift.js +65 -48
- package/dist/protect-timeshift.js.map +1 -1
- package/dist/protect-types.d.ts +50 -0
- package/dist/protect-types.js +22 -0
- package/dist/protect-types.js.map +1 -0
- package/dist/protect-viewer.d.ts +17 -0
- package/dist/protect-viewer.js +41 -47
- package/dist/protect-viewer.js.map +1 -1
- package/dist/settings.d.ts +22 -0
- package/dist/settings.js +30 -35
- package/dist/settings.js.map +1 -1
- package/homebridge-ui/public/index.html +715 -0
- package/homebridge-ui/server.js +156 -0
- package/package.json +15 -16
- package/dist/protect-accessory.js +0 -184
- package/dist/protect-accessory.js.map +0 -1
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { ProtectBase } from "./protect-device.js";
|
|
2
|
+
import { ProtectReservedNames } from "./protect-types.js";
|
|
3
|
+
export class ProtectSecuritySystem extends ProtectBase {
|
|
4
|
+
// Create an instance.
|
|
5
|
+
constructor(nvr, accessory) {
|
|
6
|
+
super(nvr);
|
|
7
|
+
this.accessory = accessory;
|
|
8
|
+
this.isAlarmTriggered = false;
|
|
9
|
+
this.configureDevice();
|
|
10
|
+
}
|
|
10
11
|
// Configure a security system accessory for HomeKit.
|
|
11
12
|
configureDevice() {
|
|
12
|
-
var _a;
|
|
13
|
-
const accessory = this.accessory;
|
|
14
13
|
let securityState = this.hap.Characteristic.SecuritySystemCurrentState.STAY_ARM;
|
|
15
14
|
// Save the security system state before we wipeout the context.
|
|
16
|
-
if (accessory.context.securityState !== undefined) {
|
|
17
|
-
securityState = accessory.context.securityState;
|
|
15
|
+
if (this.accessory.context.securityState !== undefined) {
|
|
16
|
+
securityState = this.accessory.context.securityState;
|
|
18
17
|
}
|
|
19
18
|
// Clean out the context object in case it's been polluted somehow.
|
|
20
|
-
accessory.context = {};
|
|
21
|
-
accessory.context.nvr =
|
|
22
|
-
accessory.context.securityState = securityState;
|
|
19
|
+
this.accessory.context = {};
|
|
20
|
+
this.accessory.context.nvr = this.nvr.ufp.mac;
|
|
21
|
+
this.accessory.context.securityState = securityState;
|
|
23
22
|
// Configure accessory information.
|
|
24
23
|
this.configureInfo();
|
|
25
24
|
// Configure MQTT services.
|
|
@@ -28,38 +27,24 @@ class ProtectSecuritySystem extends protect_accessory_1.ProtectAccessory {
|
|
|
28
27
|
this.configureSecuritySystem();
|
|
29
28
|
// Configure the security alarm.
|
|
30
29
|
this.configureSecurityAlarm();
|
|
31
|
-
return
|
|
30
|
+
return true;
|
|
32
31
|
}
|
|
33
32
|
// Configure the security system device information for HomeKit.
|
|
34
33
|
configureInfo() {
|
|
35
|
-
var _a, _b, _c, _d;
|
|
36
|
-
const accessory = this.accessory;
|
|
37
|
-
const hap = this.hap;
|
|
38
|
-
let nvrInfo;
|
|
39
|
-
if (this.nvr && this.nvr.nvrApi && this.nvr.nvrApi.bootstrap && this.nvr.nvrApi.bootstrap.nvr) {
|
|
40
|
-
nvrInfo = this.nvr.nvrApi.bootstrap.nvr;
|
|
41
|
-
}
|
|
42
34
|
// Update the manufacturer information for this security system.
|
|
43
|
-
(
|
|
44
|
-
.getService(hap.Service.AccessoryInformation)) === null || _a === void 0 ? void 0 : _a.updateCharacteristic(hap.Characteristic.Manufacturer, "github.com/hjdhjd");
|
|
35
|
+
this.accessory.getService(this.hap.Service.AccessoryInformation)?.updateCharacteristic(this.hap.Characteristic.Manufacturer, "github.com/hjdhjd");
|
|
45
36
|
// Update the model information for this security system.
|
|
46
|
-
(
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
.getService(hap.Service.AccessoryInformation)) === null || _c === void 0 ? void 0 : _c.updateCharacteristic(hap.Characteristic.SerialNumber, nvrInfo.mac + ".Security");
|
|
52
|
-
// Update the hardware revision for this security system - we base this off of the NVR.
|
|
53
|
-
(_d = accessory
|
|
54
|
-
.getService(hap.Service.AccessoryInformation)) === null || _d === void 0 ? void 0 : _d.updateCharacteristic(hap.Characteristic.HardwareRevision, nvrInfo.hardwareRevision);
|
|
55
|
-
}
|
|
37
|
+
this.accessory.getService(this.hap.Service.AccessoryInformation)?.updateCharacteristic(this.hap.Characteristic.Model, "UniFi Protect Liveview Security System");
|
|
38
|
+
// Update the serial number for this security system - we base this off of the NVR.
|
|
39
|
+
this.accessory.getService(this.hap.Service.AccessoryInformation)?.updateCharacteristic(this.hap.Characteristic.SerialNumber, this.nvr.ufp.mac + ".Security");
|
|
40
|
+
// Update the hardware revision for this security system - we base this off of the NVR.
|
|
41
|
+
this.accessory.getService(this.hap.Service.AccessoryInformation)?.updateCharacteristic(this.hap.Characteristic.HardwareRevision, this.nvr.ufp.hardwareRevision);
|
|
56
42
|
return true;
|
|
57
43
|
}
|
|
58
44
|
// Configure MQTT capabilities for the security system.
|
|
59
45
|
configureMqtt() {
|
|
60
|
-
var _a, _b;
|
|
61
46
|
// Get the current status of the security system.
|
|
62
|
-
|
|
47
|
+
this.nvr.mqtt?.subscribe(this.accessory, "securitysystem/get", (message) => {
|
|
63
48
|
const value = message.toString().toLowerCase();
|
|
64
49
|
// When we get the right message, we return the state of the security system.
|
|
65
50
|
if (value !== "true") {
|
|
@@ -67,11 +52,10 @@ class ProtectSecuritySystem extends protect_accessory_1.ProtectAccessory {
|
|
|
67
52
|
}
|
|
68
53
|
// Publish the current status of the security system.
|
|
69
54
|
this.publishSecurityState();
|
|
70
|
-
this.log.info("
|
|
55
|
+
this.log.info("Security system status published via MQTT.");
|
|
71
56
|
});
|
|
72
57
|
// Set the security system state.
|
|
73
|
-
|
|
74
|
-
var _a;
|
|
58
|
+
this.nvr.mqtt?.subscribe(this.accessory, "securitysystem/set", (message) => {
|
|
75
59
|
const SecuritySystemCurrentState = this.hap.Characteristic.SecuritySystemCurrentState;
|
|
76
60
|
const SecuritySystemTargetState = this.hap.Characteristic.SecuritySystemTargetState;
|
|
77
61
|
const value = message.toString().toLowerCase();
|
|
@@ -101,42 +85,39 @@ class ProtectSecuritySystem extends protect_accessory_1.ProtectAccessory {
|
|
|
101
85
|
break;
|
|
102
86
|
default:
|
|
103
87
|
// The user sent a bad value. Ignore it and we're done.
|
|
104
|
-
this.log.error("
|
|
88
|
+
this.log.error("Unable to process MQTT security system setting: %s.", message.toString());
|
|
105
89
|
return;
|
|
106
90
|
}
|
|
107
91
|
// The security alarm gets handled differently than the other state settings.
|
|
108
92
|
if (targetState === SecuritySystemCurrentState.ALARM_TRIGGERED) {
|
|
109
93
|
this.setSecurityAlarm(alarmState);
|
|
110
|
-
this.log.info("
|
|
94
|
+
this.log.info("Security alarm %s via MQTT.", alarmState ? "triggered" : "reset");
|
|
111
95
|
return;
|
|
112
96
|
}
|
|
113
97
|
// Set the security state, and we're done.
|
|
114
|
-
|
|
98
|
+
this.accessory.getService(this.hap.Service.SecuritySystem)?.updateCharacteristic(SecuritySystemTargetState, targetState);
|
|
115
99
|
this.setSecurityState(targetState);
|
|
116
|
-
this.log.info("
|
|
100
|
+
this.log.info("Security system state set via MQTT: %s.", value.charAt(0).toUpperCase() + value.slice(1));
|
|
117
101
|
});
|
|
118
102
|
return true;
|
|
119
103
|
}
|
|
120
104
|
// Configure the security system for HomeKit.
|
|
121
105
|
configureSecuritySystem() {
|
|
122
|
-
var _a, _b, _c;
|
|
123
|
-
const accessory = this.accessory;
|
|
124
|
-
const hap = this.hap;
|
|
125
106
|
// Find any existing security system service.
|
|
126
|
-
let securityService = accessory.getService(hap.Service.SecuritySystem);
|
|
107
|
+
let securityService = this.accessory.getService(this.hap.Service.SecuritySystem);
|
|
127
108
|
// Add the security system service, if needed.
|
|
128
109
|
if (!securityService) {
|
|
129
|
-
securityService = new hap.Service.SecuritySystem(accessory.displayName);
|
|
110
|
+
securityService = new this.hap.Service.SecuritySystem(this.accessory.displayName);
|
|
130
111
|
if (!securityService) {
|
|
131
|
-
this.log.error("
|
|
112
|
+
this.log.error("Unable to add security system.");
|
|
132
113
|
return false;
|
|
133
114
|
}
|
|
134
|
-
accessory.addService(securityService);
|
|
115
|
+
this.accessory.addService(securityService);
|
|
135
116
|
}
|
|
136
117
|
const SecuritySystemCurrentState = this.hap.Characteristic.SecuritySystemCurrentState;
|
|
137
118
|
const SecuritySystemTargetState = this.hap.Characteristic.SecuritySystemTargetState;
|
|
138
119
|
let targetSecurityState;
|
|
139
|
-
switch (accessory.context.securityState) {
|
|
120
|
+
switch (this.accessory.context.securityState) {
|
|
140
121
|
case SecuritySystemCurrentState.STAY_ARM:
|
|
141
122
|
targetSecurityState = SecuritySystemTargetState.STAY_ARM;
|
|
142
123
|
break;
|
|
@@ -152,24 +133,22 @@ class ProtectSecuritySystem extends protect_accessory_1.ProtectAccessory {
|
|
|
152
133
|
break;
|
|
153
134
|
}
|
|
154
135
|
// Handlers to get our current state, and initialize on startup.
|
|
155
|
-
(
|
|
156
|
-
.
|
|
157
|
-
.getCharacteristic(SecuritySystemCurrentState)) === null || _a === void 0 ? void 0 : _a.onGet(this.getSecurityState.bind(this));
|
|
136
|
+
securityService.updateCharacteristic(SecuritySystemCurrentState, this.accessory.context.securityState)
|
|
137
|
+
.getCharacteristic(SecuritySystemCurrentState)?.onGet(this.getSecurityState.bind(this));
|
|
158
138
|
// Handlers for triggering a change in the security system state.
|
|
159
|
-
|
|
139
|
+
this.accessory.getService(this.hap.Service.SecuritySystem)?.getCharacteristic(SecuritySystemTargetState).onSet(this.setSecurityState.bind(this));
|
|
160
140
|
// Set the initial state after we have setup our handlers above. This way, when we startup, we
|
|
161
141
|
// automatically restore the scene we've been set to, if any.
|
|
162
|
-
|
|
142
|
+
this.accessory.getService(this.hap.Service.SecuritySystem)?.updateCharacteristic(SecuritySystemTargetState, targetSecurityState);
|
|
163
143
|
return true;
|
|
164
144
|
}
|
|
165
145
|
// Configure the security alarm for HomeKit.
|
|
166
146
|
configureSecurityAlarm() {
|
|
167
|
-
var _a, _b;
|
|
168
147
|
this.isAlarmTriggered = false;
|
|
169
148
|
// Find the existing security alarm switch service.
|
|
170
149
|
let switchService = this.accessory.getService(this.hap.Service.Switch);
|
|
171
150
|
// Have we enabled the security system alarm?
|
|
172
|
-
if (!
|
|
151
|
+
if (!this.nvr?.optionEnabled(null, "SecuritySystem.Alarm", false)) {
|
|
173
152
|
if (switchService) {
|
|
174
153
|
this.accessory.removeService(switchService);
|
|
175
154
|
}
|
|
@@ -179,28 +158,56 @@ class ProtectSecuritySystem extends protect_accessory_1.ProtectAccessory {
|
|
|
179
158
|
if (!switchService) {
|
|
180
159
|
switchService = new this.hap.Service.Switch(this.accessory.displayName + " Security Alarm");
|
|
181
160
|
if (!switchService) {
|
|
182
|
-
this.log.error("
|
|
161
|
+
this.log.error("Unable to add security system alarm.");
|
|
183
162
|
return false;
|
|
184
163
|
}
|
|
185
164
|
this.accessory.addService(switchService);
|
|
186
165
|
}
|
|
187
166
|
// Notify the user that we're enabled.
|
|
188
|
-
this.log.info("
|
|
167
|
+
this.log.info("Enabling the security alarm switch on the security system accessory.");
|
|
189
168
|
// Activate or deactivate the security alarm.
|
|
190
|
-
(
|
|
191
|
-
|
|
169
|
+
switchService.getCharacteristic(this.hap.Characteristic.On)
|
|
170
|
+
?.onGet(() => {
|
|
192
171
|
return this.isAlarmTriggered === true;
|
|
193
|
-
})
|
|
172
|
+
})
|
|
173
|
+
.onSet((value) => {
|
|
194
174
|
this.setSecurityAlarm(value === true);
|
|
195
|
-
this.log.info("
|
|
175
|
+
this.log.info("Security system alarm %s.", (value === true) ? "triggered" : "reset");
|
|
196
176
|
});
|
|
197
177
|
// Initialize the value.
|
|
198
178
|
switchService.updateCharacteristic(this.hap.Characteristic.On, this.isAlarmTriggered);
|
|
199
179
|
return true;
|
|
200
180
|
}
|
|
181
|
+
// Update security system accessory settings.
|
|
182
|
+
updateDevice() {
|
|
183
|
+
// We always have a disarmed state available to us.
|
|
184
|
+
const availableSecurityStates = [this.hap.Characteristic.SecuritySystemTargetState.DISARM];
|
|
185
|
+
// No liveviews configured - we're done.
|
|
186
|
+
if (!this.nvr.ufpApi.bootstrap?.liveviews) {
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
for (const securityState of [
|
|
190
|
+
["Protect-Away".toLowerCase(), this.hap.Characteristic.SecuritySystemTargetState.AWAY_ARM],
|
|
191
|
+
["Protect-Home".toLowerCase(), this.hap.Characteristic.SecuritySystemTargetState.STAY_ARM],
|
|
192
|
+
["Protect-Night".toLowerCase(), this.hap.Characteristic.SecuritySystemTargetState.NIGHT_ARM]
|
|
193
|
+
]) {
|
|
194
|
+
// If we don't have this liveview configured, don't add it to the property list for the security system accessory.
|
|
195
|
+
if (!this.nvr.ufpApi.bootstrap.liveviews.some(x => x.name.toLowerCase() === securityState[0])) {
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
availableSecurityStates.push(securityState[1]);
|
|
199
|
+
}
|
|
200
|
+
// No available security states besides disarmed - something probably went wrong, so we're done.
|
|
201
|
+
if (availableSecurityStates.length < 2) {
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
// Only show the available values we've configured.
|
|
205
|
+
this.accessory.getService(this.hap.Service.SecuritySystem)?.
|
|
206
|
+
getCharacteristic(this.hap.Characteristic.SecuritySystemTargetState).setProps({ validValues: availableSecurityStates });
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
201
209
|
// Publish the security system state to MQTT.
|
|
202
210
|
publishSecurityState() {
|
|
203
|
-
var _a;
|
|
204
211
|
const SecuritySystemCurrentState = this.hap.Characteristic.SecuritySystemCurrentState;
|
|
205
212
|
let state;
|
|
206
213
|
switch (this.accessory.context.securityState) {
|
|
@@ -221,27 +228,21 @@ class ProtectSecuritySystem extends protect_accessory_1.ProtectAccessory {
|
|
|
221
228
|
state = "Off";
|
|
222
229
|
break;
|
|
223
230
|
}
|
|
224
|
-
|
|
231
|
+
this.nvr.mqtt?.publish(this.accessory, "securitysystem", this.isAlarmTriggered ? "Alarm" : state);
|
|
225
232
|
}
|
|
226
233
|
// Get the current security system state.
|
|
227
234
|
getSecurityState() {
|
|
228
|
-
return this.isAlarmTriggered ?
|
|
229
|
-
this.hap.Characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED :
|
|
230
|
-
this.accessory.context.securityState;
|
|
235
|
+
return this.isAlarmTriggered ? this.hap.Characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED : this.accessory.context.securityState;
|
|
231
236
|
}
|
|
232
237
|
// Change the security system state, and enable or disable motion detection accordingly.
|
|
233
238
|
setSecurityState(value) {
|
|
234
|
-
|
|
235
|
-
const accessory = this.accessory;
|
|
236
|
-
const hap = this.hap;
|
|
237
|
-
const liveviews = (_a = this.nvr.nvrApi.bootstrap) === null || _a === void 0 ? void 0 : _a.liveviews;
|
|
239
|
+
const liveviews = this.nvr.ufpApi.bootstrap?.liveviews;
|
|
238
240
|
let newState;
|
|
239
|
-
const
|
|
240
|
-
const
|
|
241
|
-
const SecuritySystemTargetState = hap.Characteristic.SecuritySystemTargetState;
|
|
241
|
+
const SecuritySystemCurrentState = this.hap.Characteristic.SecuritySystemCurrentState;
|
|
242
|
+
const SecuritySystemTargetState = this.hap.Characteristic.SecuritySystemTargetState;
|
|
242
243
|
let viewScene = "";
|
|
243
|
-
// If we don't have any liveviews
|
|
244
|
-
if (!liveviews
|
|
244
|
+
// If we don't have any liveviews, there's nothing for us to do.
|
|
245
|
+
if (!liveviews) {
|
|
245
246
|
return;
|
|
246
247
|
}
|
|
247
248
|
// We have three different states which can be triggered (aside from disarming).
|
|
@@ -250,78 +251,74 @@ class ProtectSecuritySystem extends protect_accessory_1.ProtectAccessory {
|
|
|
250
251
|
switch (value) {
|
|
251
252
|
case SecuritySystemTargetState.STAY_ARM:
|
|
252
253
|
newState = SecuritySystemCurrentState.STAY_ARM;
|
|
253
|
-
viewScene = "Protect-Home";
|
|
254
|
+
viewScene = "Protect-Home".toLowerCase();
|
|
254
255
|
break;
|
|
255
256
|
case SecuritySystemTargetState.AWAY_ARM:
|
|
256
257
|
newState = SecuritySystemCurrentState.AWAY_ARM;
|
|
257
|
-
viewScene = "Protect-Away";
|
|
258
|
+
viewScene = "Protect-Away".toLowerCase();
|
|
258
259
|
break;
|
|
259
260
|
case SecuritySystemTargetState.NIGHT_ARM:
|
|
260
261
|
newState = SecuritySystemCurrentState.NIGHT_ARM;
|
|
261
|
-
viewScene = "Protect-Night";
|
|
262
|
+
viewScene = "Protect-Night".toLowerCase();
|
|
262
263
|
break;
|
|
263
264
|
case SecuritySystemTargetState.DISARM:
|
|
264
265
|
newState = SecuritySystemCurrentState.DISARMED;
|
|
265
|
-
viewScene = "Protect-Off";
|
|
266
|
+
viewScene = "Protect-Off".toLowerCase();
|
|
266
267
|
break;
|
|
267
268
|
default:
|
|
268
269
|
newState = SecuritySystemCurrentState.DISARMED;
|
|
269
270
|
break;
|
|
270
271
|
}
|
|
271
|
-
// Get the complete list of cameras in the liveview we're interested in.
|
|
272
|
-
//
|
|
273
|
-
//
|
|
274
|
-
|
|
275
|
-
const targetCameraIds = liveviews.filter(view => view.name === viewScene)
|
|
276
|
-
.map(view => view.slots.map(slots => slots.cameras))
|
|
277
|
-
.flat(2);
|
|
272
|
+
// Get the complete list of cameras in the liveview we're interested in. This cryptic line grabs the list
|
|
273
|
+
// of liveviews that have the name we're interested in (turns out, you can define multiple liveviews in Protect
|
|
274
|
+
// with the same name...who knew!), and then create a single list containing all of the cameras found.
|
|
275
|
+
const targetCameraIds = liveviews.filter(view => view.name.toLowerCase() === viewScene).map(view => view.slots.map(slots => slots.cameras)).flat(2);
|
|
278
276
|
// We don't have a liveview for this state and we aren't disarming - update state for the user and we're done.
|
|
279
277
|
if (newState !== SecuritySystemCurrentState.DISARMED && !targetCameraIds.length) {
|
|
280
|
-
this.log.info("
|
|
281
|
-
accessory.context.securityState = newState;
|
|
282
|
-
|
|
278
|
+
this.log.info("No liveview configured for this security system state. Create a liveview named %s in the Protect webUI to use this feature.", viewScene);
|
|
279
|
+
this.accessory.context.securityState = newState;
|
|
280
|
+
this.accessory.getService(this.hap.Service.SecuritySystem)?.updateCharacteristic(SecuritySystemCurrentState, newState);
|
|
283
281
|
return;
|
|
284
282
|
}
|
|
285
|
-
this.log.info("
|
|
283
|
+
this.log.info("Setting the liveview scene: %s.", viewScene);
|
|
286
284
|
// Iterate through the list of accessories and set the Protect scene.
|
|
287
285
|
for (const targetAccessory of this.platform.accessories) {
|
|
286
|
+
const targetUfp = this.nvr.configuredDevices[targetAccessory.UUID]?.ufp;
|
|
288
287
|
// We only want accessories associated with this Protect controller.
|
|
289
|
-
if (!
|
|
288
|
+
if (!targetUfp || (targetAccessory.context.nvr !== this.nvr.ufp.mac)) {
|
|
290
289
|
continue;
|
|
291
290
|
}
|
|
292
291
|
let targetState = false;
|
|
293
292
|
// If we're disarming, then all Protect cameras will disable motion detection in HomeKit. Otherwise,
|
|
294
293
|
// check to see if this is one of the cameras we want to turn on motion detection for.
|
|
295
294
|
if (((newState !== SecuritySystemCurrentState.DISARMED) ||
|
|
296
|
-
((newState === SecuritySystemCurrentState.DISARMED) && targetCameraIds.length)) &&
|
|
297
|
-
targetCameraIds.some(thisCameraId => thisCameraId === targetAccessory.context.device.id)) {
|
|
295
|
+
((newState === SecuritySystemCurrentState.DISARMED) && targetCameraIds.length)) && targetCameraIds.some(thisCameraId => thisCameraId === targetUfp?.id)) {
|
|
298
296
|
targetState = true;
|
|
299
297
|
}
|
|
300
298
|
// Only take action to change motion detection state if needed.
|
|
301
299
|
if (targetAccessory.context.detectMotion !== targetState) {
|
|
302
300
|
targetAccessory.context.detectMotion = targetState;
|
|
303
301
|
// Update the switch service, if present.
|
|
304
|
-
const motionSwitch = targetAccessory.getServiceById(hap.Service.Switch,
|
|
302
|
+
const motionSwitch = targetAccessory.getServiceById(this.hap.Service.Switch, ProtectReservedNames.SWITCH_MOTION_SENSOR);
|
|
305
303
|
if (motionSwitch) {
|
|
306
|
-
motionSwitch.updateCharacteristic(hap.Characteristic.On, targetAccessory.context.detectMotion);
|
|
304
|
+
motionSwitch.updateCharacteristic(this.hap.Characteristic.On, targetAccessory.context.detectMotion);
|
|
307
305
|
}
|
|
308
|
-
this.log.info("%s
|
|
306
|
+
this.log.info("%s -> %s: Motion detection %s.", viewScene, targetAccessory.displayName, targetAccessory.context.detectMotion === true ? "enabled" : "disabled");
|
|
309
307
|
}
|
|
310
308
|
}
|
|
311
309
|
// Inform the user of our new state.
|
|
312
|
-
accessory.context.securityState = newState;
|
|
313
|
-
|
|
310
|
+
this.accessory.context.securityState = newState;
|
|
311
|
+
this.accessory.getService(this.hap.Service.SecuritySystem)?.updateCharacteristic(SecuritySystemCurrentState, newState);
|
|
314
312
|
// Reset our alarm state and update our alarm switch.
|
|
315
313
|
this.isAlarmTriggered = false;
|
|
316
|
-
if (
|
|
317
|
-
|
|
314
|
+
if (this.accessory.getService(this.hap.Service.Switch)?.getCharacteristic(this.hap.Characteristic.On).value !== this.isAlarmTriggered) {
|
|
315
|
+
this.accessory.getService(this.hap.Service.Switch)?.updateCharacteristic(this.hap.Characteristic.On, this.isAlarmTriggered);
|
|
318
316
|
}
|
|
319
317
|
// Publish to MQTT, if configured.
|
|
320
318
|
this.publishSecurityState();
|
|
321
319
|
}
|
|
322
320
|
// Set the security alarm.
|
|
323
321
|
setSecurityAlarm(value) {
|
|
324
|
-
var _a, _b;
|
|
325
322
|
// Nothing to do.
|
|
326
323
|
if (this.isAlarmTriggered === value) {
|
|
327
324
|
return;
|
|
@@ -329,12 +326,11 @@ class ProtectSecuritySystem extends protect_accessory_1.ProtectAccessory {
|
|
|
329
326
|
// Update the alarm state.
|
|
330
327
|
this.isAlarmTriggered = value === true;
|
|
331
328
|
// Update the security system state.
|
|
332
|
-
|
|
329
|
+
this.accessory.getService(this.hap.Service.SecuritySystem)?.updateCharacteristic(this.hap.Characteristic.SecuritySystemCurrentState, this.isAlarmTriggered ? this.hap.Characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED : this.accessory.context.securityState);
|
|
333
330
|
// Update the security alarm state.
|
|
334
|
-
|
|
331
|
+
this.accessory.getService(this.hap.Service.Switch)?.updateCharacteristic(this.hap.Characteristic.On, this.isAlarmTriggered);
|
|
335
332
|
// Publish to MQTT, if configured.
|
|
336
333
|
this.publishSecurityState();
|
|
337
334
|
}
|
|
338
335
|
}
|
|
339
|
-
exports.ProtectSecuritySystem = ProtectSecuritySystem;
|
|
340
336
|
//# sourceMappingURL=protect-securitysystem.js.map
|
|
@@ -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,28 @@
|
|
|
1
|
+
import { PlatformAccessory } from "homebridge";
|
|
2
|
+
import { ProtectSensorConfig } from "unifi-protect";
|
|
3
|
+
import { ProtectDevice } from "./protect-device.js";
|
|
4
|
+
import { ProtectNvr } from "./protect-nvr.js";
|
|
5
|
+
export declare class ProtectSensor extends ProtectDevice {
|
|
6
|
+
private savedAlarmSound;
|
|
7
|
+
private savedContact;
|
|
8
|
+
ufp: ProtectSensorConfig;
|
|
9
|
+
constructor(nvr: ProtectNvr, device: ProtectSensorConfig, accessory: PlatformAccessory);
|
|
10
|
+
private configureDevice;
|
|
11
|
+
updateDevice(): string[];
|
|
12
|
+
private configureAlarmSoundSensor;
|
|
13
|
+
private configureAmbientLightSensor;
|
|
14
|
+
private configureContactSensor;
|
|
15
|
+
private configureHumiditySensor;
|
|
16
|
+
private configureTemperatureSensor;
|
|
17
|
+
private configureActiveStatus;
|
|
18
|
+
private configureBatteryStatus;
|
|
19
|
+
private configureTamperedStatus;
|
|
20
|
+
private configureStateCharacteristics;
|
|
21
|
+
private getAlarmSound;
|
|
22
|
+
private getAmbientLight;
|
|
23
|
+
private getContact;
|
|
24
|
+
private getHumidity;
|
|
25
|
+
private getTemperature;
|
|
26
|
+
private configureMqtt;
|
|
27
|
+
private eventHandler;
|
|
28
|
+
}
|