@viguza/homebridge-ezviz 2.0.0-beta.0 → 2.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -10,7 +10,7 @@ export declare class IPCamera {
|
|
|
10
10
|
private readonly accessory;
|
|
11
11
|
private api;
|
|
12
12
|
private deviceSerial;
|
|
13
|
-
private
|
|
13
|
+
private operatingModeService;
|
|
14
14
|
private readonly streamingDelegate;
|
|
15
15
|
private readonly motionService;
|
|
16
16
|
private cameraController?;
|
|
@@ -18,6 +18,12 @@ export declare class IPCamera {
|
|
|
18
18
|
private reachable;
|
|
19
19
|
private refreshTimer;
|
|
20
20
|
constructor(api: EZVIZAPI, platform: EZVIZPlatform, accessory: PlatformAccessory);
|
|
21
|
+
/**
|
|
22
|
+
* Wires the privacy on/off handlers and background refresh onto a CameraOperatingMode
|
|
23
|
+
* service — either one we created ourselves (no HKSV) or the one RecordingManagement
|
|
24
|
+
* owns (HKSV enabled). Only called when the device actually reports a privacy switch.
|
|
25
|
+
*/
|
|
26
|
+
private wirePrivacyToggle;
|
|
21
27
|
/**
|
|
22
28
|
* Sets EZVIZ's privacy switch to match the requested HomeKitCameraActive state
|
|
23
29
|
* @param value - true = camera active (privacy off), false = camera off (privacy on)
|
|
@@ -30,31 +30,33 @@ export class IPCamera {
|
|
|
30
30
|
.setCharacteristic(this.platform.Characteristic.Manufacturer, 'EZVIZ')
|
|
31
31
|
.setCharacteristic(this.platform.Characteristic.Model, accessory.context.device.DeviceInfo.deviceSubCategory)
|
|
32
32
|
.setCharacteristic(this.platform.Characteristic.SerialNumber, this.deviceSerial);
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
// (EZVIZ privacy mode disabled); false means EZVIZ privacy mode is enabled.
|
|
36
|
-
// Not every EZVIZ model exposes a privacy switch, so only wire this up — and only
|
|
37
|
-
// poll for it — when the device's own switch list actually reports one.
|
|
33
|
+
// Not every EZVIZ model exposes a privacy switch, so only wire up the toggle below —
|
|
34
|
+
// and only poll for it — when the device's own switch list actually reports one.
|
|
38
35
|
const supportsPrivacySwitch = accessory.context.device.Switches
|
|
39
36
|
?.some((s) => s.type === SwitchTypes.Privacy) ?? false;
|
|
37
|
+
const hksvEnabled = Boolean(this.platform.config.enableHksv);
|
|
38
|
+
// CameraOperatingMode is also created internally by HAP-NodeJS's RecordingManagement
|
|
39
|
+
// whenever `recording` options are supplied below — it's the one service here that
|
|
40
|
+
// isn't exclusively ours, so a stale instance from a previous run (e.g. HKSV just got
|
|
41
|
+
// toggled on/off) can't safely be reused: drop any existing one and let whichever path
|
|
42
|
+
// owns it this run — RecordingManagement for HKSV, or us for privacy-only — create it
|
|
43
|
+
// fresh. Without this, a leftover manually-created instance collides with the one
|
|
44
|
+
// RecordingManagement creates as soon as HKSV is turned on.
|
|
40
45
|
const existingOperatingModeService = this.accessory.getService(this.platform.Service.CameraOperatingMode);
|
|
41
|
-
if (
|
|
42
|
-
this.
|
|
43
|
-
|
|
46
|
+
if (existingOperatingModeService) {
|
|
47
|
+
this.accessory.removeService(existingOperatingModeService);
|
|
48
|
+
}
|
|
49
|
+
if (!hksvEnabled && supportsPrivacySwitch) {
|
|
50
|
+
// Privacy toggle, surfaced as HomeKit's native "Camera Off" control instead of a
|
|
51
|
+
// separate switch accessory. HomeKitCameraActive=true means the camera is active
|
|
52
|
+
// (EZVIZ privacy mode disabled); false means EZVIZ privacy mode is enabled.
|
|
53
|
+
this.operatingModeService = this.accessory.addService(this.platform.Service.CameraOperatingMode);
|
|
44
54
|
// EventSnapshotsActive/PeriodicSnapshotsActive are required characteristics of this
|
|
45
55
|
// service per the HAP spec — set statically so the service is valid and the Home app
|
|
46
56
|
// actually renders the "Camera" toggle in the camera's settings sheet.
|
|
47
57
|
this.operatingModeService.setCharacteristic(this.platform.Characteristic.EventSnapshotsActive, true);
|
|
48
58
|
this.operatingModeService.setCharacteristic(this.platform.Characteristic.PeriodicSnapshotsActive, true);
|
|
49
|
-
this.
|
|
50
|
-
.onSet(this.setCameraActive.bind(this))
|
|
51
|
-
.onGet(this.getCameraActive.bind(this));
|
|
52
|
-
this.refreshCameraActiveState();
|
|
53
|
-
this.refreshTimer = setInterval(() => this.refreshCameraActiveState(), STATE_REFRESH_INTERVAL_MS);
|
|
54
|
-
}
|
|
55
|
-
else if (existingOperatingModeService) {
|
|
56
|
-
// Device no longer reports the switch (e.g. after a firmware change) — drop the stale service.
|
|
57
|
-
this.accessory.removeService(existingOperatingModeService);
|
|
59
|
+
this.wirePrivacyToggle(this.operatingModeService);
|
|
58
60
|
}
|
|
59
61
|
// Create streaming delegate
|
|
60
62
|
const streamingDelegate = new StreamingDelegate(this.platform.api.hap, accessory.context.device, this.platform.log, (serial) => this.platform.getAlarmSnapshot(serial));
|
|
@@ -66,7 +68,6 @@ export class IPCamera {
|
|
|
66
68
|
// to recognize it as the recording trigger. CameraMotionSensor drives this service.
|
|
67
69
|
this.motionService = this.accessory.getService(this.platform.Service.MotionSensor) ||
|
|
68
70
|
this.accessory.addService(this.platform.Service.MotionSensor);
|
|
69
|
-
const hksvEnabled = Boolean(this.platform.config.enableHksv);
|
|
70
71
|
const rtspUrl = getRtspUrl(accessory.context.device);
|
|
71
72
|
// Configure camera controller options
|
|
72
73
|
const options = {
|
|
@@ -146,6 +147,14 @@ export class IPCamera {
|
|
|
146
147
|
this.cameraController = cameraController;
|
|
147
148
|
streamingDelegate.controller = cameraController;
|
|
148
149
|
accessory.configureController(cameraController);
|
|
150
|
+
// With HKSV enabled, RecordingManagement (above) owns CameraOperatingMode instead
|
|
151
|
+
// of us — wire the privacy toggle onto its instance rather than creating our own.
|
|
152
|
+
if (hksvEnabled) {
|
|
153
|
+
this.operatingModeService = cameraController.recordingManagement.operatingModeService;
|
|
154
|
+
if (supportsPrivacySwitch) {
|
|
155
|
+
this.wirePrivacyToggle(this.operatingModeService);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
149
158
|
this.platform.log.debug(`Successfully configured camera: ${accessory.context.device.Name}`);
|
|
150
159
|
}
|
|
151
160
|
catch (error) {
|
|
@@ -153,6 +162,18 @@ export class IPCamera {
|
|
|
153
162
|
throw error;
|
|
154
163
|
}
|
|
155
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Wires the privacy on/off handlers and background refresh onto a CameraOperatingMode
|
|
167
|
+
* service — either one we created ourselves (no HKSV) or the one RecordingManagement
|
|
168
|
+
* owns (HKSV enabled). Only called when the device actually reports a privacy switch.
|
|
169
|
+
*/
|
|
170
|
+
wirePrivacyToggle(service) {
|
|
171
|
+
service.getCharacteristic(this.platform.Characteristic.HomeKitCameraActive)
|
|
172
|
+
.onSet(this.setCameraActive.bind(this))
|
|
173
|
+
.onGet(this.getCameraActive.bind(this));
|
|
174
|
+
this.refreshCameraActiveState();
|
|
175
|
+
this.refreshTimer = setInterval(() => this.refreshCameraActiveState(), STATE_REFRESH_INTERVAL_MS);
|
|
176
|
+
}
|
|
156
177
|
/**
|
|
157
178
|
* Sets EZVIZ's privacy switch to match the requested HomeKitCameraActive state
|
|
158
179
|
* @param value - true = camera active (privacy off), false = camera off (privacy on)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ip-camera.js","sourceRoot":"","sources":["../../src/accessories/ip-camera.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAEtC;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAaA;IACA;IAbX,GAAG,CAAW;IACd,YAAY,CAAS;
|
|
1
|
+
{"version":3,"file":"ip-camera.js","sourceRoot":"","sources":["../../src/accessories/ip-camera.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,7 +113,6 @@ export class StreamingDelegate {
|
|
|
113
113
|
//video setup
|
|
114
114
|
const video = request.video;
|
|
115
115
|
const videoPort = video.port;
|
|
116
|
-
const returnVideoPort = (await reservePorts())[0];
|
|
117
116
|
const videoCryptoSuite = video.srtpCryptoSuite;
|
|
118
117
|
const videoSrtpKey = video.srtp_key;
|
|
119
118
|
const videoSrtpSalt = video.srtp_salt;
|
|
@@ -121,13 +120,20 @@ export class StreamingDelegate {
|
|
|
121
120
|
//audio setup
|
|
122
121
|
const audio = request.audio;
|
|
123
122
|
const audioPort = audio.port;
|
|
124
|
-
const returnAudioPort = (await reservePorts())[0];
|
|
125
|
-
const twoWayAudioPort = (await reservePorts(2))[0];
|
|
126
|
-
const audioServerPort = (await reservePorts())[0];
|
|
127
123
|
const audioCryptoSuite = video.srtpCryptoSuite;
|
|
128
124
|
const audioSrtpKey = audio.srtp_key;
|
|
129
125
|
const audioSrtpSalt = audio.srtp_salt;
|
|
130
126
|
const audioSSRC = this.hap.CameraController.generateSynchronisationSource();
|
|
127
|
+
// These four reservations are independent of each other (the "must be sequential"
|
|
128
|
+
// constraint in reservePorts only applies to getting consecutive ports *within* a
|
|
129
|
+
// single call, e.g. the twoWayAudioPort pair) — running them in parallel instead of
|
|
130
|
+
// one after another shaves the sum of their round-trips off stream startup time.
|
|
131
|
+
const [[returnVideoPort], [returnAudioPort], [twoWayAudioPort], [audioServerPort],] = await Promise.all([
|
|
132
|
+
reservePorts(),
|
|
133
|
+
reservePorts(),
|
|
134
|
+
reservePorts(2),
|
|
135
|
+
reservePorts(),
|
|
136
|
+
]);
|
|
131
137
|
const sessionInfo = {
|
|
132
138
|
address: targetAddress,
|
|
133
139
|
videoPort: videoPort,
|
|
@@ -178,6 +184,14 @@ export class StreamingDelegate {
|
|
|
178
184
|
const sampleRate = audioInfo.sample_rate;
|
|
179
185
|
let command = [
|
|
180
186
|
'-rtsp_transport', 'tcp',
|
|
187
|
+
// ffmpeg's defaults (5s analyzeduration, multi-MB probesize) spend real time
|
|
188
|
+
// analyzing the input before producing any output — unnecessary here since we're
|
|
189
|
+
// remuxing (-c:v copy), not decoding, and already know it's H264 RTSP. This is the
|
|
190
|
+
// main fixable contributor to live view's multi-second startup delay.
|
|
191
|
+
'-fflags', 'nobuffer',
|
|
192
|
+
'-flags', 'low_delay',
|
|
193
|
+
'-probesize', '32',
|
|
194
|
+
'-analyzeduration', '0',
|
|
181
195
|
'-use_wallclock_as_timestamps', '1',
|
|
182
196
|
'-i', getRtspUrl(this.deviceData),
|
|
183
197
|
'-map', '0:0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming-delegate.js","sourceRoot":"","sources":["../../src/utils/streaming-delegate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"streaming-delegate.js","sourceRoot":"","sources":["../../src/utils/streaming-delegate.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@viguza/homebridge-ezviz",
|
|
3
3
|
"displayName": "EZVIZ Homebridge Plugin",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "2.0.0-beta.
|
|
5
|
+
"version": "2.0.0-beta.2",
|
|
6
6
|
"private": false,
|
|
7
7
|
"description": "A short description about what your plugin does.",
|
|
8
8
|
"author": "Victor Guzman",
|