homebridge-unifi-protect 5.5.2 → 6.0.0

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