homebridge-unifi-protect 6.14.0 → 6.15.1
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 +4 -4
- package/config.schema.json +8 -8
- package/dist/protect-camera.d.ts +1 -0
- package/dist/protect-camera.js +78 -44
- package/dist/protect-camera.js.map +1 -1
- package/dist/protect-chime.js +9 -9
- package/dist/protect-chime.js.map +1 -1
- package/dist/protect-device.d.ts +5 -1
- package/dist/protect-device.js +34 -8
- package/dist/protect-device.js.map +1 -1
- package/dist/protect-doorbell.js +6 -6
- package/dist/protect-doorbell.js.map +1 -1
- package/dist/protect-ffmpeg-codecs.d.ts +3 -0
- package/dist/protect-ffmpeg-codecs.js +43 -4
- package/dist/protect-ffmpeg-codecs.js.map +1 -1
- package/dist/protect-ffmpeg-options.js +24 -6
- package/dist/protect-ffmpeg-options.js.map +1 -1
- package/dist/protect-ffmpeg.d.ts +1 -0
- package/dist/protect-ffmpeg.js +9 -7
- package/dist/protect-ffmpeg.js.map +1 -1
- package/dist/protect-light.js +10 -10
- package/dist/protect-light.js.map +1 -1
- package/dist/protect-liveviews.js +14 -20
- package/dist/protect-liveviews.js.map +1 -1
- package/dist/protect-nvr-events.d.ts +2 -3
- package/dist/protect-nvr-events.js +63 -44
- package/dist/protect-nvr-events.js.map +1 -1
- package/dist/protect-nvr.d.ts +1 -2
- package/dist/protect-nvr.js +67 -25
- package/dist/protect-nvr.js.map +1 -1
- package/dist/protect-options.d.ts +5 -3
- package/dist/protect-options.js +18 -15
- package/dist/protect-options.js.map +1 -1
- package/dist/protect-platform.d.ts +1 -1
- package/dist/protect-platform.js +13 -17
- package/dist/protect-platform.js.map +1 -1
- package/dist/protect-record.js +5 -5
- package/dist/protect-record.js.map +1 -1
- package/dist/protect-rtp.js +8 -6
- package/dist/protect-rtp.js.map +1 -1
- package/dist/protect-sensor.js +40 -26
- package/dist/protect-sensor.js.map +1 -1
- package/dist/protect-timeshift.js +6 -8
- package/dist/protect-timeshift.js.map +1 -1
- package/dist/protect-types.d.ts +1 -0
- package/dist/protect-types.js +1 -0
- package/dist/protect-types.js.map +1 -1
- package/dist/protect-viewer.js +2 -3
- package/dist/protect-viewer.js.map +1 -1
- package/dist/settings.d.ts +2 -1
- package/dist/settings.js +5 -3
- package/dist/settings.js.map +1 -1
- package/homebridge-ui/public/index.html +12 -1
- package/homebridge-ui/public/lib/featureoptions.mjs +2 -1
- package/homebridge-ui/public/protect-featureoptions.mjs +12 -7
- package/homebridge-ui/public/ui.mjs +2 -4
- package/homebridge-ui/server.js +10 -3
- package/package.json +12 -12
package/dist/protect-platform.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PROTECT_FFMPEG_OPTIONS, PROTECT_MQTT_TOPIC
|
|
1
|
+
import { PROTECT_FFMPEG_OPTIONS, PROTECT_MQTT_TOPIC } from "./settings.js";
|
|
2
2
|
import { featureOptionCategories, featureOptions } from "./protect-options.js";
|
|
3
3
|
import { FfmpegCodecs } from "./protect-ffmpeg-codecs.js";
|
|
4
4
|
import { ProtectNvr } from "./protect-nvr.js";
|
|
@@ -13,9 +13,9 @@ export class ProtectPlatform {
|
|
|
13
13
|
api;
|
|
14
14
|
codecSupport;
|
|
15
15
|
config;
|
|
16
|
-
configOptions;
|
|
17
16
|
controllers;
|
|
18
17
|
featureOptionDefaults;
|
|
18
|
+
featureOptions;
|
|
19
19
|
log;
|
|
20
20
|
rtpPorts;
|
|
21
21
|
_hostSystem;
|
|
@@ -24,18 +24,12 @@ export class ProtectPlatform {
|
|
|
24
24
|
this._hostSystem = "";
|
|
25
25
|
this.accessories = [];
|
|
26
26
|
this.api = api;
|
|
27
|
-
this.configOptions = [];
|
|
28
27
|
this.controllers = [];
|
|
29
28
|
this.featureOptionDefaults = {};
|
|
29
|
+
this.featureOptions = [];
|
|
30
30
|
this.log = log;
|
|
31
31
|
this.rtpPorts = new RtpPortAllocator();
|
|
32
32
|
this.verboseFfmpeg = false;
|
|
33
|
-
// Build our list of default values for our feature options.
|
|
34
|
-
for (const category of featureOptionCategories) {
|
|
35
|
-
for (const options of featureOptions[category.name]) {
|
|
36
|
-
this.featureOptionDefaults[(category.name + (options.name.length ? "." + options.name : "")).toLowerCase()] = options.default;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
33
|
// We can't start without being configured.
|
|
40
34
|
if (!config) {
|
|
41
35
|
return;
|
|
@@ -46,7 +40,7 @@ export class ProtectPlatform {
|
|
|
46
40
|
debugAll: config.debug === true,
|
|
47
41
|
ffmpegOptions: config.ffmpegOptions ?? PROTECT_FFMPEG_OPTIONS,
|
|
48
42
|
options: config.options,
|
|
49
|
-
|
|
43
|
+
ringDelay: config.ringDelay ?? 0,
|
|
50
44
|
verboseFfmpeg: config.verboseFfmpeg === true,
|
|
51
45
|
videoEncoder: config.videoEncoder,
|
|
52
46
|
videoProcessor: config.videoProcessor ?? ffmpegPath ?? "ffmpeg"
|
|
@@ -63,16 +57,18 @@ export class ProtectPlatform {
|
|
|
63
57
|
this.verboseFfmpeg = true;
|
|
64
58
|
this.log.info("Verbose logging of video streaming sessions enabled. Expect a lot of data.");
|
|
65
59
|
}
|
|
60
|
+
// Build our list of default values for our feature options.
|
|
61
|
+
for (const category of featureOptionCategories) {
|
|
62
|
+
for (const options of featureOptions[category.name]) {
|
|
63
|
+
this.featureOptionDefaults[(category.name + (options.name.length ? "." + options.name : "")).toLowerCase()] = options.default;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
66
|
// If we have feature options, put them into their own array, lower-cased for future reference.
|
|
67
67
|
if (this.config.options) {
|
|
68
68
|
for (const featureOption of this.config.options) {
|
|
69
|
-
this.
|
|
69
|
+
this.featureOptions.push(featureOption.toLowerCase());
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
// Ring trigger duration. Make sure it's never less than 3 seconds so we can ensure automations work.
|
|
73
|
-
if (this.config.ringDuration < 3) {
|
|
74
|
-
this.config.ringDuration = 3;
|
|
75
|
-
}
|
|
76
72
|
// Loop through each configured NVR and instantiate it.
|
|
77
73
|
for (const controllerConfig of this.config.controllers) {
|
|
78
74
|
// We need an address, or there's nothing to do.
|
|
@@ -95,8 +91,8 @@ export class ProtectPlatform {
|
|
|
95
91
|
this.probeHwOs();
|
|
96
92
|
// Probe our FFmpeg capabilities.
|
|
97
93
|
this.codecSupport = new FfmpegCodecs(this);
|
|
98
|
-
// Avoid a prospective race condition by waiting to configure our controllers until Homebridge is done loading all the cached accessories it knows about,
|
|
99
|
-
//
|
|
94
|
+
// Avoid a prospective race condition by waiting to configure our controllers until Homebridge is done loading all the cached accessories it knows about, and calling
|
|
95
|
+
// configureAccessory() on each.
|
|
100
96
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
101
97
|
api.on("didFinishLaunching" /* APIEvent.DID_FINISH_LAUNCHING */, this.launchControllers.bind(this));
|
|
102
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-platform.js","sourceRoot":"","sources":["../src/protect-platform.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"protect-platform.js","sourceRoot":"","sources":["../src/protect-platform.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-record.js
CHANGED
|
@@ -66,9 +66,9 @@ export class ProtectRecordingDelegate {
|
|
|
66
66
|
// Inform the user of the state change, if needed.
|
|
67
67
|
if (!this.isInitialized) {
|
|
68
68
|
this.isInitialized = true;
|
|
69
|
-
this.log.info("HomeKit Secure Video %sevent recording enabled: %s, %s kbps
|
|
70
|
-
"
|
|
71
|
-
"no timeshift buffer. This will provide a suboptimal HKSV experience.");
|
|
69
|
+
this.log.info("HomeKit Secure Video %sevent recording enabled: %s, %s kbps %s", this.protectCamera.hints.hardwareTranscoding ? "hardware-accelerated " : "", this.rtspEntry?.name, this.recordingConfig?.videoCodec.parameters.bitRate.toLocaleString("en-US"), this.protectCamera.hints.timeshift ?
|
|
70
|
+
"(" + (this.timeshift.length / 1000).toString() + " second timeshift buffer)." :
|
|
71
|
+
"with no timeshift buffer. This will provide a suboptimal HKSV experience.");
|
|
72
72
|
// Inform the user if there's a maximum event recording duration set.
|
|
73
73
|
if (this.maxRecordingDuration) {
|
|
74
74
|
this.log.info("HomeKit Secure Video recordings will be no longer than ~%s seconds.", this.maxRecordingDuration);
|
|
@@ -186,7 +186,7 @@ export class ProtectRecordingDelegate {
|
|
|
186
186
|
}
|
|
187
187
|
// Fire up the timeshift buffer. If we've got multiple lenses, we use the first channel and explicitly request the lens we want.
|
|
188
188
|
if (!(await this.timeshift.start((this.rtspEntry.lens === undefined) ? this.rtspEntry.channel.id : 0, this.rtspEntry.lens))) {
|
|
189
|
-
this.log.error("%s.", timeshiftError);
|
|
189
|
+
this.log.error("%s: unable to connect to the livestream API on the Protect controller.", timeshiftError);
|
|
190
190
|
return false;
|
|
191
191
|
}
|
|
192
192
|
return true;
|
|
@@ -226,7 +226,7 @@ export class ProtectRecordingDelegate {
|
|
|
226
226
|
// Check to make sure something didn't go wrong when we start transmitting the stream.
|
|
227
227
|
if (!(await this.timeshift.startTransmitting())) {
|
|
228
228
|
// Stop our FFmpeg process and our timeshift buffer.
|
|
229
|
-
this.ffmpegStream
|
|
229
|
+
this.ffmpegStream?.stop();
|
|
230
230
|
this.timeshift.stop();
|
|
231
231
|
// Ensure we cleanup.
|
|
232
232
|
this.ffmpegStream = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-record.js","sourceRoot":"","sources":["../src/protect-record.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protect-record.js","sourceRoot":"","sources":["../src/protect-record.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-rtp.js
CHANGED
|
@@ -9,14 +9,13 @@ import { EventEmitter, once } from "node:events";
|
|
|
9
9
|
import { PROTECT_TWOWAY_HEARTBEAT_INTERVAL } from "./settings.js";
|
|
10
10
|
import { createSocket } from "node:dgram";
|
|
11
11
|
/*
|
|
12
|
-
* Here's the problem this class solves: FFmpeg doesn't support multiplexing RTP and RTCP data on a single UDP port (RFC 5761).
|
|
13
|
-
*
|
|
12
|
+
* Here's the problem this class solves: FFmpeg doesn't support multiplexing RTP and RTCP data on a single UDP port (RFC 5761). If it did, we wouldn't need this
|
|
13
|
+
* workaround for HomeKit compatibility, which does multiplex RTP and RTCP over a single UDP port.
|
|
14
14
|
*
|
|
15
15
|
* This class inspects all packets coming in from inputPort and demultiplexes RTP and RTCP traffic to rtpPort and rtcpPort, respectively.
|
|
16
16
|
*
|
|
17
|
-
* Credit to @dgreif and @brandawg93 who graciously shared their code as a starting point, and their collaboration
|
|
18
|
-
*
|
|
19
|
-
* discussion and brainstorming on this and other topics.
|
|
17
|
+
* Credit to @dgreif and @brandawg93 who graciously shared their code as a starting point, and their collaboration in answering the questions needed to bring all this
|
|
18
|
+
* together. A special thank you to @Sunoo for the many hours of discussion and brainstorming on this and other topics.
|
|
20
19
|
*/
|
|
21
20
|
export class RtpDemuxer extends EventEmitter {
|
|
22
21
|
delegate;
|
|
@@ -98,7 +97,10 @@ export class RtpDemuxer extends EventEmitter {
|
|
|
98
97
|
return this._isRunning;
|
|
99
98
|
}
|
|
100
99
|
}
|
|
101
|
-
|
|
100
|
+
/* RTP port allocator class that keeps track of UDP ports that are currently earmarked for use. We need this when allocating ports that we use for various network
|
|
101
|
+
* activities such as demuxing FFmpeg or opening up other sockets. Otherwise, we run a risk (especially in environment where there are many such requests) of allocating
|
|
102
|
+
* the same port multiple times and end up erroring out unceremoniously.
|
|
103
|
+
*/
|
|
102
104
|
export class RtpPortAllocator {
|
|
103
105
|
portsInUse;
|
|
104
106
|
// Instantiate our port retrieval.
|
package/dist/protect-rtp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-rtp.js","sourceRoot":"","sources":["../src/protect-rtp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"protect-rtp.js","sourceRoot":"","sources":["../src/protect-rtp.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-sensor.js
CHANGED
|
@@ -44,7 +44,7 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
44
44
|
// We don't have the battery service, let's add it to the sensor.
|
|
45
45
|
if (!batteryService) {
|
|
46
46
|
// We don't have it, add it to the sensor.
|
|
47
|
-
batteryService = new this.hap.Service.Battery(this.
|
|
47
|
+
batteryService = new this.hap.Service.Battery(this.accessoryName);
|
|
48
48
|
if (!batteryService) {
|
|
49
49
|
this.log.error("Unable to add the battery service.");
|
|
50
50
|
return false;
|
|
@@ -58,6 +58,9 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
58
58
|
batteryService.getCharacteristic(this.hap.Characteristic.StatusLowBattery)?.onGet(() => {
|
|
59
59
|
return this.ufp.batteryStatus?.isLow ?? false;
|
|
60
60
|
});
|
|
61
|
+
// Initialize our name.
|
|
62
|
+
batteryService.displayName = this.accessoryName;
|
|
63
|
+
batteryService.updateCharacteristic(this.hap.Characteristic.Name, this.accessoryName);
|
|
61
64
|
// Initialize the battery state.
|
|
62
65
|
this.updateBatteryStatus();
|
|
63
66
|
return true;
|
|
@@ -117,9 +120,9 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
117
120
|
}
|
|
118
121
|
return false;
|
|
119
122
|
}
|
|
123
|
+
const contactName = this.accessoryName + " Alarm Sound";
|
|
120
124
|
// Add the service to the accessory, if needed.
|
|
121
125
|
if (!contactService) {
|
|
122
|
-
const contactName = this.accessory.displayName + " Alarm Sound";
|
|
123
126
|
contactService = new this.hap.Service.ContactSensor(contactName, ProtectReservedNames.CONTACT_SENSOR_ALARM_SOUND);
|
|
124
127
|
if (!contactService) {
|
|
125
128
|
this.log.error("Unable to add alarm sound contact sensor.");
|
|
@@ -134,6 +137,10 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
134
137
|
contactService.getCharacteristic(this.hap.Characteristic.ContactSensorState)?.onGet(() => {
|
|
135
138
|
return this.alarmDetected;
|
|
136
139
|
});
|
|
140
|
+
// Initialize our name.
|
|
141
|
+
contactService.displayName = contactName;
|
|
142
|
+
contactService.updateCharacteristic(this.hap.Characteristic.Name, contactName);
|
|
143
|
+
contactService.updateCharacteristic(this.hap.Characteristic.ConfiguredName, contactName);
|
|
137
144
|
// Update the sensor.
|
|
138
145
|
contactService.updateCharacteristic(this.hap.Characteristic.ContactSensorState, this.alarmDetected);
|
|
139
146
|
// Update the state characteristics.
|
|
@@ -154,7 +161,7 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
154
161
|
}
|
|
155
162
|
// Add the service to the accessory, if needed.
|
|
156
163
|
if (!lightService) {
|
|
157
|
-
lightService = new this.hap.Service.LightSensor(this.
|
|
164
|
+
lightService = new this.hap.Service.LightSensor(this.accessoryName);
|
|
158
165
|
if (!lightService) {
|
|
159
166
|
this.log.error("Unable to add ambient light sensor.");
|
|
160
167
|
return false;
|
|
@@ -165,12 +172,13 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
165
172
|
// Retrieve the current light level when requested.
|
|
166
173
|
lightService.getCharacteristic(this.hap.Characteristic.CurrentAmbientLightLevel)?.onGet(() => {
|
|
167
174
|
// The minimum value for ambient light in HomeKit is 0.0001. I have no idea why...but it is. Honor it.
|
|
168
|
-
|
|
169
|
-
return value >= 0.0001 ? value : 0.0001;
|
|
175
|
+
return this.ambientLight >= 0.0001 ? this.ambientLight : 0.0001;
|
|
170
176
|
});
|
|
177
|
+
// Initialize our name.
|
|
178
|
+
lightService.displayName = this.accessoryName;
|
|
179
|
+
lightService.updateCharacteristic(this.hap.Characteristic.Name, this.accessoryName);
|
|
171
180
|
// Update the sensor. The minimum value for ambient light in HomeKit is 0.0001. I have no idea why...but it is. Honor it.
|
|
172
|
-
|
|
173
|
-
lightService.updateCharacteristic(this.hap.Characteristic.CurrentAmbientLightLevel, value >= 0.0001 ? value : 0.0001);
|
|
181
|
+
lightService.updateCharacteristic(this.hap.Characteristic.CurrentAmbientLightLevel, this.ambientLight >= 0.0001 ? this.ambientLight : 0.0001);
|
|
174
182
|
// Update the state characteristics.
|
|
175
183
|
this.configureStateCharacteristics(lightService);
|
|
176
184
|
return true;
|
|
@@ -189,7 +197,7 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
189
197
|
}
|
|
190
198
|
// Add the service to the accessory, if needed.
|
|
191
199
|
if (!contactService) {
|
|
192
|
-
contactService = new this.hap.Service.ContactSensor(this.
|
|
200
|
+
contactService = new this.hap.Service.ContactSensor(this.accessoryName, ProtectReservedNames.CONTACT_SENSOR);
|
|
193
201
|
if (!contactService) {
|
|
194
202
|
this.log.error("Unable to add contact sensor.");
|
|
195
203
|
return false;
|
|
@@ -201,6 +209,9 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
201
209
|
contactService.getCharacteristic(this.hap.Characteristic.ContactSensorState)?.onGet(() => {
|
|
202
210
|
return this.contact;
|
|
203
211
|
});
|
|
212
|
+
// Initialize our name.
|
|
213
|
+
contactService.displayName = this.accessoryName;
|
|
214
|
+
contactService.updateCharacteristic(this.hap.Characteristic.Name, this.accessoryName);
|
|
204
215
|
// Update the sensor.
|
|
205
216
|
contactService.updateCharacteristic(this.hap.Characteristic.ContactSensorState, this.contact);
|
|
206
217
|
// Update the state characteristics.
|
|
@@ -221,7 +232,7 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
221
232
|
}
|
|
222
233
|
// Add the service to the accessory, if needed.
|
|
223
234
|
if (!humidityService) {
|
|
224
|
-
humidityService = new this.hap.Service.HumiditySensor(this.
|
|
235
|
+
humidityService = new this.hap.Service.HumiditySensor(this.accessoryName);
|
|
225
236
|
if (!humidityService) {
|
|
226
237
|
this.log.error("Unable to add humidity sensor.");
|
|
227
238
|
return false;
|
|
@@ -231,12 +242,13 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
231
242
|
}
|
|
232
243
|
// Retrieve the current humidity when requested.
|
|
233
244
|
humidityService.getCharacteristic(this.hap.Characteristic.CurrentRelativeHumidity)?.onGet(() => {
|
|
234
|
-
|
|
235
|
-
return value < 0 ? 0 : value;
|
|
245
|
+
return this.humidity < 0 ? 0 : this.humidity;
|
|
236
246
|
});
|
|
247
|
+
// Initialize our name.
|
|
248
|
+
humidityService.displayName = this.accessoryName;
|
|
249
|
+
humidityService.updateCharacteristic(this.hap.Characteristic.Name, this.accessoryName);
|
|
237
250
|
// Update the sensor.
|
|
238
|
-
|
|
239
|
-
humidityService.updateCharacteristic(this.hap.Characteristic.CurrentRelativeHumidity, value < 0 ? 0 : value);
|
|
251
|
+
humidityService.updateCharacteristic(this.hap.Characteristic.CurrentRelativeHumidity, this.humidity < 0 ? 0 : this.humidity);
|
|
240
252
|
// Update the state characteristics.
|
|
241
253
|
this.configureStateCharacteristics(humidityService);
|
|
242
254
|
return true;
|
|
@@ -255,7 +267,7 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
255
267
|
}
|
|
256
268
|
// Add the service to the accessory, if needed.
|
|
257
269
|
if (!leakService) {
|
|
258
|
-
leakService = new this.hap.Service.LeakSensor(this.
|
|
270
|
+
leakService = new this.hap.Service.LeakSensor(this.accessoryName);
|
|
259
271
|
if (!leakService) {
|
|
260
272
|
this.log.error("Unable to add leak sensor.");
|
|
261
273
|
return false;
|
|
@@ -267,6 +279,9 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
267
279
|
leakService.getCharacteristic(this.hap.Characteristic.LeakDetected)?.onGet(() => {
|
|
268
280
|
return this.leakDetected;
|
|
269
281
|
});
|
|
282
|
+
// Initialize our name.
|
|
283
|
+
leakService.displayName = this.accessoryName;
|
|
284
|
+
leakService.updateCharacteristic(this.hap.Characteristic.Name, this.accessoryName);
|
|
270
285
|
// Update the sensor.
|
|
271
286
|
leakService.updateCharacteristic(this.hap.Characteristic.LeakDetected, this.leakDetected);
|
|
272
287
|
// Update the state characteristics.
|
|
@@ -287,7 +302,7 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
287
302
|
}
|
|
288
303
|
// Add the service to the accessory, if needed.
|
|
289
304
|
if (!temperatureService) {
|
|
290
|
-
temperatureService = new this.hap.Service.TemperatureSensor(this.
|
|
305
|
+
temperatureService = new this.hap.Service.TemperatureSensor(this.accessoryName);
|
|
291
306
|
if (!temperatureService) {
|
|
292
307
|
this.log.error("Unable to add temperature sensor.");
|
|
293
308
|
return false;
|
|
@@ -297,12 +312,13 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
297
312
|
}
|
|
298
313
|
// Retrieve the current temperature when requested.
|
|
299
314
|
temperatureService.getCharacteristic(this.hap.Characteristic.CurrentTemperature)?.onGet(() => {
|
|
300
|
-
|
|
301
|
-
return value < 0 ? 0 : value;
|
|
315
|
+
return this.temperature < 0 ? 0 : this.temperature;
|
|
302
316
|
});
|
|
317
|
+
// Initialize our name.
|
|
318
|
+
temperatureService.displayName = this.accessoryName;
|
|
319
|
+
temperatureService.updateCharacteristic(this.hap.Characteristic.Name, this.accessoryName);
|
|
303
320
|
// Update the sensor.
|
|
304
|
-
|
|
305
|
-
temperatureService.updateCharacteristic(this.hap.Characteristic.CurrentTemperature, value < 0 ? 0 : value);
|
|
321
|
+
temperatureService.updateCharacteristic(this.hap.Characteristic.CurrentTemperature, this.temperature < 0 ? 0 : this.temperature);
|
|
306
322
|
// Update the state characteristics.
|
|
307
323
|
this.configureStateCharacteristics(temperatureService);
|
|
308
324
|
return true;
|
|
@@ -366,14 +382,12 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
366
382
|
}
|
|
367
383
|
// Get the current contact sensor information.
|
|
368
384
|
get contact() {
|
|
369
|
-
// Return true if we are open.
|
|
370
|
-
const value = this.ufp.isOpened;
|
|
371
385
|
// Save the state change and publish to MQTT.
|
|
372
|
-
if (
|
|
373
|
-
this.lastContact =
|
|
374
|
-
this.nvr.mqtt?.publish(this.accessory, "contact",
|
|
386
|
+
if (this.ufp.isOpened !== this.lastContact) {
|
|
387
|
+
this.lastContact = this.ufp.isOpened;
|
|
388
|
+
this.nvr.mqtt?.publish(this.accessory, "contact", this.ufp.isOpened.toString());
|
|
375
389
|
}
|
|
376
|
-
return
|
|
390
|
+
return this.ufp.isOpened;
|
|
377
391
|
}
|
|
378
392
|
// Get the current humidity information.
|
|
379
393
|
get humidity() {
|
|
@@ -425,7 +439,7 @@ export class ProtectSensor extends ProtectDevice {
|
|
|
425
439
|
eventHandler(packet) {
|
|
426
440
|
const payload = packet.payload;
|
|
427
441
|
// It's a motion event - process it accordingly.
|
|
428
|
-
if (payload.
|
|
442
|
+
if (payload.motionDetectedAt) {
|
|
429
443
|
this.nvr.events.motionEventHandler(this, payload.motionDetectedAt);
|
|
430
444
|
}
|
|
431
445
|
// Process it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-sensor.js","sourceRoot":"","sources":["../src/protect-sensor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protect-sensor.js","sourceRoot":"","sources":["../src/protect-sensor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,OAAO,aAAc,SAAQ,aAAa;IAEtC,SAAS,CAAW;IACpB,WAAW,CAAW;IACtB,QAAQ,CAAW;IACpB,GAAG,CAAsB;IAEhC,sBAAsB;IACtB,YAAY,GAAe,EAAE,MAA2B,EAAE,SAA4B;QAEpF,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAEtB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAElB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,6DAA6D;IACrD,eAAe;QAErB,mEAAmE;QACnE,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAE9C,mCAAmC;QACnC,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,gCAAgC;QAChC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,wDAAwD;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEhD,2BAA2B;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,qBAAqB;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9H,kDAAkD;QAClD,IAAG,cAAc,CAAC,MAAM,EAAE;YAExB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACzG;aAAM;YAEL,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;SACtC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAiD;IACzC,uBAAuB;QAE7B,0CAA0C;QAC1C,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEzE,iEAAiE;QACjE,IAAG,CAAC,cAAc,EAAE;YAElB,0CAA0C;YAC1C,cAAc,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAElE,IAAG,CAAC,cAAc,EAAE;gBAElB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACrD,OAAO,KAAK,CAAC;aACd;YAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC3C;QAED,sDAAsD;QACtD,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAErF,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAErF,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,IAAI,KAAK,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;QAChD,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEtF,gCAAgC;QAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAiD;IAC1C,YAAY,CAAC,aAAa,GAAG,IAAI;QAEtC,MAAM,cAAc,GAAa,EAAE,CAAC;QAEpC,+CAA+C;QAC/C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,oCAAoC;QACpC,IAAG,IAAI,CAAC,yBAAyB,EAAE,EAAE;YAEnC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACpC;QAED,sCAAsC;QACtC,IAAG,IAAI,CAAC,2BAA2B,EAAE,EAAE;YAErC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACtC;QAED,gCAAgC;QAChC,IAAG,IAAI,CAAC,sBAAsB,EAAE,EAAE;YAEhC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChC;QAED,iCAAiC;QACjC,IAAG,IAAI,CAAC,uBAAuB,EAAE,EAAE;YAEjC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACjC;QAED,oCAAoC;QACpC,IAAG,IAAI,CAAC,mBAAmB,EAAE,EAAE;YAE7B,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC7B;QAED,+BAA+B;QAC/B,IAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE;YAEhF,8GAA8G;YAC9G,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAE/E,IAAG,aAAa,EAAE;gBAEhB,oCAAoC;gBACpC,IAAI,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;aACnD;YAED,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACtC;QAED,kCAAkC;QAClC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEjF,oCAAoC;QACpC,IAAG,IAAI,CAAC,0BAA0B,EAAE,EAAE;YAEpC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACpC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,gDAAgD;IACxC,yBAAyB;QAE/B,kCAAkC;QAClC,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;QAEpI,2CAA2C;QAC3C,IAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE;YAErC,IAAG,cAAc,EAAE;gBAEjB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;aACxD;YAED,OAAO,KAAK,CAAC;SACd;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;QAExD,+CAA+C;QAC/C,IAAG,CAAC,cAAc,EAAE;YAElB,cAAc,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,EAAE,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;YAElH,IAAG,CAAC,cAAc,EAAE;gBAElB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;aACd;YAED,cAAc,CAAC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACjF,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;YACzF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAE1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;SACvD;QAED,4DAA4D;QAC5D,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAEvF,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,cAAc,CAAC,WAAW,GAAG,WAAW,CAAC;QACzC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC/E,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAEzF,qBAAqB;QACrB,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEpG,oCAAoC;QACpC,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kDAAkD;IAC1C,2BAA2B;QAEjC,kCAAkC;QAClC,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE3E,qCAAqC;QACrC,IAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE;YAErC,IAAG,YAAY,EAAE;gBAEf,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;aAClD;YAED,OAAO,KAAK,CAAC;SACd;QAED,+CAA+C;QAC/C,IAAG,CAAC,YAAY,EAAE;YAEhB,YAAY,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEpE,IAAG,CAAC,YAAY,EAAE;gBAEhB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACtD,OAAO,KAAK,CAAC;aACd;YAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;SACjD;QAED,mDAAmD;QACnD,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAE3F,sGAAsG;YACtG,OAAO,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;QAC9C,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEpF,yHAAyH;QACzH,YAAY,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,wBAAwB,EAAE,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAE9I,oCAAoC;QACpC,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4CAA4C;IACpC,sBAAsB;QAE5B,kCAAkC;QAClC,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;QAExH,qEAAqE;QACrE,IAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE;YAE5F,IAAG,cAAc,EAAE;gBAEjB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;aAC5C;YAED,OAAO,KAAK,CAAC;SACd;QAED,+CAA+C;QAC/C,IAAG,CAAC,cAAc,EAAE;YAElB,cAAc,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;YAE7G,IAAG,CAAC,cAAc,EAAE;gBAElB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBAChD,OAAO,KAAK,CAAC;aACd;YAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;SAC3C;QAED,4DAA4D;QAC5D,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAEvF,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;QAChD,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEtF,qBAAqB;QACrB,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE9F,oCAAoC;QACpC,IAAI,CAAC,6BAA6B,CAAC,cAAc,CAAC,CAAC;QAEnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6CAA6C;IACrC,uBAAuB;QAE7B,kCAAkC;QAClC,IAAI,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEjF,+BAA+B;QAC/B,IAAG,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,SAAS,EAAE;YAExC,IAAG,eAAe,EAAE;gBAElB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;gBAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;aAC7C;YAED,OAAO,KAAK,CAAC;SACd;QAED,+CAA+C;QAC/C,IAAG,CAAC,eAAe,EAAE;YAEnB,eAAe,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAE1E,IAAG,CAAC,eAAe,EAAE;gBAEnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;gBACjD,OAAO,KAAK,CAAC;aACd;YAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAC3C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;SAC5C;QAED,gDAAgD;QAChD,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAE7F,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;QACjD,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEvF,qBAAqB;QACrB,eAAe,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,uBAAuB,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE7H,oCAAoC;QACpC,IAAI,CAAC,6BAA6B,CAAC,eAAe,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yCAAyC;IACjC,mBAAmB;QAEzB,kCAAkC;QAClC,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEzE,oCAAoC;QACpC,IAAG,IAAI,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE;YAEhC,IAAG,WAAW,EAAE;gBAEd,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;aACzC;YAED,OAAO,KAAK,CAAC;SACd;QAED,+CAA+C;QAC/C,IAAG,CAAC,WAAW,EAAE;YAEf,WAAW,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAElE,IAAG,CAAC,WAAW,EAAE;gBAEf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC7C,OAAO,KAAK,CAAC;aACd;YAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAEvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACxC;QAED,4DAA4D;QAC5D,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAE9E,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;QAC7C,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEnF,qBAAqB;QACrB,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAE1F,oCAAoC;QACpC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAgD;IACxC,0BAA0B;QAEhC,kCAAkC;QAClC,IAAI,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEvF,2CAA2C;QAC3C,IAAG,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,SAAS,EAAE;YAE3C,IAAG,kBAAkB,EAAE;gBAErB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;gBACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;aAChD;YAED,OAAO,KAAK,CAAC;SACd;QAED,+CAA+C;QAC/C,IAAG,CAAC,kBAAkB,EAAE;YAEtB,kBAAkB,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEhF,IAAG,CAAC,kBAAkB,EAAE;gBAEtB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBACpD,OAAO,KAAK,CAAC;aACd;YAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;SAC/C;QAED,mDAAmD;QACnD,kBAAkB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAE3F,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;QACpD,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE1F,qBAAqB;QACrB,kBAAkB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjI,oCAAoC;QACpC,IAAI,CAAC,6BAA6B,CAAC,kBAAkB,CAAC,CAAC;QAEvD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qDAAqD;IAC7C,qBAAqB,CAAC,OAAgB;QAE5C,yDAAyD;QACzD,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAE1E,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,wCAAwC;QACxC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAwC;IAChC,mBAAmB;QAEzB,0CAA0C;QAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE3E,iDAAiD;QACjD,IAAG,CAAC,cAAc,EAAE;YAElB,OAAO,KAAK,CAAC;SACd;QAED,6BAA6B;QAC7B,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;QACnH,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAE7G,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAA0C;IAClC,uBAAuB,CAAC,OAAgB;QAE9C,qDAAqD;QACrD,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE;YAE5E,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,IAAI,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC;QAE5G,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6DAA6D;IACrD,6BAA6B,CAAC,OAAgB;QAEpD,uCAAuC;QACvC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAEpC,4BAA4B;QAC5B,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qDAAqD;IACrD,IAAY,aAAa;QAEvB,iEAAiE;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,KAAK,IAAI,CAAC;QAEjD,6CAA6C;QAC7C,IAAG,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;YAE3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAElE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SAC/D;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6CAA6C;IAC7C,IAAY,YAAY;QAEtB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,8CAA8C;IAC9C,IAAY,OAAO;QAEjB,6CAA6C;QAC7C,IAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,EAAE;YAEzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;SACjF;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,wCAAwC;IACxC,IAAY,QAAQ;QAElB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,2CAA2C;IAC3C,IAAY,YAAY;QAEtB,oEAAoE;QACpE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,KAAK,IAAI,CAAC;QAE/C,yIAAyI;QACzI,IAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE;YAE1C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,OAAO,KAAK,CAAC;SACd;QAED,6CAA6C;QAC7C,IAAG,KAAK,KAAK,IAAI,CAAC,QAAQ,EAAE;YAE1B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAEjE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;SAC9D;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2CAA2C;IAC3C,IAAY,WAAW;QAErB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,2CAA2C;IACnC,aAAa;QAEnB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,EAAE;YAErF,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE;YAE3F,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,EAAE;YAEvF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,EAAE;YAElF,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE;YAEnF,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE;YAExF,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAgC;IACxB,YAAY,CAAC,MAA0B;QAE7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAqC,CAAC;QAE7D,gDAAgD;QAChD,IAAG,OAAO,CAAC,gBAAgB,EAAE;YAE3B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;SACpE;QAED,cAAc;QACd,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -40,18 +40,16 @@ export class ProtectTimeshiftBuffer extends EventEmitter {
|
|
|
40
40
|
let seenInitSegment = false;
|
|
41
41
|
// If the livestream API has closed, stop what we're doing.
|
|
42
42
|
this.livestream.on("close", () => {
|
|
43
|
-
this.log.error("The
|
|
44
|
-
"This is typically due to
|
|
43
|
+
this.log.error("The livestream API connection was unexpectedly closed by the Protect controller. " +
|
|
44
|
+
"This is typically due to device restarts or issues with Protect controller firmware versions, and can be safely ignored. Will retry again shortly.");
|
|
45
45
|
this.stop();
|
|
46
46
|
});
|
|
47
47
|
// First, we need to listen for any segments sent by the UniFi Protect livestream in order to create our timeshift buffer.
|
|
48
48
|
this.livestream.on("message", (segment) => {
|
|
49
|
-
// Crucially, we don't want to keep any initialization segment (which is always composed of
|
|
50
|
-
//
|
|
51
|
-
//
|
|
52
|
-
//
|
|
53
|
-
// do is ensure we don't include them in our timeshift buffer. There should only ever be a single
|
|
54
|
-
// initialization segment, so once we've seen one, we don't need to worry about it again.
|
|
49
|
+
// Crucially, we don't want to keep any initialization segment (which is always composed of FTYP and MOOV boxes) in our timeshift buffer. The reason for this is
|
|
50
|
+
// that these boxes are special in the fMP4 world and must be transmitted at the beginning of any new fMP4 stream. So what do we do? The livestream saves the
|
|
51
|
+
// initialization segment for us, so all we need to do is ensure we don't include them in our timeshift buffer. There should only ever be a single initialization
|
|
52
|
+
//segment, so once we've seen one, we don't need to worry about it again.
|
|
55
53
|
if (!seenInitSegment && this.livestream.initSegment?.equals(segment)) {
|
|
56
54
|
seenInitSegment = true;
|
|
57
55
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-timeshift.js","sourceRoot":"","sources":["../src/protect-timeshift.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,+BAA+B,EAAE,MAAM,eAAe,CAAC;AAOhE,6CAA6C;AAC7C,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IAErC,SAAS,CAAoB;IACtC,MAAM,CAAW;IACjB,UAAU,CAAS;IACnB,SAAS,CAAS;IACT,UAAU,CAAoB;IAC9B,GAAG,CAAiB;IACpB,GAAG,CAAa;IAChB,aAAa,CAAgB;IACtC,UAAU,CAAU;IACpB,eAAe,CAAU;IACzB,cAAc,CAAS;IAE/B,YAAY,aAA4B;QAEtC,gCAAgC;QAChC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC9D,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,+HAA+H;QAC/H,8HAA8H;QAC9H,IAAI,CAAC,cAAc,GAAG,+BAA+B,CAAC;QAEtD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,kCAAkC;IAC1B,wBAAwB;QAE9B,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,2DAA2D;QAC3D,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAE/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"protect-timeshift.js","sourceRoot":"","sources":["../src/protect-timeshift.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-types.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export type ProtectDeviceConfigTypes = ProtectCameraConfig | ProtectChimeConfig
|
|
|
15
15
|
export type ProtectDevices = ProtectCamera | ProtectChime | ProtectDoorbell | ProtectLight | ProtectSensor | ProtectViewer;
|
|
16
16
|
export declare enum ProtectReservedNames {
|
|
17
17
|
CONTACT_MOTION_SMARTDETECT = "ContactMotionSmartDetect",
|
|
18
|
+
CONTACT_MOTION_SMARTDETECT_LICENSE = "ContactMotionSmartDetectLicense",
|
|
18
19
|
CONTACT_SENSOR = "ContactSensor",
|
|
19
20
|
CONTACT_SENSOR_ALARM_SOUND = "ContactAlarmSound",
|
|
20
21
|
SWITCH_DOORBELL_CHIME_DIGITAL = "DoorbellChime.digital",
|
package/dist/protect-types.js
CHANGED
|
@@ -7,6 +7,7 @@ export var ProtectReservedNames;
|
|
|
7
7
|
(function (ProtectReservedNames) {
|
|
8
8
|
// Manage our contact sensor types.
|
|
9
9
|
ProtectReservedNames["CONTACT_MOTION_SMARTDETECT"] = "ContactMotionSmartDetect";
|
|
10
|
+
ProtectReservedNames["CONTACT_MOTION_SMARTDETECT_LICENSE"] = "ContactMotionSmartDetectLicense";
|
|
10
11
|
ProtectReservedNames["CONTACT_SENSOR"] = "ContactSensor";
|
|
11
12
|
ProtectReservedNames["CONTACT_SENSOR_ALARM_SOUND"] = "ContactAlarmSound";
|
|
12
13
|
// Manage our switch types.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-types.js","sourceRoot":"","sources":["../src/protect-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,uBAAuB;AACvB,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"protect-types.js","sourceRoot":"","sources":["../src/protect-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,uBAAuB;AACvB,MAAM,CAAN,IAAY,oBAoBX;AApBD,WAAY,oBAAoB;IAE9B,mCAAmC;IACnC,+EAAuD,CAAA;IACvD,8FAAsE,CAAA;IACtE,wDAAgC,CAAA;IAChC,wEAAgD,CAAA;IAEhD,2BAA2B;IAC3B,+EAAuD,CAAA;IACvD,qFAA6D,CAAA;IAC7D,yEAAiD,CAAA;IACjD,mEAA2C,CAAA;IAC3C,iEAAyC,CAAA;IACzC,qEAA6C,CAAA;IAC7C,mEAA2C,CAAA;IAC3C,qEAA6C,CAAA;IAC7C,iFAAyD,CAAA;IACzD,yFAAiE,CAAA;IACjE,+EAAuD,CAAA;AACzD,CAAC,EApBW,oBAAoB,KAApB,oBAAoB,QAoB/B"}
|
package/dist/protect-viewer.js
CHANGED
|
@@ -41,8 +41,7 @@ export class ProtectViewer extends ProtectDevice {
|
|
|
41
41
|
currentLiveviewSwitches.filter(x => !nvrLiveviewIds?.includes(x.subtype ?? "")).map(x => this.accessory.removeService(x));
|
|
42
42
|
// Identify what needs to be added to HomeKit that isn't already there, and add them.
|
|
43
43
|
this.addLiveviewSwitch(nvrLiveviewIds?.filter(x => !currentLiveviewSwitches.filter(liveviewSwitch => liveviewSwitch.subtype === x).length) ?? []);
|
|
44
|
-
// Finally, reflect the state of the liveview that's currently enabled.
|
|
45
|
-
// Loop through the list of services on our viewer accessory and sync the liveview switches.
|
|
44
|
+
// Finally, reflect the state of the liveview that's currently enabled. We loop through the list of services on our viewer accessory and sync the liveview switches.
|
|
46
45
|
this.updateLiveviewSwitchState(configureHandlers);
|
|
47
46
|
// Return a list of our available liveviews for this device.
|
|
48
47
|
return this.accessory.services.filter(x => (x.UUID === this.hap.Service.Switch.UUID) && x.subtype).map(x => x.displayName);
|
|
@@ -79,7 +78,7 @@ export class ProtectViewer extends ProtectDevice {
|
|
|
79
78
|
}
|
|
80
79
|
// Set the state to reflect Protect.
|
|
81
80
|
switchService.updateCharacteristic(this.hap.Characteristic.On, switchService.subtype === this.ufp.liveview);
|
|
82
|
-
switchService.updateCharacteristic(this.hap.Characteristic.ConfiguredName, this.ufpApi.bootstrap?.liveviews?.find(x => x.id === switchService.subtype)?.name ?? this.
|
|
81
|
+
switchService.updateCharacteristic(this.hap.Characteristic.ConfiguredName, this.ufpApi.bootstrap?.liveviews?.find(x => x.id === switchService.subtype)?.name ?? this.accessoryName);
|
|
83
82
|
return true;
|
|
84
83
|
}
|
|
85
84
|
// Return the current state of the liveview switch.
|