homebridge-unifi-protect 6.2.7 → 6.3.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.
@@ -1,4 +1,4 @@
1
- import { PLATFORM_NAME, PLUGIN_NAME, PROTECT_CONTROLLER_LOGIN_INTERVAL, PROTECT_CONTROLLER_REFRESH_INTERVAL } from "./settings.js";
1
+ import { PLATFORM_NAME, PLUGIN_NAME, PROTECT_CONTROLLER_REFRESH_INTERVAL, PROTECT_CONTROLLER_RETRY_INTERVAL } from "./settings.js";
2
2
  import { ProtectApi } from "unifi-protect";
3
3
  import { optionEnabled } from "./protect-options.js";
4
4
  import { ProtectCamera } from "./protect-camera.js";
@@ -11,7 +11,6 @@ import { ProtectNvrEvents } from "./protect-nvr-events.js";
11
11
  import { ProtectNvrSystemInfo } from "./protect-nvr-systeminfo.js";
12
12
  import { ProtectSensor } from "./protect-sensor.js";
13
13
  import { ProtectViewer } from "./protect-viewer.js";
14
- import { once } from "events";
15
14
  import util from "node:util";
16
15
  export class ProtectNvr {
17
16
  constructor(platform, nvrOptions) {
@@ -51,20 +50,14 @@ export class ProtectNvr {
51
50
  }
52
51
  }
53
52
  });
54
- // Fire up our Protect controller connectivity.
55
- void this.ufpStartupHandler();
56
53
  }
57
54
  // Maintain our connection to the UniFi Protect controller. This is only called after we've successfully logged in for the first time at plugin launch.
