homebridge-unifi-protect 6.0.2 → 6.1.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/protect-camera.d.ts +0 -1
- package/dist/protect-camera.js +11 -66
- package/dist/protect-camera.js.map +1 -1
- package/dist/protect-device.d.ts +3 -2
- package/dist/protect-device.js +79 -15
- package/dist/protect-device.js.map +1 -1
- package/dist/protect-ffmpeg.d.ts +0 -1
- package/dist/protect-ffmpeg.js +5 -29
- package/dist/protect-ffmpeg.js.map +1 -1
- package/dist/protect-mqtt.js +1 -1
- package/dist/protect-mqtt.js.map +1 -1
- package/dist/protect-nvr.js +49 -35
- package/dist/protect-nvr.js.map +1 -1
- package/dist/protect-options.d.ts +2 -0
- package/dist/protect-options.js +23 -24
- package/dist/protect-options.js.map +1 -1
- package/dist/protect-platform.d.ts +3 -0
- package/dist/protect-platform.js +56 -3
- package/dist/protect-platform.js.map +1 -1
- package/dist/protect-record.js +1 -1
- package/dist/protect-record.js.map +1 -1
- package/dist/protect-sensor.d.ts +6 -6
- package/dist/protect-sensor.js +23 -23
- package/dist/protect-sensor.js.map +1 -1
- package/dist/protect-stream.d.ts +0 -1
- package/dist/protect-stream.js +23 -11
- package/dist/protect-stream.js.map +1 -1
- package/dist/settings.d.ts +1 -1
- package/dist/settings.js +2 -2
- package/dist/settings.js.map +1 -1
- package/homebridge-ui/public/index.html +14 -2
- package/package.json +4 -4
package/dist/protect-camera.d.ts
CHANGED
|
@@ -29,7 +29,6 @@ export declare class ProtectCamera extends ProtectDevice {
|
|
|
29
29
|
protected eventHandler(packet: ProtectEventPacket): void;
|
|
30
30
|
private smartMotionEventHandler;
|
|
31
31
|
private configureMotionSmartSensor;
|
|
32
|
-
private configureMotionTrigger;
|
|
33
32
|
private configureDoorbellTrigger;
|
|
34
33
|
protected configureVideoDoorbell(): boolean;
|
|
35
34
|
private configureCameraDetails;
|
package/dist/protect-camera.js
CHANGED
|
@@ -37,6 +37,12 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
37
37
|
}
|
|
38
38
|
// Configure a camera accessory for HomeKit.
|
|
39
39
|
async configureDevice() {
|
|
40
|
+
// Default to enabling motion detection.
|
|
41
|
+
let detectMotion = true;
|
|
42
|
+
// Save the motion detection switch state before we wipeout the context.
|
|
43
|
+
if ("detectMotion" in this.accessory.context) {
|
|
44
|
+
detectMotion = this.accessory.context.detectMotion;
|
|
45
|
+
}
|
|
40
46
|
// Default to disabling the dynamic bitrate setting.
|
|
41
47
|
let dynamicBitrate = false;
|
|
42
48
|
// Save the dynamic bitrate switch state before we wipeout the context.
|
|
@@ -51,6 +57,7 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
51
57
|
}
|
|
52
58
|
// Clean out the context object in case it's been polluted somehow.
|
|
53
59
|
this.accessory.context = {};
|
|
60
|
+
this.accessory.context.detectMotion = detectMotion;
|
|
54
61
|
this.accessory.context.dynamicBitrate = dynamicBitrate;
|
|
55
62
|
this.accessory.context.hksvRecording = hksvRecording;
|
|
56
63
|
this.accessory.context.mac = this.ufp.mac;
|
|
@@ -76,8 +83,6 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
76
83
|
this.configureMqtt();
|
|
77
84
|
// Configure the motion sensor.
|
|
78
85
|
this.configureMotionSensor();
|
|
79
|
-
this.configureMotionSwitch();
|
|
80
|
-
this.configureMotionTrigger();
|
|
81
86
|
// Configure smart motion contact sensors.
|
|
82
87
|
this.configureMotionSmartSensor();
|
|
83
88
|
// Configure HomeKit Secure Video suport.
|
|
@@ -190,62 +195,6 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
190
195
|
this.log.info("Smart motion contact sensor%s enabled: %s.", this.ufp.featureFlags.smartDetectTypes.length > 1 ? "s" : "", this.ufp.featureFlags.smartDetectTypes.join(", "));
|
|
191
196
|
return true;
|
|
192
197
|
}
|
|
193
|
-
// Configure a switch to manually trigger a motion sensor event for HomeKit.
|
|
194
|
-
configureMotionTrigger() {
|
|
195
|
-
// Find the switch service, if it exists.
|
|
196
|
-
let triggerService = this.accessory.getServiceById(this.hap.Service.Switch, ProtectReservedNames.SWITCH_MOTION_TRIGGER);
|
|
197
|
-
// Motion triggers are disabled by default and primarily exist for automation purposes.
|
|
198
|
-
if (!this.nvr.optionEnabled(this.ufp, "Motion.Trigger", false)) {
|
|
199
|
-
if (triggerService) {
|
|
200
|
-
this.accessory.removeService(triggerService);
|
|
201
|
-
}
|
|
202
|
-
return false;
|
|
203
|
-
}
|
|
204
|
-
// Add the switch to the camera, if needed.
|
|
205
|
-
if (!triggerService) {
|
|
206
|
-
triggerService = new this.hap.Service.Switch(this.accessory.displayName + " Motion Trigger", ProtectReservedNames.SWITCH_MOTION_TRIGGER);
|
|
207
|
-
if (!triggerService) {
|
|
208
|
-
this.log.error("Unable to add motion sensor trigger.");
|
|
209
|
-
return false;
|
|
210
|
-
}
|
|
211
|
-
this.accessory.addService(triggerService);
|
|
212
|
-
}
|
|
213
|
-
const motionService = this.accessory.getService(this.hap.Service.MotionSensor);
|
|
214
|
-
const switchService = this.accessory.getServiceById(this.hap.Service.Switch, ProtectReservedNames.SWITCH_MOTION_SENSOR);
|
|
215
|
-
// Activate or deactivate motion detection.
|
|
216
|
-
triggerService
|
|
217
|
-
.getCharacteristic(this.hap.Characteristic.On)
|
|
218
|
-
?.onGet(() => {
|
|
219
|
-
return motionService?.getCharacteristic(this.hap.Characteristic.MotionDetected).value === true;
|
|
220
|
-
})
|
|
221
|
-
.onSet((value) => {
|
|
222
|
-
if (value) {
|
|
223
|
-
// Check to see if motion events are disabled.
|
|
224
|
-
if (switchService && !switchService.getCharacteristic(this.hap.Characteristic.On).value) {
|
|
225
|
-
setTimeout(() => {
|
|
226
|
-
triggerService?.updateCharacteristic(this.hap.Characteristic.On, false);
|
|
227
|
-
}, 50);
|
|
228
|
-
}
|
|
229
|
-
else {
|
|
230
|
-
// Trigger the motion event.
|
|
231
|
-
this.nvr.events.motionEventHandler(this, Date.now());
|
|
232
|
-
this.log.info("Motion event triggered.");
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
else {
|
|
236
|
-
// If the motion sensor is still on, we should be as well.
|
|
237
|
-
if (motionService?.getCharacteristic(this.hap.Characteristic.MotionDetected).value) {
|
|
238
|
-
setTimeout(() => {
|
|
239
|
-
triggerService?.updateCharacteristic(this.hap.Characteristic.On, true);
|
|
240
|
-
}, 50);
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
// Initialize the switch.
|
|
245
|
-
triggerService.updateCharacteristic(this.hap.Characteristic.On, false);
|
|
246
|
-
this.log.info("Enabling motion sensor automation trigger.");
|
|
247
|
-
return true;
|
|
248
|
-
}
|
|
249
198
|
// Configure a switch to manually trigger a doorbell ring event for HomeKit.
|
|
250
199
|
configureDoorbellTrigger() {
|
|
251
200
|
// Find the switch service, if it exists.
|
|
@@ -418,9 +367,10 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
418
367
|
// 320x240@30 (Apple Watch).
|
|
419
368
|
// 320x240@15 (Apple Watch).
|
|
420
369
|
// 320x180@30 (Apple Watch).
|
|
370
|
+
// 320x180@15 (Apple Watch).
|
|
421
371
|
for (const entry of [
|
|
422
372
|
[3840, 2160, 30], [1920, 1080, 30], [1280, 960, 30], [1280, 720, 30], [1024, 768, 30], [640, 480, 30],
|
|
423
|
-
[640, 360, 30], [480, 360, 30], [480, 270, 30], [320, 240, 30], [320, 240, 15], [320, 180, 30]
|
|
373
|
+
[640, 360, 30], [480, 360, 30], [480, 270, 30], [320, 240, 30], [320, 240, 15], [320, 180, 30], [320, 180, 15]
|
|
424
374
|
]) {
|
|
425
375
|
// We already have this resolution in our list.
|
|
426
376
|
if (rtspEntries.some(x => (x.resolution[0] === entry[0]) && (x.resolution[1] === entry[1]) && (x.resolution[2] === entry[2]))) {
|
|
@@ -469,9 +419,6 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
469
419
|
}
|
|
470
420
|
// Configure the video stream with our resolutions.
|
|
471
421
|
this.stream = new ProtectStreamingDelegate(this, this.rtspEntries.map(x => x.resolution));
|
|
472
|
-
if (this.hasHwAccel) {
|
|
473
|
-
this.log.info("Hardware accelerated transcoding enabled.");
|
|
474
|
-
}
|
|
475
422
|
// Fire up the controller and inform HomeKit about it.
|
|
476
423
|
this.accessory.configureController(this.stream.controller);
|
|
477
424
|
this.isVideoConfigured = true;
|
|
@@ -901,13 +848,11 @@ export class ProtectCamera extends ProtectDevice {
|
|
|
901
848
|
export class ProtectPackageCamera extends ProtectCamera {
|
|
902
849
|
// Configure the package camera.
|
|
903
850
|
async configureDevice() {
|
|
904
|
-
this.hints.probesize =
|
|
905
|
-
// this.hints.transcode = this.nvr.optionEnabled(this.ufp, "Video.Transcode", false);
|
|
906
|
-
// this.hints.transcode = true;
|
|
851
|
+
this.hints.probesize = 32768;
|
|
907
852
|
this.hasHksv = false;
|
|
908
|
-
this.isRinging = false;
|
|
909
853
|
// Clean out the context object in case it's been polluted somehow.
|
|
910
854
|
this.accessory.context = {};
|
|
855
|
+
// We explicitly avoid adding the MAC address of the camera - that's reserved for real Protect devices, not synthetic ones we create.
|
|
911
856
|
this.accessory.context.nvr = this.nvr.ufp.mac;
|
|
912
857
|
this.accessory.context.packageCamera = true;
|
|
913
858
|
// Configure accessory information.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-camera.js","sourceRoot":"","sources":["../src/protect-camera.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protect-camera.js","sourceRoot":"","sources":["../src/protect-camera.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-device.d.ts
CHANGED
|
@@ -39,8 +39,9 @@ export declare abstract class ProtectDevice extends ProtectBase {
|
|
|
39
39
|
protected configureHints(): boolean;
|
|
40
40
|
protected configureInfo(): boolean;
|
|
41
41
|
cleanup(): void;
|
|
42
|
-
protected configureMotionSensor(isEnabled?: boolean): boolean;
|
|
43
|
-
|
|
42
|
+
protected configureMotionSensor(isEnabled?: boolean, isInitialized?: boolean): boolean;
|
|
43
|
+
private configureMotionSwitch;
|
|
44
|
+
private configureMotionTrigger;
|
|
44
45
|
private configureMqttMotionTrigger;
|
|
45
46
|
isOptionEnabled(option: string, defaultReturnValue?: boolean, address?: string, addressOnly?: boolean): boolean;
|
|
46
47
|
isReservedName(name: string | undefined): boolean;
|
package/dist/protect-device.js
CHANGED
|
@@ -83,16 +83,18 @@ export class ProtectDevice extends ProtectBase {
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
// Configure the Protect motion sensor for HomeKit.
|
|
86
|
-
configureMotionSensor(isEnabled = true) {
|
|
86
|
+
configureMotionSensor(isEnabled = true, isInitialized = false) {
|
|
87
87
|
// Find the motion sensor service, if it exists.
|
|
88
88
|
let motionService = this.accessory.getService(this.hap.Service.MotionSensor);
|
|
89
|
-
// Have we disabled motion
|
|
89
|
+
// Have we disabled the motion sensor?
|
|
90
90
|
if (!isEnabled) {
|
|
91
91
|
if (motionService) {
|
|
92
92
|
this.accessory.removeService(motionService);
|
|
93
93
|
this.nvr.mqtt?.unsubscribe(this.accessory, "motion/trigger");
|
|
94
94
|
this.log.info("Disabling motion sensor.");
|
|
95
95
|
}
|
|
96
|
+
this.configureMotionSwitch(isEnabled);
|
|
97
|
+
this.configureMotionTrigger(isEnabled);
|
|
96
98
|
return false;
|
|
97
99
|
}
|
|
98
100
|
// We don't have a motion sensor, let's add it to the camera.
|
|
@@ -104,24 +106,32 @@ export class ProtectDevice extends ProtectBase {
|
|
|
104
106
|
return false;
|
|
105
107
|
}
|
|
106
108
|
this.accessory.addService(motionService);
|
|
109
|
+
isInitialized = false;
|
|
107
110
|
this.log.info("Enabling motion sensor.");
|
|
108
111
|
}
|
|
109
|
-
//
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
112
|
+
// Have we previously initialized this sensor? We assume not by default, but this allows for scenarios where you may be dynamically reconfiguring a sensor at
|
|
113
|
+
// runtime (e.g. UniFi sensors can be reconfigured for various sensor modes in realtime).
|
|
114
|
+
if (!isInitialized) {
|
|
115
|
+
// Initialize the state of the motion sensor.
|
|
116
|
+
motionService.updateCharacteristic(this.hap.Characteristic.MotionDetected, false);
|
|
117
|
+
motionService.updateCharacteristic(this.hap.Characteristic.StatusActive, this.ufp.state === "CONNECTED");
|
|
118
|
+
motionService.getCharacteristic(this.hap.Characteristic.StatusActive).onGet(() => {
|
|
119
|
+
return this.ufp.state === "CONNECTED";
|
|
120
|
+
});
|
|
121
|
+
// Configure our MQTT support.
|
|
122
|
+
this.configureMqttMotionTrigger();
|
|
123
|
+
// Configure any motion switches or triggers the user may have enabled or disabled.
|
|
124
|
+
this.configureMotionSwitch(isEnabled);
|
|
125
|
+
this.configureMotionTrigger(isEnabled);
|
|
126
|
+
}
|
|
117
127
|
return true;
|
|
118
128
|
}
|
|
119
129
|
// Configure a switch to easily activate or deactivate motion sensor detection for HomeKit.
|
|
120
|
-
configureMotionSwitch() {
|
|
130
|
+
configureMotionSwitch(isEnabled = true) {
|
|
121
131
|
// Find the switch service, if it exists.
|
|
122
132
|
let switchService = this.accessory.getServiceById(this.hap.Service.Switch, ProtectReservedNames.SWITCH_MOTION_SENSOR);
|
|
123
|
-
//
|
|
124
|
-
if (!this.nvr
|
|
133
|
+
// Motion switches are disabled by default unless the user enables them.
|
|
134
|
+
if (!isEnabled || !this.nvr.optionEnabled(this.ufp, "Motion.Switch", false)) {
|
|
125
135
|
if (switchService) {
|
|
126
136
|
this.accessory.removeService(switchService);
|
|
127
137
|
}
|
|
@@ -141,8 +151,7 @@ export class ProtectDevice extends ProtectBase {
|
|
|
141
151
|
this.accessory.addService(switchService);
|
|
142
152
|
}
|
|
143
153
|
// Activate or deactivate motion detection.
|
|
144
|
-
switchService
|
|
145
|
-
.getCharacteristic(this.hap.Characteristic.On)
|
|
154
|
+
switchService.getCharacteristic(this.hap.Characteristic.On)
|
|
146
155
|
?.onGet(() => {
|
|
147
156
|
return this.accessory.context.detectMotion === true;
|
|
148
157
|
})
|
|
@@ -159,6 +168,61 @@ export class ProtectDevice extends ProtectBase {
|
|
|
159
168
|
switchService.updateCharacteristic(this.hap.Characteristic.On, this.accessory.context.detectMotion);
|
|
160
169
|
return true;
|
|
161
170
|
}
|
|
171
|
+
// Configure a switch to manually trigger a motion sensor event for HomeKit.
|
|
172
|
+
configureMotionTrigger(isEnabled = true) {
|
|
173
|
+
// Find the switch service, if it exists.
|
|
174
|
+
let triggerService = this.accessory.getServiceById(this.hap.Service.Switch, ProtectReservedNames.SWITCH_MOTION_TRIGGER);
|
|
175
|
+
// Motion triggers are disabled by default and primarily exist for automation purposes.
|
|
176
|
+
if (!isEnabled || !this.nvr.optionEnabled(this.ufp, "Motion.Trigger", false)) {
|
|
177
|
+
if (triggerService) {
|
|
178
|
+
this.accessory.removeService(triggerService);
|
|
179
|
+
}
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
// Add the switch to the camera, if needed.
|
|
183
|
+
if (!triggerService) {
|
|
184
|
+
triggerService = new this.hap.Service.Switch(this.accessory.displayName + " Motion Trigger", ProtectReservedNames.SWITCH_MOTION_TRIGGER);
|
|
185
|
+
if (!triggerService) {
|
|
186
|
+
this.log.error("Unable to add motion sensor trigger.");
|
|
187
|
+
return false;
|
|
188
|
+
}
|
|
189
|
+
this.accessory.addService(triggerService);
|
|
190
|
+
}
|
|
191
|
+
const motionService = this.accessory.getService(this.hap.Service.MotionSensor);
|
|
192
|
+
const switchService = this.accessory.getServiceById(this.hap.Service.Switch, ProtectReservedNames.SWITCH_MOTION_SENSOR);
|
|
193
|
+
// Activate or deactivate motion detection.
|
|
194
|
+
triggerService.getCharacteristic(this.hap.Characteristic.On)
|
|
195
|
+
?.onGet(() => {
|
|
196
|
+
return motionService?.getCharacteristic(this.hap.Characteristic.MotionDetected).value === true;
|
|
197
|
+
})
|
|
198
|
+
.onSet((value) => {
|
|
199
|
+
if (value) {
|
|
200
|
+
// Check to see if motion events are disabled.
|
|
201
|
+
if (switchService && !switchService.getCharacteristic(this.hap.Characteristic.On).value) {
|
|
202
|
+
setTimeout(() => {
|
|
203
|
+
triggerService?.updateCharacteristic(this.hap.Characteristic.On, false);
|
|
204
|
+
}, 50);
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
// Trigger the motion event.
|
|
208
|
+
this.nvr.events.motionEventHandler(this, Date.now());
|
|
209
|
+
this.log.info("Motion event triggered.");
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
// If the motion sensor is still on, we should be as well.
|
|
214
|
+
if (motionService?.getCharacteristic(this.hap.Characteristic.MotionDetected).value) {
|
|
215
|
+
setTimeout(() => {
|
|
216
|
+
triggerService?.updateCharacteristic(this.hap.Characteristic.On, true);
|
|
217
|
+
}, 50);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
// Initialize the switch.
|
|
222
|
+
triggerService.updateCharacteristic(this.hap.Characteristic.On, false);
|
|
223
|
+
this.log.info("Enabling motion sensor automation trigger.");
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
162
226
|
// Configure MQTT motion triggers.
|
|
163
227
|
configureMqttMotionTrigger() {
|
|
164
228
|
// Trigger a motion event in MQTT, if requested to do so.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-device.js","sourceRoot":"","sources":["../src/protect-device.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"protect-device.js","sourceRoot":"","sources":["../src/protect-device.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-ffmpeg.d.ts
CHANGED
package/dist/protect-ffmpeg.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*
|
|
5
5
|
* This module is heavily inspired by the homebridge and homebridge-camera-ffmpeg source code. Thank you for your contributions to the HomeKit world.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
7
|
+
import { spawn } from "node:child_process";
|
|
8
8
|
import { EventEmitter } from "node:events";
|
|
9
9
|
import util from "node:util";
|
|
10
10
|
// Base class for all FFmpeg process management.
|
|
@@ -61,10 +61,10 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
61
61
|
}
|
|
62
62
|
// Inform the user, if we've been asked to do so.
|
|
63
63
|
if (this.isLogging || this.isVerbose || this.protectCamera.platform.config.debugAll) {
|
|
64
|
-
this.log.info("FFmpeg command: %s %s", this.protectCamera.
|
|
64
|
+
this.log.info("FFmpeg command: %s %s", this.protectCamera.platform.config.videoProcessor, this.commandLineArgs.join(" "));
|
|
65
65
|
}
|
|
66
66
|
else {
|
|
67
|
-
this.log.debug("FFmpeg command: %s %s", this.protectCamera.
|
|
67
|
+
this.log.debug("FFmpeg command: %s %s", this.protectCamera.platform.config.videoProcessor, this.commandLineArgs.join(" "));
|
|
68
68
|
}
|
|
69
69
|
this.isPrepared = true;
|
|
70
70
|
}
|
|
@@ -79,7 +79,7 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
// Execute the command line based on what we've prepared.
|
|
82
|
-
this.process = spawn(this.protectCamera.
|
|
82
|
+
this.process = spawn(this.protectCamera.platform.config.videoProcessor, this.commandLineArgs);
|
|
83
83
|
// Configure any post-spawn listeners and other plumbing.
|
|
84
84
|
this.configureProcess(errorHandler);
|
|
85
85
|
}
|
|
@@ -190,7 +190,7 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
190
190
|
logFfmpegError(exitCode, signal) {
|
|
191
191
|
// Something else has occurred. Inform the user, and stop everything.
|
|
192
192
|
this.log.error("FFmpeg process ended unexpectedly with %s%s%s.", (exitCode !== null) ? "an exit code of " + exitCode.toString() : "", ((exitCode !== null) && signal) ? " and " : "", signal ? "a signal received of " + signal : "");
|
|
193
|
-
this.log.error("FFmpeg command line that errored out was: %s %s", this.protectCamera.
|
|
193
|
+
this.log.error("FFmpeg command line that errored out was: %s %s", this.protectCamera.platform.config.videoProcessor, this.commandLineArgs.join(" "));
|
|
194
194
|
this.stderrLog.map(x => this.log.error(x));
|
|
195
195
|
}
|
|
196
196
|
// Return the standard input for this process.
|
|
@@ -205,29 +205,5 @@ export class FfmpegProcess extends EventEmitter {
|
|
|
205
205
|
get stderr() {
|
|
206
206
|
return this.process?.stderr ?? null;
|
|
207
207
|
}
|
|
208
|
-
// Validate whether or not we have a specific codec available to us in FFmpeg.
|
|
209
|
-
static async codecEnabled(videoProcessor, codec, log) {
|
|
210
|
-
try {
|
|
211
|
-
// Promisify exec to allow us to wait for it asynchronously.
|
|
212
|
-
const execAsync = util.promisify(execFile);
|
|
213
|
-
// Check for the codecs in FFmpeg.
|
|
214
|
-
const { stdout } = await execAsync(videoProcessor, ["-codecs"]);
|
|
215
|
-
// See if we can find the codec.
|
|
216
|
-
return stdout.includes(codec);
|
|
217
|
-
}
|
|
218
|
-
catch (error) {
|
|
219
|
-
// It's really a SystemError, but Node hides that type from us for esoteric reasons.
|
|
220
|
-
if (error instanceof Error) {
|
|
221
|
-
const execError = error;
|
|
222
|
-
if (execError.code === "ENOENT") {
|
|
223
|
-
log.error("Unable to find FFmpeg at: '%s'. Please make sure that you have a working version of FFmpeg installed.", execError.path);
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
log.error("Error running FFmpeg: %s", error.message);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
return false;
|
|
231
|
-
}
|
|
232
208
|
}
|
|
233
209
|
//# sourceMappingURL=protect-ffmpeg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-ffmpeg.js","sourceRoot":"","sources":["../src/protect-ffmpeg.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAkC,
|
|
1
|
+
{"version":3,"file":"protect-ffmpeg.js","sourceRoot":"","sources":["../src/protect-ffmpeg.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-mqtt.js
CHANGED
|
@@ -135,7 +135,7 @@ export class ProtectMqtt {
|
|
|
135
135
|
// Check if we were passed the MAC as an input. Otherwise, assume it's the controller's MAC initially.
|
|
136
136
|
let mac = (typeof accessory === "string") ? accessory : accessory.context.nvr;
|
|
137
137
|
// Check to see if it's really a Protect device...if it is, use it's MAC address.
|
|
138
|
-
if ((typeof accessory !== "string") && ("
|
|
138
|
+
if ((typeof accessory !== "string") && ("mac" in accessory.context)) {
|
|
139
139
|
mac = this.nvr.configuredDevices[accessory.UUID]?.ufp.mac;
|
|
140
140
|
}
|
|
141
141
|
const expandedTopic = this.config.mqttTopic + "/" + mac + "/" + topic;
|