homebridge 2.0.0-alpha.3 → 2.0.0-alpha.5

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 (110) hide show
  1. package/README.md +16 -17
  2. package/bin/homebridge +8 -6
  3. package/config-sample.json +3 -3
  4. package/{lib → dist}/api.d.ts +23 -40
  5. package/dist/api.d.ts.map +1 -0
  6. package/{lib → dist}/api.js +38 -64
  7. package/dist/api.js.map +1 -0
  8. package/{lib → dist}/bridgeService.d.ts +10 -9
  9. package/dist/bridgeService.d.ts.map +1 -0
  10. package/{lib → dist}/bridgeService.js +79 -121
  11. package/dist/bridgeService.js.map +1 -0
  12. package/{lib → dist}/childBridgeFork.d.ts +4 -3
  13. package/dist/childBridgeFork.d.ts.map +1 -0
  14. package/{lib → dist}/childBridgeFork.js +38 -41
  15. package/dist/childBridgeFork.js.map +1 -0
  16. package/{lib → dist}/childBridgeService.d.ts +8 -7
  17. package/dist/childBridgeService.d.ts.map +1 -0
  18. package/{lib → dist}/childBridgeService.js +54 -55
  19. package/dist/childBridgeService.js.map +1 -0
  20. package/dist/cli.d.ts +3 -0
  21. package/dist/cli.d.ts.map +1 -0
  22. package/dist/cli.js +89 -0
  23. package/dist/cli.js.map +1 -0
  24. package/{lib → dist}/externalPortService.d.ts +2 -2
  25. package/{lib → dist}/externalPortService.d.ts.map +1 -1
  26. package/{lib → dist}/externalPortService.js +4 -9
  27. package/dist/externalPortService.js.map +1 -0
  28. package/{lib → dist}/index.d.ts +29 -29
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +19 -0
  31. package/dist/index.js.map +1 -0
  32. package/{lib → dist}/ipcService.d.ts +2 -5
  33. package/dist/ipcService.d.ts.map +1 -0
  34. package/{lib → dist}/ipcService.js +12 -12
  35. package/dist/ipcService.js.map +1 -0
  36. package/{lib → dist}/logger.d.ts +6 -6
  37. package/dist/logger.d.ts.map +1 -0
  38. package/{lib → dist}/logger.js +19 -28
  39. package/dist/logger.js.map +1 -0
  40. package/{lib → dist}/platformAccessory.d.ts +7 -6
  41. package/dist/platformAccessory.d.ts.map +1 -0
  42. package/{lib → dist}/platformAccessory.js +12 -16
  43. package/dist/platformAccessory.js.map +1 -0
  44. package/{lib → dist}/plugin.d.ts +2 -2
  45. package/dist/plugin.d.ts.map +1 -0
  46. package/{lib → dist}/plugin.js +36 -45
  47. package/dist/plugin.js.map +1 -0
  48. package/{lib → dist}/pluginManager.d.ts +3 -3
  49. package/dist/pluginManager.d.ts.map +1 -0
  50. package/{lib → dist}/pluginManager.js +72 -78
  51. package/dist/pluginManager.js.map +1 -0
  52. package/dist/server.d.ts.map +1 -0
  53. package/{lib → dist}/server.js +89 -116
  54. package/dist/server.js.map +1 -0
  55. package/{lib → dist}/storageService.d.ts.map +1 -1
  56. package/dist/storageService.js +41 -0
  57. package/dist/storageService.js.map +1 -0
  58. package/{lib → dist}/user.d.ts.map +1 -1
  59. package/dist/user.js +29 -0
  60. package/dist/user.js.map +1 -0
  61. package/{lib → dist}/util/mac.d.ts +1 -0
  62. package/dist/util/mac.d.ts.map +1 -0
  63. package/dist/util/mac.js +14 -0
  64. package/dist/util/mac.js.map +1 -0
  65. package/dist/version.d.ts.map +1 -0
  66. package/dist/version.js +16 -0
  67. package/dist/version.js.map +1 -0
  68. package/package.json +42 -42
  69. package/lib/api.d.ts.map +0 -1
  70. package/lib/api.js.map +0 -1
  71. package/lib/bridgeService.d.ts.map +0 -1
  72. package/lib/bridgeService.js.map +0 -1
  73. package/lib/childBridgeFork.d.ts.map +0 -1
  74. package/lib/childBridgeFork.js.map +0 -1
  75. package/lib/childBridgeService.d.ts.map +0 -1
  76. package/lib/childBridgeService.js.map +0 -1
  77. package/lib/cli.d.ts +0 -4
  78. package/lib/cli.d.ts.map +0 -1
  79. package/lib/cli.js +0 -115
  80. package/lib/cli.js.map +0 -1
  81. package/lib/externalPortService.js.map +0 -1
  82. package/lib/index.d.ts.map +0 -1
  83. package/lib/index.js +0 -72
  84. package/lib/index.js.map +0 -1
  85. package/lib/ipcService.d.ts.map +0 -1
  86. package/lib/ipcService.js.map +0 -1
  87. package/lib/logger.d.ts.map +0 -1
  88. package/lib/logger.js.map +0 -1
  89. package/lib/platformAccessory.d.ts.map +0 -1
  90. package/lib/platformAccessory.js.map +0 -1
  91. package/lib/plugin.d.ts.map +0 -1
  92. package/lib/plugin.js.map +0 -1
  93. package/lib/pluginManager.d.ts.map +0 -1
  94. package/lib/pluginManager.js.map +0 -1
  95. package/lib/server.d.ts.map +0 -1
  96. package/lib/server.js.map +0 -1
  97. package/lib/storageService.js +0 -70
  98. package/lib/storageService.js.map +0 -1
  99. package/lib/user.js +0 -36
  100. package/lib/user.js.map +0 -1
  101. package/lib/util/mac.d.ts.map +0 -1
  102. package/lib/util/mac.js +0 -20
  103. package/lib/util/mac.js.map +0 -1
  104. package/lib/version.d.ts.map +0 -1
  105. package/lib/version.js +0 -21
  106. package/lib/version.js.map +0 -1
  107. /package/{lib → dist}/server.d.ts +0 -0
  108. /package/{lib → dist}/storageService.d.ts +0 -0
  109. /package/{lib → dist}/user.d.ts +0 -0
  110. /package/{lib → dist}/version.d.ts +0 -0