58
55
  async ufpUpdate() {
59
56
  // Periodically refresh our bootstrap of the Protect controller to ensure our state always remains in sync in between updates.
60
57
  for (;;) {
61
- // Gently continue to attempt bootstrapping the Protect controller until we're successful.
58
+ // Let's refresh the bootstrap configuration.
62
59
  // eslint-disable-next-line no-await-in-loop
63
- if (!(await this.ufpApi.getBootstrap())) {
64
- // eslint-disable-next-line no-await-in-loop
65
- await this.sleep(10 * 1000);
66
- continue;
67
- }
60
+ await this.bootstrapNvr();
68
61
  // Sync status and check for any new or removed accessories.
69
62
  this.discoverAndSyncAccessories();
70
63
  // Refresh the accessory cache.
@@ -74,8 +67,28 @@ export class ProtectNvr {
74
67
  await this.sleep(PROTECT_CONTROLLER_REFRESH_INTERVAL * 1000);
75
68
  }
76
69
  }
70
+ // Retrieve the bootstrap configuration from the Protect controller.
71
+ async bootstrapNvr() {
72
+ // Gently bootstrap the Protect controller until we're successful.
73
+ for (;;) {
74
+ // Bootstrap the controller.
75
+ // eslint-disable-next-line no-await-in-loop
76
+ if (!(await this.ufpApi.getBootstrap())) {
77
+ // We didn't succeed, let's sleep for a bit and try again.
78
+ // eslint-disable-next-line no-await-in-loop
79
+ await this.sleep(PROTECT_CONTROLLER_RETRY_INTERVAL * 1000);
80
+ continue;
81
+ }
82
+ break;
83
+ }
84
+ }
77
85
  // Initialize our connection to the UniFi Protect controller.
78
- async ufpStartupHandler() {
86
+ async login() {
87
+ // The plugin has been disabled globally. Let the user know that we're done here.
88
+ if (!this.optionEnabled(null, "Device")) {
89
+ this.log.info("Disabling this UniFi Protect controller.");
90
+ return;
91
+ }
79
92
  // Initialize our connection to the UniFi Protect API.
80
93
  const ufpLog = {
81
94
  debug: (message, ...parameters) => this.platform.debug(util.format(message, ...parameters)),
@@ -87,44 +100,49 @@ export class ProtectNvr {
87
100
  info: (message, ...parameters) => this.platform.log.info(util.format(message, ...parameters)),
88
101
  warn: (message, ...parameters) => this.platform.log.warn(util.format(message, ...parameters))
89
102
  };
103
+ // Create our connection to the Protect API.
104
+ this.ufpApi = new ProtectApi(ufpLog);
90
105
  // Attempt to login to the Protect controller, retrying at reasonable intervals. This accounts for cases where the Protect controller or the network connection
91
106
  // may not be fully available when we startup.
92
107
  for (;;) {
93
- // Create a new connection to the Protect API.
94
- this.ufpApi = new ProtectApi(ufpLog);
95
- // Let's wait for the API login to be attempted.
108
+ // Let's attempt to login, retrying if we have an issue logging in.
96
109
  // eslint-disable-next-line no-await-in-loop
97
- const [successfulLogin] = await once(this.ufpApi, "login");
98
- // We had issues logging in, let's try again shortly.
99
- if (!successfulLogin) {
100
- this.ufpApi.clearLoginCredentials();
101
- this.log.info("Unable to login to the UniFi Protect API. Ensure your login credentials and Protect controller address are correct. Will retry again in %s second%s.", PROTECT_CONTROLLER_LOGIN_INTERVAL, PROTECT_CONTROLLER_LOGIN_INTERVAL > 1 ? "s" : "");
110
+ if (!(await this.ufpApi.login(this.nvrOptions.address, this.nvrOptions.username, this.nvrOptions.password))) {
102
111
  // eslint-disable-next-line no-await-in-loop
103
- await this.sleep(PROTECT_CONTROLLER_LOGIN_INTERVAL * 1000);
112
+ await this.sleep(PROTECT_CONTROLLER_RETRY_INTERVAL * 1000);
104
113
  continue;
105
114
  }
106
115
  // We logged in successfully.
107
- this.platform.log.info("Connected to the UniFi Protect API at %s.", this.config.address);
116
+ this.log.info("Connected to the UniFi Protect API at %s.", this.config.address);
108
117
  break;
109
118
  }
110
- // Initialize our UniFi Protect realtime event handlers.
111
- this.events = new ProtectNvrEvents(this);
112
- // Fire off regular bootstrap updates.
113
- void this.ufpUpdate();
114
- // Initialize our UFP JSON with the bootstrap from the Protect controller.
115
- const [bootstrap] = await once(this.ufpApi, "bootstrap");
116
- // Assign our Protect NVR configuration JSON from the bootstrap JSON.
119
+ // Now, let's get the bootstrap configuration from the Protect controller.
120
+ await this.bootstrapNvr();
121
+ // Save the bootstrap to ease our device initialization below.
122
+ const bootstrap = this.ufpApi.bootstrap;
123
+ // Set our NVR configuration from the controller.
117
124
  this.ufp = bootstrap.nvr;
118
125
  // Assign our name if the user hasn't explicitly specified a preference.
119
126
  this.name = this.nvrOptions.name ?? this.ufp.name;
120
- // This NVR has been disabled. Let the user know that we're done here.
121
- if (!this.optionEnabled(this.ufp, "Nvr")) {
122
- this.log.info("Disabling this UniFi Protect controller.");
127
+ // Mark this NVR as enabled or disabled.
128
+ this.isEnabled = this.optionEnabled(this.ufp, "Device");
129
+ // If the Protect controller is disabled, we're done.
130
+ if (!this.isEnabled) {
123
131
  this.ufpApi.clearLoginCredentials();
132
+ this.log.info("Disabling this UniFi Protect controller in HomeKit.");
133
+ // Let's sleep for thirty seconds to give all the accessories a chance to load before disabling everything. Homebridge doesn't have a good mechanism to notify us
134
+ // when all the cached accessories are loaded at startup.
135
+ await this.sleep(30);
136
+ // Unregister all the accessories for this controller from Homebridge.
137
+ this.api.unregisterPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, this.platform.accessories.filter(x => x.context.nvr === this.ufp.mac));
138
+ // Filter the overall accessory list to exclude all accessories from this controller.
139
+ this.platform.accessories = this.platform.accessories.filter(x => x.context.nvr !== this.ufp.mac);
140
+ // Tell Homebridge to update it's cache of accessories to reflect the changes.
141
+ this.api.updatePlatformAccessories(this.platform.accessories);
124
142
  return;
125
143
  }
126
- // Mark this NVR as enabled and available.
127
- this.isEnabled = true;
144
+ // Initialize our UniFi Protect realtime event handler.
145
+ this.events = new ProtectNvrEvents(this);
128
146
  // Configure any NVR-specific settings.
129
147
  void this.configureNvr();
130
148
  // Initialize our liveviews.
@@ -144,6 +162,8 @@ export class ProtectNvr {
144
162
  }
145
163
  this.log.info("Discovered %s: %s.", device.modelKey, this.ufpApi.getDeviceName(device, device.name, true));
146
164
  }
165
+ // Fire off regular bootstrap updates to ensure we stay in sync.
166
+ void this.ufpUpdate();
147
167
  }
148
168
  // Configure NVR-specific settings.
149
169
  async configureNvr() {
@@ -174,7 +194,7 @@ export class ProtectNvr {
174
194
  switch (device.modelKey) {
175
195
  case "camera":
176
196
  // We have a UniFi Protect camera or doorbell.
177
- if (device.featureFlags.hasChime) {
197
+ if (device.featureFlags.isDoorbell) {
178
198
  this.configuredDevices[accessory.UUID] = new ProtectDoorbell(this, device, accessory);
179
199
  }
180
200
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"protect-nvr.js","sourceRoot":"","sources":["../src/protect-nvr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-nvr.js","sourceRoot":"","sources":["../src/protect-nvr.ts"],"names":[],"mappings":"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"}
@@ -45,8 +45,9 @@ export const featureOptions = {
45
45
  ],
46
46
  // NVR options.
47
47
  "Nvr": [
48
+ { default: false, description: "Publish all the realtime telemetry received from the Protect controller to MQTT.", name: "Publish.Telemetry" },
48
49
  { default: false, description: "Add switch accessories to control the native recording capabilities of the UniFi Protect NVR.", name: "Recording.Switch" },
49
- { default: false, description: "Add sensor accessories to display NVR system information (currently only the temperature).", name: "SystemInfo" }
50
+ { default: false, description: "Add sensor accessories to display the Protect controller system information (currently only the temperature).", name: "SystemInfo" }
50
51
  ],
51
52
  // Security system options.
52
53
  "SecuritySystem": [
@@ -1 +1 @@
1
- {"version":3,"file":"protect-options.js","sourceRoot":"","sources":["../src/protect-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-options.js","sourceRoot":"","sources":["../src/protect-options.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class ProtectPlatform implements DynamicPlatformPlugin {
9
9
  private readonly controllers;
10
10
  readonly log: Logging;
11
11
  readonly rtpPorts: RtpPortAllocator;
12
+ private _systemInfo;
12
13
  verboseFfmpeg: boolean;
13
14
  private videoProcessorEncoders;
14
15
  constructor(log: Logging, config: PlatformConfig, api: API);
@@ -16,5 +17,7 @@ export declare class ProtectPlatform implements DynamicPlatformPlugin {
16
17
  private launchControllers;
17
18
  private probeVideoProcessorCodecs;
18
19
  isEncoderAvailable(codec: string, encoder: string): boolean;
20
+ private probeHwOs;
21
+ get systemInfo(): string;
19
22
  debug(message: string, ...parameters: unknown[]): void;
20
23
  }
@@ -3,9 +3,12 @@ import { ProtectNvr } from "./protect-nvr.js";
3
3
  import { RtpPortAllocator } from "./protect-rtp.js";
4
4
  import { execFile } from "node:child_process";
5
5
  import ffmpegPath from "ffmpeg-for-homebridge";
6
+ import { platform } from "node:process";
7
+ import { readFileSync } from "node:fs";
6
8
  import util from "node:util";
7
9
  export class ProtectPlatform {
8
10
  constructor(log, config, api) {
11
+ this._systemInfo = "";
9
12
  this.accessories = [];
10
13
  this.api = api;
11
14
  this.configOptions = [];
@@ -74,6 +77,8 @@ export class ProtectPlatform {
74
77
  }
75
78
  this.controllers.push(new ProtectNvr(this, controllerConfig));
76
79
  }
80
+ // Identify what we're running on so we can take advantage of hardware-specific features.
81
+ this.probeHwOs();
77
82
  // Avoid a prospective race condition by waiting to configure our controllers until Homebridge is done
78
83
  // loading all the cached accessories it knows about, and calling configureAccessory() on each.
79
84
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
@@ -95,7 +100,7 @@ export class ProtectPlatform {
95
100
  // Iterate through all our controllers and startup.
96
101
  for (const controller of this.controllers) {
97
102
  // Login to the Protect controller.
98
- void controller.ufpApi.login(controller.nvrOptions.address, controller.nvrOptions.username, controller.nvrOptions.password);
103
+ void controller.login();
99
104
  }
100
105
  }
101
106
  // Probe our video processor's encoding and decoding capabilities.
@@ -142,6 +147,40 @@ export class ProtectPlatform {
142
147
  encoder = encoder.toLowerCase();
143
148
  return this.videoProcessorEncoders[codec]?.some(x => x === encoder);
144
149
  }
150
+ // Identify what hardware and operating system environment we're actually running on.
151
+ probeHwOs() {
152
+ // Start off with a generic identifier.
153
+ this._systemInfo = "generic";
154
+ // Take a look at the platform we're on for an initial hint of what we are.
155
+ switch (platform) {
156
+ // The beloved macOS.
157
+ case "darwin":
158
+ this._systemInfo = "macOS";
159
+ break;
160
+ // The indomitable Linux.
161
+ case "linux":
162
+ // Let's further see if we're a small, but scrappy, Raspberry Pi.
163
+ try {
164
+ // As of the 4.9 kernel, Raspberry Pi prefers to be identified using this method and has deprecated cpuinfo.
165
+ const systemId = readFileSync("/sys/firmware/devicetree/base/model", { encoding: "utf8" });
166
+ // Is it a Pi 4?
167
+ if (systemId.includes("Raspberry Pi 4")) {
168
+ this._systemInfo = "raspbian";
169
+ }
170
+ }
171
+ catch (error) {
172
+ // We aren't especially concerned with errors here, given we're just trying to ascertain the system information through hints.
173
+ }
174
+ break;
175
+ default:
176
+ // We aren't trying to solve for every system type.
177
+ break;
178
+ }
179
+ }
180
+ // Utility to return the hardware environment we're on.
181
+ get systemInfo() {
182
+ return this._systemInfo;
183
+ }
145
184
  // Utility for debug logging.
146
185
  debug(message, ...parameters) {
147
186
  if (this.config.debugAll) {
@@ -1 +1 @@
1
- {"version":3,"file":"protect-platform.js","sourceRoot":"","sources":["../src/protect-platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-platform.js","sourceRoot":"","sources":["../src/protect-platform.ts"],"names":[],"mappings":"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"}
@@ -268,7 +268,7 @@ export class ProtectRecordingDelegate {
268
268
  // Calculate approximately how many seconds we've recorded. We have more accuracy in timeshifted segments, so we'll use the more
269
269
  // accurate statistics when we can. Otherwise, we use the number of segments transmitted to HomeKit as a close proxy.
270
270
  const recordedSeconds = this.timeshiftedSegments ?
271
- ((this.timeshiftedSegments * this.timeshift.segmentLength) / 1000) : (this.transmittedSegments * this.rtspEntry?.channel.idrInterval);
271
+ ((this.timeshiftedSegments * this.timeshift.segmentLength) / 1000) : (this.transmittedSegments / this.rtspEntry?.channel.idrInterval);
272
272
  let recordedTime = "";
273
273
  // Create a nicely formatted string for end users. Yes, the author recognizes this isn't essential, but it does bring a smile to their face.
274
274
  if (recordedSeconds < 1) {
@@ -23,7 +23,6 @@ export declare class ProtectStreamingDelegate implements CameraStreamingDelegate
23
23
  private savedBitrate;
24
24
  private snapshotCache;
25
25
  verboseFfmpeg: boolean;
26
- readonly videoEncoderOptions: string[];
27
26
  constructor(protectCamera: ProtectCamera, resolutions: [number, number, number][]);
28
27
  handleSnapshotRequest(request?: SnapshotRequest, callback?: SnapshotRequestCallback): Promise<void>;
29
28
  prepareStream(request: PrepareStreamRequest, callback: PrepareStreamCallback): Promise<void>;
@@ -34,7 +33,10 @@ export declare class ProtectStreamingDelegate implements CameraStreamingDelegate
34
33
  stopStream(sessionId: string): Promise<void>;
35
34
  shutdown(): Promise<void>;
36
35
  adjustProbeSize(): void;
36
+ get probesize(): number;
37
37
  getH264Level(level: H264Level): string;
38
38
  getH264Profile(profile: H264Profile): string;
39
- private getVideoEncoderOptions;
39
+ private configureHwAccel;
40
+ videoDecoderOptions(): string[];
41
+ videoEncoderOptions(profile: H264Profile, level: H264Level): string[];
40
42
  }