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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-light.js","sourceRoot":"","sources":["../src/protect-light.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protect-light.js","sourceRoot":"","sources":["../src/protect-light.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ProtectBase } from "./protect-device.js";
|
|
2
|
+
import { ProtectNvr } from "./protect-nvr.js";
|
|
3
|
+
export declare class ProtectLiveviews extends ProtectBase {
|
|
4
|
+
private isConfigured;
|
|
5
|
+
private isMqttConfigured;
|
|
6
|
+
private liveviews;
|
|
7
|
+
private securityAccessory;
|
|
8
|
+
private securitySystem;
|
|
9
|
+
constructor(nvr: ProtectNvr);
|
|
10
|
+
configureLiveviews(): void;
|
|
11
|
+
private configureSecuritySystem;
|
|
12
|
+
private configureSwitches;
|
|
13
|
+
private configureMqtt;
|
|
14
|
+
private setSwitchState;
|
|
15
|
+
private getSwitchState;
|
|
16
|
+
private getLiveviewCameras;
|
|
17
|
+
}
|
|
@@ -1,49 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const protect_accessory_1 = require("./protect-accessory");
|
|
6
|
-
const protect_securitysystem_1 = require("./protect-securitysystem");
|
|
7
|
-
class ProtectLiveviews extends protect_accessory_1.ProtectBase {
|
|
1
|
+
import { PLATFORM_NAME, PLUGIN_NAME } from "./settings.js";
|
|
2
|
+
import { ProtectBase } from "./protect-device.js";
|
|
3
|
+
import { ProtectSecuritySystem } from "./protect-securitysystem.js";
|
|
4
|
+
export class ProtectLiveviews extends ProtectBase {
|
|
8
5
|
// Configure our liveviews capability.
|
|
9
6
|
constructor(nvr) {
|
|
10
|
-
var _a, _b;
|
|
11
7
|
// Let the base class get us set up.
|
|
12
8
|
super(nvr);
|
|
13
9
|
// Initialize the class.
|
|
10
|
+
this.isConfigured = {};
|
|
14
11
|
this.isMqttConfigured = false;
|
|
15
|
-
this.liveviews =
|
|
16
|
-
this.liveviewSwitches = [];
|
|
12
|
+
this.liveviews = this.ufpApi.bootstrap?.liveviews ?? [];
|
|
17
13
|
this.securityAccessory = null;
|
|
18
14
|
this.securitySystem = null;
|
|
19
15
|
}
|
|
20
16
|
// Update security system accessory.
|
|
21
17
|
configureLiveviews() {
|
|
22
|
-
var _a;
|
|
23
18
|
// Do we have controller access?
|
|
24
|
-
if (!
|
|
19
|
+
if (!this.ufpApi.bootstrap?.nvr) {
|
|
25
20
|
return;
|
|
26
21
|
}
|
|
27
|
-
this.liveviews = this.
|
|
22
|
+
this.liveviews = this.ufpApi.bootstrap.liveviews;
|
|
28
23
|
this.configureSecuritySystem();
|
|
29
24
|
this.configureSwitches();
|
|
30
25
|
this.configureMqtt();
|
|
31
26
|
}
|
|
32
27
|
// Configure the security system accessory.
|
|
33
28
|
configureSecuritySystem() {
|
|
34
|
-
var _a;
|
|
35
29
|
// If we don't have the bootstrap configuration, we're done here.
|
|
36
|
-
if (!this.
|
|
30
|
+
if (!this.ufpApi.bootstrap) {
|
|
37
31
|
return;
|
|
38
32
|
}
|
|
39
33
|
const regexSecuritySystemLiveview = /^Protect-(Away|Home|Night|Off)$/i;
|
|
40
|
-
const uuid = this.hap.uuid.generate(this.
|
|
34
|
+
const uuid = this.hap.uuid.generate(this.nvr.ufp.mac + ".Security");
|
|
41
35
|
// If the user removed the last Protect-centric liveview for the security system, we remove the security system accessory.
|
|
42
|
-
if (!
|
|
36
|
+
if (!this.liveviews?.some(x => regexSecuritySystemLiveview.test(x.name))) {
|
|
43
37
|
if (this.securityAccessory) {
|
|
44
|
-
this.log.info("
|
|
38
|
+
this.log.info("No plugin-specific liveviews found. Disabling the security system accessory associated with this UniFi Protect controller.");
|
|
45
39
|
// Unregister the accessory and delete it's remnants from HomeKit and the plugin.
|
|
46
|
-
this.api.unregisterPlatformAccessories(
|
|
40
|
+
this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [this.securityAccessory]);
|
|
47
41
|
this.platform.accessories.splice(this.platform.accessories.indexOf(this.securityAccessory), 1);
|
|
48
42
|
}
|
|
49
43
|
this.securityAccessory = null;
|
|
@@ -53,127 +47,140 @@ class ProtectLiveviews extends protect_accessory_1.ProtectBase {
|
|
|
53
47
|
// Create the security system accessory if it doesn't already exist.
|
|
54
48
|
if (!this.securityAccessory) {
|
|
55
49
|
// See if we already have this accessory defined.
|
|
56
|
-
if ((this.securityAccessory = this.platform.accessories.find(
|
|
50
|
+
if ((this.securityAccessory = this.platform.accessories.find(x => x.UUID === uuid)) === undefined) {
|
|
57
51
|
// We will use the NVR MAC address + ".Security" to create our UUID. That should provide the guaranteed uniqueness we need.
|
|
58
|
-
this.securityAccessory = new this.api.platformAccessory(this.
|
|
52
|
+
this.securityAccessory = new this.api.platformAccessory(this.ufpApi.bootstrap.nvr.name, uuid);
|
|
59
53
|
// Register this accessory with homebridge and add it to the platform accessory array so we can track it.
|
|
60
|
-
this.api.registerPlatformAccessories(
|
|
54
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [this.securityAccessory]);
|
|
61
55
|
this.platform.accessories.push(this.securityAccessory);
|
|
62
56
|
}
|
|
63
57
|
if (!this.securityAccessory) {
|
|
64
|
-
this.log.error("
|
|
58
|
+
this.log.error("Unable to create the security system accessory.");
|
|
65
59
|
return;
|
|
66
60
|
}
|
|
67
|
-
this.log.info("
|
|
61
|
+
this.log.info("Plugin-specific liveviews have been detected. Enabling the security system accessory.");
|
|
68
62
|
}
|
|
69
63
|
// We have the security system accessory, now let's configure it.
|
|
70
64
|
if (!this.securitySystem) {
|
|
71
|
-
this.securitySystem = new
|
|
65
|
+
this.securitySystem = new ProtectSecuritySystem(this.nvr, this.securityAccessory);
|
|
72
66
|
if (!this.securitySystem) {
|
|
73
|
-
this.log.error("
|
|
67
|
+
this.log.error("Unable to configure the security system accessory.");
|
|
74
68
|
return;
|
|
75
69
|
}
|
|
76
70
|
}
|
|
77
71
|
// Update our NVR reference.
|
|
78
|
-
this.securityAccessory.context.nvr = this.
|
|
72
|
+
this.securityAccessory.context.nvr = this.nvr.ufp.mac;
|
|
79
73
|
}
|
|
80
74
|
// Configure any liveview-associated switches.
|
|
81
75
|
configureSwitches() {
|
|
82
|
-
var _a;
|
|
83
76
|
// If we don't have any liveviews or the bootstrap configuration, there's nothing to configure.
|
|
84
|
-
if (!this.liveviews || !this.
|
|
77
|
+
if (!this.liveviews || !this.ufpApi.bootstrap) {
|
|
85
78
|
return;
|
|
86
79
|
}
|
|
87
|
-
// Iterate through the list of
|
|
88
|
-
for (const
|
|
80
|
+
// Iterate through the list of accessories and remove any orphan liveviews due to removal or renaming on the Protect controller.
|
|
81
|
+
for (const accessory of this.platform.accessories) {
|
|
82
|
+
// We're only interested in liveview accessories.
|
|
83
|
+
if (!("liveview" in accessory.context)) {
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
89
86
|
// We found a switch matching this liveview. Move along...
|
|
90
|
-
if (this.liveviews.some(
|
|
87
|
+
if (this.liveviews.some(x => x.name.toUpperCase() === ("Protect-" + accessory.context.liveview).toUpperCase())) {
|
|
91
88
|
continue;
|
|
92
89
|
}
|
|
93
90
|
// The switch has no associated liveview - let's get rid of it.
|
|
94
|
-
this.log.info("
|
|
91
|
+
this.log.info("Removing plugin-specific liveview switch: %s. The liveview has been either removed or renamed in UniFi Protect.", accessory.context.liveview);
|
|
95
92
|
// Unregister the accessory and delete it's remnants from HomeKit and the plugin.
|
|
96
|
-
this.
|
|
97
|
-
this.
|
|
98
|
-
this.
|
|
93
|
+
delete this.isConfigured[accessory.context.liveview.toUpperCase()];
|
|
94
|
+
this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [accessory]);
|
|
95
|
+
this.platform.accessories.splice(this.platform.accessories.indexOf(accessory), 1);
|
|
99
96
|
}
|
|
100
97
|
// Initialize the regular expression here so we don't have to reinitialize it in each iteration below.
|
|
101
|
-
const
|
|
102
|
-
// Check for any new plugin-specific liveviews.
|
|
103
|
-
|
|
98
|
+
const regexLiveview = /^Protect-((?!Away$|Off$|Home$|Night$).+)$/i;
|
|
99
|
+
// Check for any new plugin-specific liveviews. By design, we want to avoid configuring multiple liveview switches with the same name. Instead,
|
|
100
|
+
// we combine all liveviews of the same name into a single switch.
|
|
101
|
+
for (const liveview of [...new Set(this.liveviews.map(x => x.name))]) {
|
|
104
102
|
// Only match on views beginning with Protect- that are not reserved for the security system.
|
|
105
|
-
const viewMatch =
|
|
103
|
+
const viewMatch = regexLiveview.exec(liveview);
|
|
106
104
|
// No match found, we're not interested in it.
|
|
107
105
|
if (!viewMatch) {
|
|
108
106
|
continue;
|
|
109
107
|
}
|
|
110
108
|
// Grab the name of our new switch for reference.
|
|
111
109
|
const viewName = viewMatch[1];
|
|
112
|
-
//
|
|
113
|
-
|
|
110
|
+
// By design, we want to avoid configuring multiple liveview switches with the same name. Instead we combine all liveviews of the same name into
|
|
111
|
+
// a single switch. Maintain a list of the names we've configured for simplcity.
|
|
112
|
+
if (this.isConfigured[viewName.toUpperCase()]) {
|
|
114
113
|
continue;
|
|
115
114
|
}
|
|
116
115
|
// We use the NVR MAC address + ".Liveview." + viewname to create our unique UUID for our switches.
|
|
117
|
-
const uuid = this.hap.uuid.generate(this.
|
|
116
|
+
const uuid = this.hap.uuid.generate(this.nvr.ufp.mac + ".Liveview." + viewName.toUpperCase());
|
|
118
117
|
// Check to see if the accessory already exists before we create it.
|
|
118
|
+
let liveviewState = true;
|
|
119
119
|
let newAccessory;
|
|
120
|
-
if ((newAccessory = this.platform.accessories.find(
|
|
121
|
-
newAccessory = new this.api.platformAccessory(this.
|
|
120
|
+
if ((newAccessory = this.platform.accessories.find(x => x.UUID === uuid)) === undefined) {
|
|
121
|
+
newAccessory = new this.api.platformAccessory(this.ufpApi.bootstrap.nvr.name + " " + viewName, uuid);
|
|
122
122
|
// Register this accessory with homebridge and add it to the platform accessory array so we can track it.
|
|
123
|
-
this.api.registerPlatformAccessories(
|
|
123
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [newAccessory]);
|
|
124
124
|
this.platform.accessories.push(newAccessory);
|
|
125
125
|
}
|
|
126
126
|
if (!newAccessory) {
|
|
127
|
-
this.log.error("
|
|
127
|
+
this.log.error("Unable to create the switch for liveview: %s.", viewName);
|
|
128
128
|
return;
|
|
129
129
|
}
|
|
130
130
|
// Configure our accessory.
|
|
131
|
+
if ("liveviewState" in newAccessory.context) {
|
|
132
|
+
liveviewState = newAccessory.context.liveviewState;
|
|
133
|
+
}
|
|
134
|
+
newAccessory.context = {};
|
|
131
135
|
newAccessory.context.liveview = viewName;
|
|
132
|
-
newAccessory.context.
|
|
133
|
-
newAccessory.context.
|
|
134
|
-
this.liveviewSwitches.push(newAccessory);
|
|
136
|
+
newAccessory.context.liveviewState = liveviewState;
|
|
137
|
+
newAccessory.context.nvr = this.nvr.ufp.mac;
|
|
135
138
|
// Find the existing liveview switch, if we have one.
|
|
136
139
|
let switchService = newAccessory.getService(this.hap.Service.Switch);
|
|
137
140
|
// Add the liveview switch to the accessory.
|
|
138
141
|
if (!switchService) {
|
|
139
142
|
switchService = new this.hap.Service.Switch(newAccessory.displayName);
|
|
140
143
|
if (!switchService) {
|
|
141
|
-
this.log.error("
|
|
144
|
+
this.log.error("Unable to create the switch for liveview: %s.", viewName);
|
|
142
145
|
return;
|
|
143
146
|
}
|
|
144
147
|
newAccessory.addService(switchService);
|
|
145
148
|
}
|
|
146
149
|
// Activate or deactivate motion detection.
|
|
147
|
-
(
|
|
148
|
-
.
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
150
|
+
switchService.getCharacteristic(this.hap.Characteristic.On)
|
|
151
|
+
.onGet(this.getSwitchState.bind(this, newAccessory.context.liveview))
|
|
152
|
+
.onSet(this.setSwitchState.bind(this, newAccessory));
|
|
153
|
+
// Initialize the switch. We keep a saved liveview switch state because we want to account for edge cases where liveviews can disappear and
|
|
154
|
+
// we end up in a situation where motion detection is disabled without a way to enable it. By saving the switch state on the accessory, we
|
|
155
|
+
// can always initialize all motion-related accessories at startup as having motion enabled, and explicitly disable them here at startup when
|
|
156
|
+
// we restore state.
|
|
157
|
+
switchService.updateCharacteristic(this.hap.Characteristic.On, newAccessory.context.liveviewState);
|
|
158
|
+
this.setSwitchState(newAccessory, newAccessory.context.liveviewState);
|
|
159
|
+
this.isConfigured[newAccessory.context.liveview.toUpperCase()] = true;
|
|
160
|
+
// Inform the user.
|
|
161
|
+
this.log.info("Configuring plugin-specific liveview switch: %s.", viewName);
|
|
152
162
|
}
|
|
153
163
|
}
|
|
154
164
|
// Configure MQTT capabilities for the security system.
|
|
155
165
|
configureMqtt() {
|
|
156
|
-
|
|
157
|
-
if (this.isMqttConfigured || !((_a = this.nvrApi.bootstrap) === null || _a === void 0 ? void 0 : _a.nvr.mac)) {
|
|
166
|
+
if (this.isMqttConfigured) {
|
|
158
167
|
return;
|
|
159
168
|
}
|
|
160
169
|
this.isMqttConfigured = true;
|
|
161
170
|
// Return the current status of all the liveviews.
|
|
162
|
-
|
|
163
|
-
var _a, _b, _c;
|
|
171
|
+
this.nvr.mqtt?.subscribe(this.nvr.ufp.mac, "liveviews/get", (message) => {
|
|
164
172
|
const value = message.toString().toLowerCase();
|
|
165
173
|
// When we get the right message, we return the list of liveviews.
|
|
166
174
|
if (value !== "true") {
|
|
167
175
|
return;
|
|
168
176
|
}
|
|
169
177
|
// Get the list of liveviews.
|
|
170
|
-
const liveviews = this.
|
|
171
|
-
|
|
172
|
-
this.log.info("
|
|
178
|
+
const liveviews = this.platform.accessories.filter(x => "liveview" in x.context).map(x => ({ name: x.context.liveview, state: x.getService(this.hap.Service.Switch)?.getCharacteristic(this.hap.Characteristic.On).value }));
|
|
179
|
+
this.nvr.mqtt?.publish(this.nvr.ufp.mac ?? "", "liveviews", JSON.stringify(liveviews));
|
|
180
|
+
this.log.info("Liveview scenes list published via MQTT.");
|
|
173
181
|
});
|
|
174
182
|
// Set the status of one or more liveviews.
|
|
175
|
-
|
|
176
|
-
var _a;
|
|
183
|
+
this.nvr.mqtt?.subscribe(this.nvr.ufp.mac, "liveviews/set", (message) => {
|
|
177
184
|
let incomingPayload;
|
|
178
185
|
// Catch any errors in parsing what we get over MQTT.
|
|
179
186
|
try {
|
|
@@ -185,10 +192,10 @@ class ProtectLiveviews extends protect_accessory_1.ProtectBase {
|
|
|
185
192
|
}
|
|
186
193
|
catch (error) {
|
|
187
194
|
if (error instanceof SyntaxError) {
|
|
188
|
-
this.log.error("
|
|
195
|
+
this.log.error("Unable to process MQTT liveview setting: \"%s\". Error: %s.", message.toString(), error.message);
|
|
189
196
|
}
|
|
190
197
|
else {
|
|
191
|
-
this.log.error("
|
|
198
|
+
this.log.error("Unknown error has occurred: %s.", error);
|
|
192
199
|
}
|
|
193
200
|
// Errors mean that we're done now.
|
|
194
201
|
return;
|
|
@@ -196,61 +203,70 @@ class ProtectLiveviews extends protect_accessory_1.ProtectBase {
|
|
|
196
203
|
// Update state on the liveviews.
|
|
197
204
|
for (const entry of incomingPayload) {
|
|
198
205
|
// Lookup this liveview.
|
|
199
|
-
const accessory = this.
|
|
206
|
+
const accessory = this.platform.accessories.find(x => ("liveview" in x.context) && x.context.liveview.toUpperCase() === entry.name.toUpperCase());
|
|
200
207
|
// If we can't find it, move on.
|
|
201
208
|
if (!accessory) {
|
|
202
209
|
continue;
|
|
203
210
|
}
|
|
204
211
|
// Set the switch state and update the switch in HomeKit.
|
|
205
|
-
this.
|
|
206
|
-
|
|
207
|
-
this.log.info("%s: Liveview scene updated via MQTT: %s.", this.name(), accessory.context.liveview);
|
|
212
|
+
accessory.getService(this.hap.Service.Switch)?.updateCharacteristic(this.hap.Characteristic.On, entry.state === true);
|
|
213
|
+
this.log.info("Liveview scene updated via MQTT: %s.", accessory.context.liveview);
|
|
208
214
|
}
|
|
209
215
|
});
|
|
210
216
|
}
|
|
211
|
-
// Get the current liveview switch state.
|
|
212
|
-
getSwitchState(accessory) {
|
|
213
|
-
return accessory.context.switchState === true;
|
|
214
|
-
}
|
|
215
217
|
// Toggle the liveview switch state.
|
|
216
|
-
setSwitchState(liveviewSwitch,
|
|
217
|
-
var _a, _b, _c, _d;
|
|
218
|
+
setSwitchState(liveviewSwitch, targetState) {
|
|
218
219
|
// We don't have any liveviews or we're already at this state - we're done.
|
|
219
|
-
if (!this.
|
|
220
|
+
if (!this.ufpApi.bootstrap || !this.liveviews || (this.getSwitchState(liveviewSwitch.context.liveview) === targetState)) {
|
|
220
221
|
return;
|
|
221
222
|
}
|
|
222
|
-
// Get the complete list of cameras in the liveview we're interested in.
|
|
223
|
-
//
|
|
224
|
-
// (turns out, you can define multiple liveviews in Protect with the same name...who knew!),
|
|
223
|
+
// Get the complete list of cameras in the liveview we're interested in. This cryptic line grabs the list of liveviews
|
|
224
|
+
// that have the name we're interested in (turns out, you can define multiple liveviews in Protect with the same name...who knew!),
|
|
225
225
|
// and then create a single list containing all of the cameras found.
|
|
226
|
-
const targetCameraIds = this.
|
|
227
|
-
.map(view => view.slots.map(slots => slots.cameras))
|
|
228
|
-
.flat(2);
|
|
226
|
+
const targetCameraIds = this.getLiveviewCameras(liveviewSwitch.context.liveview);
|
|
229
227
|
// Nothing configured for this view. We're done.
|
|
230
228
|
if (!targetCameraIds.length) {
|
|
231
229
|
return;
|
|
232
230
|
}
|
|
233
|
-
// Iterate through the
|
|
234
|
-
for (const
|
|
235
|
-
|
|
236
|
-
|
|
231
|
+
// Iterate through the cameras in this liveview.
|
|
232
|
+
for (const targetCameraId of targetCameraIds) {
|
|
233
|
+
const device = this.nvr.deviceLookup(targetCameraId);
|
|
234
|
+
// No camera found or we're already at the target state - we're done.
|
|
235
|
+
if (!device || (device.accessory.context.detectMotion === targetState)) {
|
|
237
236
|
continue;
|
|
238
237
|
}
|
|
239
|
-
//
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
}
|
|
247
|
-
this.log.info("%s: %s -> %s: Motion detection %s.", this.name(), liveviewSwitch.context.liveview, targetAccessory.displayName, targetAccessory.context.detectMotion === true ? "enabled" : "disabled");
|
|
248
|
-
}
|
|
238
|
+
// Update the motion sensor switch, if it exists.
|
|
239
|
+
device.accessory.getService(this.hap.Service.Switch)?.updateCharacteristic(this.hap.Characteristic.On, targetState);
|
|
240
|
+
// Set the motion detection state. We do this after setting any motion detection switch in order to ensure we fire events in the right order for the
|
|
241
|
+
// motion detection switch.
|
|
242
|
+
device.accessory.context.detectMotion = targetState;
|
|
243
|
+
// Inform the user.
|
|
244
|
+
this.log.info("%s -> %s: Motion detection %s.", liveviewSwitch.context.liveview, device.accessory.displayName, (device.accessory.context.detectMotion === true) ? "enabled" : "disabled");
|
|
249
245
|
}
|
|
250
|
-
|
|
246
|
+
// Save our new state.
|
|
247
|
+
liveviewSwitch.context.liveviewState = targetState;
|
|
251
248
|
// Publish to MQTT, if configured.
|
|
252
|
-
|
|
249
|
+
this.nvr.mqtt?.publish(this.nvr.ufp.mac ?? "", "liveviews", JSON.stringify([{ name: liveviewSwitch.context.liveview, state: targetState }]));
|
|
250
|
+
}
|
|
251
|
+
// Get the current liveview switch state.
|
|
252
|
+
getSwitchState(liveviewName) {
|
|
253
|
+
// Get the list of unique states that exist across all liveview-specified cameras.
|
|
254
|
+
const detectedStates = [...new Set(this.getLiveviewCameras(liveviewName).map(x => this.nvr.deviceLookup(x)?.accessory.context.detectMotion))];
|
|
255
|
+
// If we have more than one element in the array or an empty array (meaning we don't have a liveview we know about),
|
|
256
|
+
// we don't have consistent states across all the devices, so we assume it's false.
|
|
257
|
+
if (detectedStates.length !== 1) {
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
// Return the state we've detected.
|
|
261
|
+
return detectedStates[0];
|
|
262
|
+
}
|
|
263
|
+
// Get the devices associated with a particular liveview.
|
|
264
|
+
getLiveviewCameras(liveviewName) {
|
|
265
|
+
// Get the complete list of cameras in the liveview we're interested in. This cryptic line grabs the list of liveviews
|
|
266
|
+
// that have the name we're interested in (turns out, you can define multiple liveviews in Protect with the same name...who knew!),
|
|
267
|
+
// and then create a single list containing all of the cameras found.
|
|
268
|
+
return this.liveviews.filter(view => view.name.toUpperCase() === ("Protect-" + liveviewName).toUpperCase())
|
|
269
|
+
.map(view => view.slots.map(slots => slots.cameras)).flat(2);
|
|
253
270
|
}
|
|
254
271
|
}
|
|
255
|
-
exports.ProtectLiveviews = ProtectLiveviews;
|
|
256
272
|
//# sourceMappingURL=protect-liveviews.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-liveviews.js","sourceRoot":"","sources":["../src/protect-liveviews.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protect-liveviews.js","sourceRoot":"","sources":["../src/protect-liveviews.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { PlatformAccessory } from "homebridge";
|
|
3
|
+
import { ProtectNvr } from "./protect-nvr.js";
|
|
4
|
+
export declare class ProtectMqtt {
|
|
5
|
+
private config;
|
|
6
|
+
private isConnected;
|
|
7
|
+
private log;
|
|
8
|
+
private mqtt;
|
|
9
|
+
private nvr;
|
|
10
|
+
private ufpApi;
|
|
11
|
+
private subscriptions;
|
|
12
|
+
constructor(nvr: ProtectNvr);
|
|
13
|
+
private configure;
|
|
14
|
+
publish(accessory: PlatformAccessory | string, topic: string, message: string): void;
|
|
15
|
+
subscribe(accessory: PlatformAccessory | string, topic: string, callback: (cbBuffer: Buffer) => void): void;
|
|
16
|
+
subscribeGet(accessory: PlatformAccessory, name: string, topic: string, type: string, getValue: () => string): void;
|
|
17
|
+
unsubscribe(accessory: PlatformAccessory | string, topic: string): void;
|
|
18
|
+
private expandTopic;
|
|
19
|
+
}
|