@@ -1,41 +1,12 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.BridgeService = void 0;
30
- const hap_nodejs_1 = require("hap-nodejs");
31
- const logger_1 = require("./logger");
32
- const platformAccessory_1 = require("./platformAccessory");
33
- const pluginManager_1 = require("./pluginManager");
34
- const storageService_1 = require("./storageService");
35
- const mac = __importStar(require("./util/mac"));
36
- const version_1 = __importDefault(require("./version"));
37
- const log = logger_1.Logger.internal;
38
- class BridgeService {
1
+ import { Accessory, Bridge, Characteristic, HAPLibraryVersion, once, Service, uuid, } from 'hap-nodejs';
2
+ import { getLogPrefix, Logger } from './logger.js';
3
+ import { PlatformAccessory } from './platformAccessory.js';
4
+ import { PluginManager } from './pluginManager.js';
5
+ import { StorageService } from './storageService.js';
6
+ import { generate } from './util/mac.js';
7
+ import getVersion from './version.js';
8
+ const log = Logger.internal;
9
+ export class BridgeService {
39
10
  api;
40
11
  pluginManager;
41
12
  externalPortService;
@@ -55,7 +26,7 @@ class BridgeService {
55
26
  this.bridgeOptions = bridgeOptions;
56
27
  this.bridgeConfig = bridgeConfig;
57
28
  this.config = config;
58
- this.storageService = new storageService_1.StorageService(this.bridgeOptions.cachedAccessoriesDir);
29
+ this.storageService = new StorageService(this.bridgeOptions.cachedAccessoriesDir);
59
30
  this.storageService.initSync();
60
31
  // Server is "secure by default", meaning it creates a top-level Bridge accessory that
61
32
  // will not allow unauthenticated requests. This matches the behavior of actual HomeKit
@@ -67,7 +38,7 @@ class BridgeService {
67
38
  this.api.on("updatePlatformAccessories" /* InternalAPIEvent.UPDATE_PLATFORM_ACCESSORIES */, this.handleUpdatePlatformAccessories.bind(this));
68
39
  this.api.on("unregisterPlatformAccessories" /* InternalAPIEvent.UNREGISTER_PLATFORM_ACCESSORIES */, this.handleUnregisterPlatformAccessories.bind(this));
69
40
  this.api.on("publishExternalAccessories" /* InternalAPIEvent.PUBLISH_EXTERNAL_ACCESSORIES */, this.handlePublishExternalAccessories.bind(this));
70
- this.bridge = new hap_nodejs_1.Bridge(bridgeConfig.name, hap_nodejs_1.uuid.generate("HomeBridge"));
41
+ this.bridge = new Bridge(bridgeConfig.name, uuid.generate('HomeBridge'));
71
42
  this.bridge.on("characteristic-warning" /* AccessoryEventTypes.CHARACTERISTIC_WARNING */, () => {
72
43
  // We register characteristic warning handlers on every bridged accessory (to have a reference to the plugin).
73
44
  // For Bridges the warnings will propagate to the main Bridge accessory, thus we need to silence them here.
@@ -76,50 +47,45 @@ class BridgeService {
76
47
  }
77
48
  // characteristic warning event has additional parameter originatorChain: string[] which is currently unused
78
49
  static printCharacteristicWriteWarning(plugin, accessory, opts, warning) {
79
- const wikiInfo = "See https://homebridge.io/w/JtMGR for more info.";
50
+ const wikiInfo = 'See https://homebridge.io/w/JtMGR for more info.';
80
51
  switch (warning.type) {
81
52
  case "slow-read" /* CharacteristicWarningType.SLOW_READ */:
82
53
  case "slow-write" /* CharacteristicWarningType.SLOW_WRITE */:
83
54
  if (!opts.ignoreSlow) {
84
- log.info((0, logger_1.getLogPrefix)(plugin.getPluginIdentifier()), "This plugin slows down Homebridge.", warning.message, wikiInfo);
55
+ log.info(getLogPrefix(plugin.getPluginIdentifier()), 'This plugin slows down Homebridge.', warning.message, wikiInfo);
85
56
  }
86
57
  break;
87
58
  case "timeout-read" /* CharacteristicWarningType.TIMEOUT_READ */:
88
59
  case "timeout-write" /* CharacteristicWarningType.TIMEOUT_WRITE */:
89
- log.error((0, logger_1.getLogPrefix)(plugin.getPluginIdentifier()), "This plugin slows down Homebridge.", warning.message, wikiInfo);
60
+ log.error(getLogPrefix(plugin.getPluginIdentifier()), 'This plugin slows down Homebridge.', warning.message, wikiInfo);
90
61
  break;
91
62
  case "warn-message" /* CharacteristicWarningType.WARN_MESSAGE */:
92
- log.info((0, logger_1.getLogPrefix)(plugin.getPluginIdentifier()), `This plugin generated a warning from the characteristic '${warning.characteristic.displayName}':`, warning.message + ".", wikiInfo);
63
+ log.info(getLogPrefix(plugin.getPluginIdentifier()), `This plugin generated a warning from the characteristic '${warning.characteristic.displayName}':`, `${warning.message}.`, wikiInfo);
93
64
  break;
94
65
  case "error-message" /* CharacteristicWarningType.ERROR_MESSAGE */:
95
- log.error((0, logger_1.getLogPrefix)(plugin.getPluginIdentifier()), `This plugin threw an error from the characteristic '${warning.characteristic.displayName}':`, warning.message + ".", wikiInfo);
66
+ log.error(getLogPrefix(plugin.getPluginIdentifier()), `This plugin threw an error from the characteristic '${warning.characteristic.displayName}':`, `${warning.message}.`, wikiInfo);
96
67
  break;
97
68
  case "debug-message" /* CharacteristicWarningType.DEBUG_MESSAGE */:
98
- log.debug((0, logger_1.getLogPrefix)(plugin.getPluginIdentifier()), `Characteristic '${warning.characteristic.displayName}':`, warning.message + ".", wikiInfo);
69
+ log.debug(getLogPrefix(plugin.getPluginIdentifier()), `Characteristic '${warning.characteristic.displayName}':`, `${warning.message}.`, wikiInfo);
99
70
  break;
100
71
  default: // generic message for yet unknown types
101
- log.info((0, logger_1.getLogPrefix)(plugin.getPluginIdentifier()), `This plugin generated a warning from the characteristic '${warning.characteristic.displayName}':`, warning.message + ".", wikiInfo);
72
+ log.info(getLogPrefix(plugin.getPluginIdentifier()), `This plugin generated a warning from the characteristic '${warning.characteristic.displayName}':`, `${warning.message}.`, wikiInfo);
102
73
  break;
103
74
  }
104
75
  if (warning.stack) {
105
- log.debug((0, logger_1.getLogPrefix)(plugin.getPluginIdentifier()), warning.stack);
76
+ log.debug(getLogPrefix(plugin.getPluginIdentifier()), warning.stack);
106
77
  }
107
78
  }
108
79
  publishBridge() {
109
80
  const bridgeConfig = this.bridgeConfig;
110
- const info = this.bridge.getService(hap_nodejs_1.Service.AccessoryInformation);
111
- info.setCharacteristic(hap_nodejs_1.Characteristic.Manufacturer, bridgeConfig.manufacturer || "homebridge.io");
112
- info.setCharacteristic(hap_nodejs_1.Characteristic.Model, bridgeConfig.model || "homebridge");
113
- info.setCharacteristic(hap_nodejs_1.Characteristic.SerialNumber, bridgeConfig.username);
114
- info.setCharacteristic(hap_nodejs_1.Characteristic.FirmwareRevision, bridgeConfig.firmwareRevision || (0, version_1.default)());
81
+ const info = this.bridge.getService(Service.AccessoryInformation);
82
+ info.setCharacteristic(Characteristic.Manufacturer, bridgeConfig.manufacturer || 'homebridge.io');
83
+ info.setCharacteristic(Characteristic.Model, bridgeConfig.model || 'homebridge');
84
+ info.setCharacteristic(Characteristic.SerialNumber, bridgeConfig.username);
85
+ info.setCharacteristic(Characteristic.FirmwareRevision, bridgeConfig.firmwareRevision || getVersion());
115
86
  this.bridge.on("listening" /* AccessoryEventTypes.LISTENING */, (port) => {
116
- log.success("Homebridge v%s (HAP v%s) (%s) is running on port %s.", (0, version_1.default)(), (0, hap_nodejs_1.HAPLibraryVersion)(), bridgeConfig.name, port);
117
- log.warn("\n\nNOTICE TO USERS AND PLUGIN DEVELOPERS"
118
- + "\n> Homebridge 2.0 is on the way and brings some breaking changes to existing plugins.\n"
119
- + "> Please visit the following link to learn more about the changes and how to prepare:\n"
120
- + "> https://github.com/homebridge/homebridge/wiki/Updating-To-Homebridge-v2.0\n");
87
+ log.success('Homebridge v%s (HAP v%s) (%s) is running on port %s.', getVersion(), HAPLibraryVersion(), bridgeConfig.name, port);
121
88
  });
122
- // noinspection JSDeprecatedSymbols
123
89
  const publishInfo = {
124
90
  username: bridgeConfig.username,
125
91
  port: bridgeConfig.port,
@@ -132,7 +98,7 @@ class BridgeService {
132
98
  if (bridgeConfig.setupID && bridgeConfig.setupID.length === 4) {
133
99
  publishInfo.setupID = bridgeConfig.setupID;
134
100
  }
135
- log.debug("Publishing bridge accessory (name: %s, publishInfo: %o).", this.bridge.displayName, BridgeService.strippingPinCode(publishInfo));
101
+ log.debug('Publishing bridge accessory (name: %s, publishInfo: %o).', this.bridge.displayName, BridgeService.strippingPinCode(publishInfo));
136
102
  this.bridge.publish(publishInfo, this.allowInsecureAccess);
137
103
  }
138
104
  /**
@@ -143,20 +109,20 @@ class BridgeService {
143
109
  try {
144
110
  cachedAccessories = await this.storageService.getItem(this.bridgeOptions.cachedAccessoriesItemName);
145
111
  }
146
- catch (e) {
147
- log.error("Failed to load cached accessories from disk:", e.message);
148
- if (e instanceof SyntaxError) {
112
+ catch (error) {
113
+ log.error('Failed to load cached accessories from disk:', error.message);
114
+ if (error instanceof SyntaxError) {
149
115
  // syntax error probably means invalid json / corrupted file; try and restore from backup
150
116
  cachedAccessories = await this.restoreCachedAccessoriesBackup();
151
117
  }
152
118
  else {
153
- log.error("Not restoring cached accessories - some accessories may be reset.");
119
+ log.error('Not restoring cached accessories - some accessories may be reset.');
154
120
  }
155
121
  }
156
122
  if (cachedAccessories) {
157
123
  log.info(`Loaded ${cachedAccessories.length} cached accessories from ${this.bridgeOptions.cachedAccessoriesItemName}.`);
158
- this.cachedPlatformAccessories = cachedAccessories.map(serialized => {
159
- return platformAccessory_1.PlatformAccessory.deserialize(serialized);
124
+ this.cachedPlatformAccessories = cachedAccessories.map((serialized) => {
125
+ return PlatformAccessory.deserialize(serialized);
160
126
  });
161
127
  if (cachedAccessories.length) {
162
128
  // create a backup of the cache file
@@ -179,8 +145,8 @@ class BridgeService {
179
145
  try {
180
146
  await this.storageService.copyItem(this.bridgeOptions.cachedAccessoriesItemName, this.backupCacheFileName);
181
147
  }
182
- catch (e) {
183
- log.warn(`Failed to create a backup of the ${this.bridgeOptions.cachedAccessoriesItemName} cached accessories file:`, e.message);
148
+ catch (error) {
149
+ log.warn(`Failed to create a backup of the ${this.bridgeOptions.cachedAccessoriesItemName} cached accessories file:`, error.message);
184
150
  }
185
151
  }
186
152
  /**
@@ -195,12 +161,12 @@ class BridgeService {
195
161
  }
196
162
  return cachedAccessories;
197
163
  }
198
- catch (e) {
164
+ catch (error) {
199
165
  return null;
200
166
  }
201
167
  }
202
168
  restoreCachedPlatformAccessories() {
203
- this.cachedPlatformAccessories = this.cachedPlatformAccessories.filter(accessory => {
169
+ this.cachedPlatformAccessories = this.cachedPlatformAccessories.filter((accessory) => {
204
170
  let plugin = this.pluginManager.getPlugin(accessory._associatedPlugin);
205
171
  if (!plugin) { // a little explainer here. This section is basically here to resolve plugin name changes of dynamic platform plugins
206
172
  try {
@@ -210,15 +176,14 @@ class BridgeService {
210
176
  // could improve on this by calculating the Levenshtein distance to only allow platform ownership changes
211
177
  // when something like a typo happened. Are there other reasons the name could change?
212
178
  // And how would we define the threshold?
213
- log.info("When searching for the associated plugin of the accessory '" + accessory.displayName + "' " +
214
- "it seems like the plugin name changed from '" + accessory._associatedPlugin + "' to '" +
215
- plugin.getPluginIdentifier() + "'. Plugin association is now being transformed!");
179
+ log.info(`When searching for the associated plugin of the accessory '${accessory.displayName}' `
180
+ + `it seems like the plugin name changed from '${accessory._associatedPlugin}' to '${plugin.getPluginIdentifier()}'. Plugin association is now being transformed!`);
216
181
  accessory._associatedPlugin = plugin.getPluginIdentifier(); // update the associated plugin to the new one
217
182
  }
218
183
  }
219
184
  catch (error) { // error is thrown if multiple plugins where found for the given platform name
220
- log.info("Could not find the associated plugin for the accessory '" + accessory.displayName + "'. " +
221
- "Tried to find the plugin by the platform name but " + error.message);
185
+ log.info(`Could not find the associated plugin for the accessory '${accessory.displayName}'. `
186
+ + `Tried to find the plugin by the platform name but ${error.message}`);
222
187
  }
223
188
  }
224
189
  const platformPlugins = plugin && plugin.getActiveDynamicPlatform(accessory._associatedPlatform);
@@ -234,14 +199,14 @@ class BridgeService {
234
199
  }
235
200
  else {
236
201
  // We set a placeholder for FirmwareRevision before configureAccessory is called so the plugin has the opportunity to override it.
237
- accessory.getService(hap_nodejs_1.Service.AccessoryInformation)?.setCharacteristic(hap_nodejs_1.Characteristic.FirmwareRevision, "0");
202
+ accessory.getService(Service.AccessoryInformation)?.setCharacteristic(Characteristic.FirmwareRevision, '0');
238
203
  platformPlugins.configureAccessory(accessory);
239
204
  }
240
205
  try {
241
206
  this.bridge.addBridgedAccessory(accessory._associatedHAPAccessory);
242
207
  }
243
- catch (e) {
244
- log.warn(`${accessory._associatedPlugin ? (0, logger_1.getLogPrefix)(accessory._associatedPlugin) : ""} Could not restore cached accessory '${accessory._associatedHAPAccessory.displayName}':`, e?.message);
208
+ catch (error) {
209
+ log.warn(`${accessory._associatedPlugin ? getLogPrefix(accessory._associatedPlugin) : ''} Could not restore cached accessory '${accessory._associatedHAPAccessory.displayName}':`, error.message);
245
210
  return false; // filter it from the list
246
211
  }
247
212
  return true; // keep it in the list
@@ -255,41 +220,40 @@ class BridgeService {
255
220
  // only save the cache file back to disk if we have already attempted to load it
256
221
  // this should prevent the cache being deleted should homebridge be shutdown before it has finished launching
257
222
  if (this.cachedAccessoriesFileLoaded) {
258
- const serializedAccessories = this.cachedPlatformAccessories.map(accessory => platformAccessory_1.PlatformAccessory.serialize(accessory));
223
+ const serializedAccessories = this.cachedPlatformAccessories.map(accessory => PlatformAccessory.serialize(accessory));
259
224
  this.storageService.setItemSync(this.bridgeOptions.cachedAccessoriesItemName, serializedAccessories);
260
225
  }
261
226
  }
262
- catch (e) {
263
- log.error("Failed to save cached accessories to disk:", e.message);
264
- log.error("Your accessories will not persist between restarts until this issue is resolved.");
227
+ catch (error) {
228
+ log.error('Failed to save cached accessories to disk:', error.message);
229
+ log.error('Your accessories will not persist between restarts until this issue is resolved.');
265
230
  }
266
231
  }
267
232
  handleRegisterPlatformAccessories(accessories) {
268
- const hapAccessories = accessories.map(accessory => {
233
+ const hapAccessories = accessories.map((accessory) => {
269
234
  this.cachedPlatformAccessories.push(accessory);
270
235
  const plugin = this.pluginManager.getPlugin(accessory._associatedPlugin);
271
236
  if (plugin) {
272
237
  const platforms = plugin.getActiveDynamicPlatform(accessory._associatedPlatform);
273
238
  if (!platforms) {
274
- log.warn("The plugin '%s' registered a new accessory for the platform '%s'. The platform couldn't be found though!", accessory._associatedPlugin, accessory._associatedPlatform);
239
+ log.warn('The plugin \'%s\' registered a new accessory for the platform \'%s\'. The platform couldn\'t be found though!', accessory._associatedPlugin, accessory._associatedPlatform);
275
240
  }
276
241
  accessory._associatedHAPAccessory.on("characteristic-warning" /* AccessoryEventTypes.CHARACTERISTIC_WARNING */, BridgeService.printCharacteristicWriteWarning.bind(this, plugin, accessory._associatedHAPAccessory, {}));
277
242
  }
278
243
  else {
279
- log.warn("A platform configured a new accessory under the plugin name '%s'. However no loaded plugin could be found for the name!", accessory._associatedPlugin);
244
+ log.warn('A platform configured a new accessory under the plugin name \'%s\'. However no loaded plugin could be found for the name!', accessory._associatedPlugin);
280
245
  }
281
246
  return accessory._associatedHAPAccessory;
282
247
  });
283
248
  this.bridge.addBridgedAccessories(hapAccessories);
284
249
  this.saveCachedPlatformAccessoriesOnDisk();
285
250
  }
286
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
287
- handleUpdatePlatformAccessories(accessories) {
251
+ handleUpdatePlatformAccessories() {
288
252
  // Update persisted accessories
289
253
  this.saveCachedPlatformAccessoriesOnDisk();
290
254
  }
291
255
  handleUnregisterPlatformAccessories(accessories) {
292
- const hapAccessories = accessories.map(accessory => {
256
+ const hapAccessories = accessories.map((accessory) => {
293
257
  const index = this.cachedPlatformAccessories.indexOf(accessory);
294
258
  if (index >= 0) {
295
259
  this.cachedPlatformAccessories.splice(index, 1);
@@ -303,7 +267,7 @@ class BridgeService {
303
267
  const accessoryPin = this.bridgeConfig.pin;
304
268
  for (const accessory of accessories) {
305
269
  const hapAccessory = accessory._associatedHAPAccessory;
306
- const advertiseAddress = mac.generate(hapAccessory.UUID);
270
+ const advertiseAddress = generate(hapAccessory.UUID);
307
271
  // get external port allocation
308
272
  const accessoryPort = await this.externalPortService.requestPort(advertiseAddress);
309
273
  if (this.publishedExternalAccessories.has(advertiseAddress)) {
@@ -316,15 +280,14 @@ class BridgeService {
316
280
  if (plugin) {
317
281
  hapAccessory.on("characteristic-warning" /* AccessoryEventTypes.CHARACTERISTIC_WARNING */, BridgeService.printCharacteristicWriteWarning.bind(this, plugin, hapAccessory, { ignoreSlow: true }));
318
282
  }
319
- else if (pluginManager_1.PluginManager.isQualifiedPluginIdentifier(accessory._associatedPlugin)) {
283
+ else if (PluginManager.isQualifiedPluginIdentifier(accessory._associatedPlugin)) {
320
284
  // we did already complain in api.ts if it wasn't a qualified name
321
- log.warn("A platform configured a external accessory under the plugin name '%s'. However no loaded plugin could be found for the name!", accessory._associatedPlugin);
285
+ log.warn('A platform configured a external accessory under the plugin name \'%s\'. However no loaded plugin could be found for the name!', accessory._associatedPlugin);
322
286
  }
323
287
  hapAccessory.on("listening" /* AccessoryEventTypes.LISTENING */, (port) => {
324
- log.success("%s is running on port %s.", hapAccessory.displayName, port);
325
- log.info("Please add [%s] manually in Home app. Setup Code: %s", hapAccessory.displayName, accessoryPin);
288
+ log.success('%s is running on port %s.', hapAccessory.displayName, port);
289
+ log.info('Please add [%s] manually in Home app. Setup Code: %s', hapAccessory.displayName, accessoryPin);
326
290
  });
327
- // noinspection JSDeprecatedSymbols
328
291
  const publishInfo = {
329
292
  username: advertiseAddress,
330
293
  pincode: accessoryPin,
@@ -334,40 +297,38 @@ class BridgeService {
334
297
  addIdentifyingMaterial: true,
335
298
  advertiser: this.bridgeConfig.advertiser,
336
299
  };
337
- log.debug("Publishing external accessory (name: %s, publishInfo: %o).", hapAccessory.displayName, BridgeService.strippingPinCode(publishInfo));
300
+ log.debug('Publishing external accessory (name: %s, publishInfo: %o).', hapAccessory.displayName, BridgeService.strippingPinCode(publishInfo));
338
301
  hapAccessory.publish(publishInfo, this.allowInsecureAccess);
339
302
  }
340
303
  }
341
304
  createHAPAccessory(plugin, accessoryInstance, displayName, accessoryType, uuidBase) {
342
305
  const services = (accessoryInstance.getServices() || [])
343
306
  .filter(service => !!service); // filter out undefined values; a common mistake
344
- const controllers = (accessoryInstance.getControllers && accessoryInstance.getControllers() || [])
307
+ const controllers = ((accessoryInstance.getControllers && accessoryInstance.getControllers()) || [])
345
308
  .filter(controller => !!controller);
346
309
  if (services.length === 0 && controllers.length === 0) { // check that we only add valid accessory with at least one service
347
310
  return undefined;
348
311
  }
349
312
  // The returned "services" for this accessory are simply an array of new-API-style
350
313
  // Service instances which we can add to a created HAP-NodeJS Accessory directly.
351
- const accessoryUUID = hap_nodejs_1.uuid.generate(accessoryType + ":" + (uuidBase || displayName));
352
- const accessory = new hap_nodejs_1.Accessory(displayName, accessoryUUID);
314
+ const accessoryUUID = uuid.generate(`${accessoryType}:${uuidBase || displayName}`);
315
+ const accessory = new Accessory(displayName, accessoryUUID);
353
316
  // listen for the identify event if the accessory instance has defined an identify() method
354
317
  if (accessoryInstance.identify) {
355
318
  accessory.on("identify" /* AccessoryEventTypes.IDENTIFY */, (paired, callback) => {
356
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
357
- // @ts-ignore
358
- // eslint-disable-next-line @typescript-eslint/no-empty-function
359
- accessoryInstance.identify(() => { }); // empty callback for backwards compatibility
319
+ // @ts-expect-error: empty callback for backwards compatibility
320
+ accessoryInstance.identify(() => { });
360
321
  callback();
361
322
  });
362
323
  }
363
- const informationService = accessory.getService(hap_nodejs_1.Service.AccessoryInformation);
364
- services.forEach(service => {
324
+ const informationService = accessory.getService(Service.AccessoryInformation);
325
+ services.forEach((service) => {
365
326
  // if you returned an AccessoryInformation service, merge its values with ours
366
- if (service instanceof hap_nodejs_1.Service.AccessoryInformation) {
367
- service.setCharacteristic(hap_nodejs_1.Characteristic.Name, displayName); // ensure display name is set
327
+ if (service instanceof Service.AccessoryInformation) {
328
+ service.setCharacteristic(Characteristic.Name, displayName); // ensure display name is set
368
329
  // ensure the plugin has not hooked already some listeners (some weird ones do).
369
330
  // Otherwise, they would override our identify listener registered by the HAP-NodeJS accessory
370
- service.getCharacteristic(hap_nodejs_1.Characteristic.Identify).removeAllListeners("set" /* CharacteristicEventTypes.SET */);
331
+ service.getCharacteristic(Characteristic.Identify).removeAllListeners("set" /* CharacteristicEventTypes.SET */);
371
332
  // pull out any values and listeners (get and set) you may have defined
372
333
  informationService.replaceCharacteristicsFromService(service);
373
334
  }
@@ -376,36 +337,34 @@ class BridgeService {
376
337
  }
377
338
  });
378
339
  accessory.on("characteristic-warning" /* AccessoryEventTypes.CHARACTERISTIC_WARNING */, BridgeService.printCharacteristicWriteWarning.bind(this, plugin, accessory, {}));
379
- controllers.forEach(controller => {
340
+ controllers.forEach((controller) => {
380
341
  accessory.configureController(controller);
381
342
  });
382
343
  return accessory;
383
344
  }
384
345
  async loadPlatformAccessories(plugin, platformInstance, platformType, logger) {
385
346
  // Plugin 1.0, load accessories
386
- return new Promise(resolve => {
347
+ return new Promise((resolve) => {
387
348
  // warn the user if the static platform is blocking the startup of Homebridge for to long
388
349
  const loadDelayWarningInterval = setInterval(() => {
389
- log.warn((0, logger_1.getLogPrefix)(plugin.getPluginIdentifier()), "This plugin is taking long time to load and preventing Homebridge from starting. See https://homebridge.io/w/JtMGR for more info.");
350
+ log.warn(getLogPrefix(plugin.getPluginIdentifier()), 'This plugin is taking long time to load and preventing Homebridge from starting. See https://homebridge.io/w/JtMGR for more info.');
390
351
  }, 20000);
391
- platformInstance.accessories((0, hap_nodejs_1.once)((accessories) => {
352
+ platformInstance.accessories(once((accessories) => {
392
353
  // clear the load delay warning interval
393
354
  clearInterval(loadDelayWarningInterval);
394
355
  // loop through accessories adding them to the list and registering them
395
356
  accessories.forEach((accessoryInstance, index) => {
396
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
397
- // @ts-ignore
398
- const accessoryName = accessoryInstance.name; // assume this property was set
399
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
400
- // @ts-ignore
401
- const uuidBase = accessoryInstance.uuid_base; // optional base uuid
402
- log.info("Initializing platform accessory '%s'...", accessoryName);
357
+ // @ts-expect-error: assume this property was set
358
+ const accessoryName = accessoryInstance.name;
359
+ // @ts-expect-error: optional base uuid
360
+ const uuidBase = accessoryInstance.uuid_base;
361
+ log.info('Initializing platform accessory \'%s\'...', accessoryName);
403
362
  const accessory = this.createHAPAccessory(plugin, accessoryInstance, accessoryName, platformType, uuidBase);
404
363
  if (accessory) {
405
364
  this.bridge.addBridgedAccessory(accessory);
406
365
  }
407
366
  else {
408
- logger("Platform %s returned an accessory at index %d with an empty set of services. Won't adding it to the bridge!", platformType, index);
367
+ logger('Platform %s returned an accessory at index %d with an empty set of services. Won\'t adding it to the bridge!', platformType, index);
409
368
  }
410
369
  });
411
370
  resolve();
@@ -424,9 +383,8 @@ class BridgeService {
424
383
  const info = {
425
384
  ...publishInfo,
426
385
  };
427
- info.pincode = "***-**-***";
386
+ info.pincode = '***-**-***';
428
387
  return info;
429
388
  }
430
389
  }
431
- exports.BridgeService = BridgeService;
432
390
  //# sourceMappingURL=bridgeService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridgeService.js","sourceRoot":"","sources":["../src/bridgeService.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import "source-map-support/register";
2
- import { MacAddress } from "hap-nodejs";
3
- import { ChildProcessMessageEventType, ChildProcessLoadEventData, ChildProcessPortAllocatedEventData } from "./childBridgeService";
1
+ import type { MacAddress } from 'hap-nodejs';
2
+ import type { ChildProcessLoadEventData, ChildProcessPortAllocatedEventData } from './childBridgeService.js';
3
+ import 'source-map-support/register.js';
4
+ import { ChildProcessMessageEventType } from './childBridgeService.js';
4
5
  export declare class ChildBridgeFork {
5
6
  private bridgeService;
6
7
  private api;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"childBridgeFork.d.ts","sourceRoot":"","sources":["../src/childBridgeFork.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAU5C,OAAO,KAAK,EAEV,yBAAyB,EAGzB,kCAAkC,EAEnC,MAAM,yBAAyB,CAAA;AAMhC,OAAO,gCAAgC,CAAA;AAIvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AAYtE,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,mBAAmB,CAAiC;IAE5D,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,mBAAmB,CAAiE;;IAO5F,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI;IAStE,UAAU,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD1D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA8ElC;;;OAGG;IACU,mBAAmB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAoBnF;;;OAGG;IACI,sBAAsB,CAAC,IAAI,EAAE,kCAAkC,GAAG,IAAI;IAO7E;;OAEG;IACI,qBAAqB;IAO5B,QAAQ,IAAI,IAAI;CAGjB"}