homebridge 2.0.0-beta.44 → 2.0.0-beta.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.d.ts +3 -365
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +13 -85
- package/dist/api.js.map +1 -1
- package/dist/bridgeService.d.ts +0 -25
- package/dist/bridgeService.d.ts.map +1 -1
- package/dist/bridgeService.js +32 -85
- package/dist/bridgeService.js.map +1 -1
- package/dist/childBridgeFork.d.ts +12 -15
- package/dist/childBridgeFork.d.ts.map +1 -1
- package/dist/childBridgeFork.js +152 -83
- package/dist/childBridgeFork.js.map +1 -1
- package/dist/childBridgeService.d.ts +21 -105
- package/dist/childBridgeService.d.ts.map +1 -1
- package/dist/childBridgeService.js +57 -134
- package/dist/childBridgeService.js.map +1 -1
- package/dist/cli.js +0 -2
- package/dist/cli.js.map +1 -1
- package/dist/externalPortService.d.ts +0 -21
- package/dist/externalPortService.d.ts.map +1 -1
- package/dist/externalPortService.js +0 -28
- package/dist/externalPortService.js.map +1 -1
- package/dist/index.d.ts +0 -112
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -44
- package/dist/index.js.map +1 -1
- package/dist/ipcService.d.ts +23 -15
- package/dist/ipcService.d.ts.map +1 -1
- package/dist/ipcService.js +6 -12
- package/dist/ipcService.js.map +1 -1
- package/dist/logger.d.ts +0 -46
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +13 -57
- package/dist/logger.js.map +1 -1
- package/dist/matter/BaseMatterManager.d.ts +19 -0
- package/dist/matter/BaseMatterManager.d.ts.map +1 -0
- package/dist/matter/BaseMatterManager.js +170 -0
- package/dist/matter/BaseMatterManager.js.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts +7 -69
- package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
- package/dist/matter/ChildBridgeMatterManager.js +51 -234
- package/dist/matter/ChildBridgeMatterManager.js.map +1 -1
- package/dist/matter/ClusterCommandMapper.d.ts +5 -0
- package/dist/matter/ClusterCommandMapper.d.ts.map +1 -0
- package/dist/matter/ClusterCommandMapper.js +203 -0
- package/dist/matter/ClusterCommandMapper.js.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +0 -27
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.js +3 -28
- package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -1
- package/dist/matter/MatterAPIImpl.d.ts +0 -68
- package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
- package/dist/matter/MatterAPIImpl.js +7 -107
- package/dist/matter/MatterAPIImpl.js.map +1 -1
- package/dist/matter/MatterBridgeManager.d.ts +9 -60
- package/dist/matter/MatterBridgeManager.d.ts.map +1 -1
- package/dist/matter/MatterBridgeManager.js +140 -216
- package/dist/matter/MatterBridgeManager.js.map +1 -1
- package/dist/matter/MatterConfigCollector.d.ts +1 -20
- package/dist/matter/MatterConfigCollector.d.ts.map +1 -1
- package/dist/matter/MatterConfigCollector.js +15 -28
- package/dist/matter/MatterConfigCollector.js.map +1 -1
- package/dist/matter/accessoryCache.d.ts +0 -48
- package/dist/matter/accessoryCache.d.ts.map +1 -1
- package/dist/matter/accessoryCache.js +1 -60
- package/dist/matter/accessoryCache.js.map +1 -1
- package/dist/matter/behaviors/AirQualityBehavior.d.ts +0 -42
- package/dist/matter/behaviors/AirQualityBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/AirQualityBehavior.js +0 -44
- package/dist/matter/behaviors/AirQualityBehavior.js.map +1 -1
- package/dist/matter/behaviors/BehaviorRegistry.d.ts +4 -42
- package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -1
- package/dist/matter/behaviors/BehaviorRegistry.js +12 -42
- package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -1
- package/dist/matter/behaviors/ColorControlBehavior.d.ts +0 -49
- package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ColorControlBehavior.js +0 -90
- package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts +0 -91
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js +0 -96
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.js.map +1 -1
- package/dist/matter/behaviors/DoorLockBehavior.d.ts +0 -11
- package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/DoorLockBehavior.js +0 -25
- package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -1
- package/dist/matter/behaviors/FanControlBehavior.d.ts +0 -11
- package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/FanControlBehavior.js +0 -25
- package/dist/matter/behaviors/FanControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/IdentifyBehavior.d.ts +0 -11
- package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/IdentifyBehavior.js +0 -17
- package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -1
- package/dist/matter/behaviors/LevelControlBehavior.d.ts +0 -20
- package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/LevelControlBehavior.js +0 -52
- package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -1
- package/dist/matter/behaviors/OnOffBehavior.d.ts +0 -17
- package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/OnOffBehavior.js +0 -38
- package/dist/matter/behaviors/OnOffBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.js +0 -17
- package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js +0 -29
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +0 -11
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.js +0 -17
- package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +0 -11
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.js +0 -23
- package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -1
- package/dist/matter/behaviors/ThermostatBehavior.d.ts +0 -11
- package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/ThermostatBehavior.js +0 -39
- package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +0 -17
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.js +0 -56
- package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -1
- package/dist/matter/behaviors/index.d.ts +0 -5
- package/dist/matter/behaviors/index.d.ts.map +1 -1
- package/dist/matter/behaviors/index.js +0 -5
- package/dist/matter/behaviors/index.js.map +1 -1
- package/dist/matter/configValidator.d.ts +0 -55
- package/dist/matter/configValidator.d.ts.map +1 -1
- package/dist/matter/configValidator.js +1 -68
- package/dist/matter/configValidator.js.map +1 -1
- package/dist/matter/errorHandler.d.ts +0 -22
- package/dist/matter/errorHandler.d.ts.map +1 -1
- package/dist/matter/errorHandler.js +0 -32
- package/dist/matter/errorHandler.js.map +1 -1
- package/dist/matter/errors.d.ts +0 -132
- package/dist/matter/errors.d.ts.map +1 -1
- package/dist/matter/errors.js +0 -132
- package/dist/matter/errors.js.map +1 -1
- package/dist/matter/index.d.ts +0 -30
- package/dist/matter/index.d.ts.map +1 -1
- package/dist/matter/index.js +0 -13
- package/dist/matter/index.js.map +1 -1
- package/dist/matter/logFormatter.d.ts +0 -17
- package/dist/matter/logFormatter.d.ts.map +1 -1
- package/dist/matter/logFormatter.js +5 -63
- package/dist/matter/logFormatter.js.map +1 -1
- package/dist/matter/server.d.ts +12 -236
- package/dist/matter/server.d.ts.map +1 -1
- package/dist/matter/server.js +177 -488
- package/dist/matter/server.js.map +1 -1
- package/dist/matter/serverHelpers.d.ts +0 -56
- package/dist/matter/serverHelpers.d.ts.map +1 -1
- package/dist/matter/serverHelpers.js +1 -66
- package/dist/matter/serverHelpers.js.map +1 -1
- package/dist/matter/sharedTypes.d.ts +0 -83
- package/dist/matter/sharedTypes.d.ts.map +1 -1
- package/dist/matter/sharedTypes.js +0 -26
- package/dist/matter/sharedTypes.js.map +1 -1
- package/dist/matter/storage.d.ts +0 -90
- package/dist/matter/storage.d.ts.map +1 -1
- package/dist/matter/storage.js +2 -130
- package/dist/matter/storage.js.map +1 -1
- package/dist/matter/typeHelpers.d.ts +0 -30
- package/dist/matter/typeHelpers.d.ts.map +1 -1
- package/dist/matter/typeHelpers.js +0 -24
- package/dist/matter/typeHelpers.js.map +1 -1
- package/dist/matter/types.d.ts +0 -273
- package/dist/matter/types.d.ts.map +1 -1
- package/dist/matter/types.js +0 -83
- package/dist/matter/types.js.map +1 -1
- package/dist/platformAccessory.d.ts +0 -15
- package/dist/platformAccessory.d.ts.map +1 -1
- package/dist/platformAccessory.js +6 -32
- package/dist/platformAccessory.js.map +1 -1
- package/dist/plugin.d.ts +0 -3
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +6 -29
- package/dist/plugin.js.map +1 -1
- package/dist/pluginManager.d.ts +0 -22
- package/dist/pluginManager.d.ts.map +1 -1
- package/dist/pluginManager.js +18 -41
- package/dist/pluginManager.js.map +1 -1
- package/dist/server.d.ts +9 -29
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +308 -157
- package/dist/server.js.map +1 -1
- package/dist/user.d.ts +0 -3
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +2 -5
- package/dist/user.js.map +1 -1
- package/dist/util/mac.js +0 -1
- package/dist/util/mac.js.map +1 -1
- package/package.json +4 -4
- package/dist/api.spec.d.ts +0 -2
- package/dist/api.spec.d.ts.map +0 -1
- package/dist/api.spec.js +0 -413
- package/dist/api.spec.js.map +0 -1
- package/dist/logger.spec.d.ts +0 -2
- package/dist/logger.spec.d.ts.map +0 -1
- package/dist/logger.spec.js +0 -95
- package/dist/logger.spec.js.map +0 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts +0 -2
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts.map +0 -1
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js +0 -293
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js.map +0 -1
- package/dist/matter/accessoryCache.spec.d.ts +0 -2
- package/dist/matter/accessoryCache.spec.d.ts.map +0 -1
- package/dist/matter/accessoryCache.spec.js +0 -452
- package/dist/matter/accessoryCache.spec.js.map +0 -1
- package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts +0 -5
- package/dist/matter/behaviors/AirQualityBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/AirQualityBehavior.spec.js +0 -46
- package/dist/matter/behaviors/AirQualityBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts +0 -2
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/BehaviorRegistry.spec.js +0 -307
- package/dist/matter/behaviors/BehaviorRegistry.spec.js.map +0 -1
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ColorControlBehavior.spec.js +0 -29
- package/dist/matter/behaviors/ColorControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts +0 -5
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js +0 -95
- package/dist/matter/behaviors/ConcentrationMeasurementBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/DoorLockBehavior.spec.js +0 -120
- package/dist/matter/behaviors/DoorLockBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/FanControlBehavior.spec.js +0 -23
- package/dist/matter/behaviors/FanControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/IdentifyBehavior.spec.js +0 -64
- package/dist/matter/behaviors/IdentifyBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/LevelControlBehavior.spec.js +0 -145
- package/dist/matter/behaviors/LevelControlBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/OnOffBehavior.spec.js +0 -128
- package/dist/matter/behaviors/OnOffBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js +0 -57
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js +0 -55
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js +0 -57
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js +0 -53
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/ThermostatBehavior.spec.js +0 -23
- package/dist/matter/behaviors/ThermostatBehavior.spec.js.map +0 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts +0 -2
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts.map +0 -1
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js +0 -27
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js.map +0 -1
- package/dist/matter/configValidator.spec.d.ts +0 -2
- package/dist/matter/configValidator.spec.d.ts.map +0 -1
- package/dist/matter/configValidator.spec.js +0 -390
- package/dist/matter/configValidator.spec.js.map +0 -1
- package/dist/matter/errorHandler.spec.d.ts +0 -2
- package/dist/matter/errorHandler.spec.d.ts.map +0 -1
- package/dist/matter/errorHandler.spec.js +0 -159
- package/dist/matter/errorHandler.spec.js.map +0 -1
- package/dist/matter/logFormatter.spec.d.ts +0 -2
- package/dist/matter/logFormatter.spec.d.ts.map +0 -1
- package/dist/matter/logFormatter.spec.js +0 -252
- package/dist/matter/logFormatter.spec.js.map +0 -1
- package/dist/matter/serverHelpers.spec.d.ts +0 -2
- package/dist/matter/serverHelpers.spec.d.ts.map +0 -1
- package/dist/matter/serverHelpers.spec.js +0 -527
- package/dist/matter/serverHelpers.spec.js.map +0 -1
- package/dist/matter/storage.spec.d.ts +0 -2
- package/dist/matter/storage.spec.d.ts.map +0 -1
- package/dist/matter/storage.spec.js +0 -570
- package/dist/matter/storage.spec.js.map +0 -1
- package/dist/matter/typeHelpers.spec.d.ts +0 -2
- package/dist/matter/typeHelpers.spec.d.ts.map +0 -1
- package/dist/matter/typeHelpers.spec.js +0 -127
- package/dist/matter/typeHelpers.spec.js.map +0 -1
- package/dist/platformAccessory.spec.d.ts +0 -2
- package/dist/platformAccessory.spec.d.ts.map +0 -1
- package/dist/platformAccessory.spec.js +0 -126
- package/dist/platformAccessory.spec.js.map +0 -1
- package/dist/pluginManager.spec.d.ts +0 -2
- package/dist/pluginManager.spec.d.ts.map +0 -1
- package/dist/pluginManager.spec.js +0 -43
- package/dist/pluginManager.spec.js.map +0 -1
- package/dist/server.spec.d.ts +0 -2
- package/dist/server.spec.d.ts.map +0 -1
- package/dist/server.spec.js +0 -57
- package/dist/server.spec.js.map +0 -1
- package/dist/user.spec.d.ts +0 -2
- package/dist/user.spec.d.ts.map +0 -1
- package/dist/user.spec.js +0 -31
- package/dist/user.spec.js.map +0 -1
- package/dist/util/mac.spec.d.ts +0 -2
- package/dist/util/mac.spec.d.ts.map +0 -1
- package/dist/util/mac.spec.js +0 -36
- package/dist/util/mac.spec.js.map +0 -1
- package/dist/version.spec.d.ts +0 -2
- package/dist/version.spec.d.ts.map +0 -1
- package/dist/version.spec.js +0 -20
- package/dist/version.spec.js.map +0 -1
|
@@ -1,27 +1,19 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
2
|
import { Accessory } from 'hap-nodejs';
|
|
3
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
4
3
|
export var PlatformAccessoryEvent;
|
|
5
4
|
(function (PlatformAccessoryEvent) {
|
|
6
5
|
PlatformAccessoryEvent["IDENTIFY"] = "identify";
|
|
7
6
|
})(PlatformAccessoryEvent || (PlatformAccessoryEvent = {}));
|
|
8
|
-
// eslint-disable-next-line ts/no-unsafe-declaration-merging
|
|
9
7
|
export class PlatformAccessory extends EventEmitter {
|
|
10
|
-
// somewhat ugly way to inject custom Accessory object, while not changing the publicly exposed constructor signature
|
|
11
8
|
static injectedAccessory;
|
|
12
|
-
_associatedPlugin;
|
|
13
|
-
_associatedPlatform;
|
|
9
|
+
_associatedPlugin;
|
|
10
|
+
_associatedPlatform;
|
|
14
11
|
_associatedHAPAccessory;
|
|
15
|
-
// ---------------- HAP Accessory mirror ----------------
|
|
16
12
|
displayName;
|
|
17
13
|
UUID;
|
|
18
14
|
category;
|
|
19
15
|
services = [];
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* This is a way for Plugin developers to store custom data with their accessory
|
|
23
|
-
*/
|
|
24
|
-
context = {}; // providing something to store
|
|
16
|
+
context = {};
|
|
25
17
|
constructor(displayName, uuid, category) {
|
|
26
18
|
super();
|
|
27
19
|
this._associatedHAPAccessory = PlatformAccessory.injectedAccessory
|
|
@@ -32,12 +24,10 @@ export class PlatformAccessory extends EventEmitter {
|
|
|
32
24
|
}
|
|
33
25
|
this.displayName = this._associatedHAPAccessory.displayName;
|
|
34
26
|
this.UUID = this._associatedHAPAccessory.UUID;
|
|
35
|
-
this.category = category || 1
|
|
27
|
+
this.category = category || 1;
|
|
36
28
|
this.services = this._associatedHAPAccessory.services;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
// @ts-expect-error: empty callback for backwards compatibility
|
|
40
|
-
this.emit("identify" /* PlatformAccessoryEvent.IDENTIFY */, paired, () => { });
|
|
29
|
+
this._associatedHAPAccessory.on("identify", (paired, callback) => {
|
|
30
|
+
this.emit("identify", paired, () => { });
|
|
41
31
|
callback();
|
|
42
32
|
});
|
|
43
33
|
}
|
|
@@ -48,9 +38,6 @@ export class PlatformAccessory extends EventEmitter {
|
|
|
48
38
|
}
|
|
49
39
|
}
|
|
50
40
|
addService(service, ...constructorArgs) {
|
|
51
|
-
// @ts-expect-error: while the HAP-NodeJS interface was refined, the underlying implementation
|
|
52
|
-
// still only operates on an any[] array. Therefore, do not require any additional checks here
|
|
53
|
-
// we force the parameter unpack with expecting a ts-error.
|
|
54
41
|
return this._associatedHAPAccessory.addService(service, ...constructorArgs);
|
|
55
42
|
}
|
|
56
43
|
removeService(service) {
|
|
@@ -62,25 +49,12 @@ export class PlatformAccessory extends EventEmitter {
|
|
|
62
49
|
getServiceById(uuid, subType) {
|
|
63
50
|
return this._associatedHAPAccessory.getServiceById(uuid, subType);
|
|
64
51
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Configures a new controller for the given accessory.
|
|
67
|
-
* See {@link https://developers.homebridge.io/HAP-NodeJS/classes/accessory.html#configurecontroller | Accessory.configureController}.
|
|
68
|
-
*
|
|
69
|
-
* @param controller
|
|
70
|
-
*/
|
|
71
52
|
configureController(controller) {
|
|
72
53
|
this._associatedHAPAccessory.configureController(controller);
|
|
73
54
|
}
|
|
74
|
-
/**
|
|
75
|
-
* Removes a configured controller from the given accessory.
|
|
76
|
-
* See {@link https://developers.homebridge.io/HAP-NodeJS/classes/accessory.html#removecontroller | Accessory.removeController}.
|
|
77
|
-
*
|
|
78
|
-
* @param controller
|
|
79
|
-
*/
|
|
80
55
|
removeController(controller) {
|
|
81
56
|
this._associatedHAPAccessory.removeController(controller);
|
|
82
57
|
}
|
|
83
|
-
// private
|
|
84
58
|
static serialize(accessory) {
|
|
85
59
|
accessory._associatedHAPAccessory.displayName = accessory.displayName;
|
|
86
60
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAmC,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import type { AccessoryIdentifier, AccessoryName, AccessoryPluginConstructor, API, DynamicPlatformPlugin, PlatformIdentifier, PlatformName, PlatformPluginConstructor, PluginIdentifier, PluginName } from './api.js';
|
|
2
2
|
import type { PackageJSON } from './pluginManager.js';
|
|
3
|
-
/**
|
|
4
|
-
* Represents a loaded Homebridge plugin.
|
|
5
|
-
*/
|
|
6
3
|
export declare class Plugin {
|
|
7
4
|
private readonly pluginName;
|
|
8
5
|
private readonly scope?;
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,0BAA0B,EAC1B,GAAG,EACH,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,EAEhB,UAAU,EACX,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,0BAA0B,EAC1B,GAAG,EACH,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,EAEhB,UAAU,EACX,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAkBrD,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAC5B,QAAQ,UAAQ;IAGvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAAC,CAGnB;IAGD,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA4D;IAClG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA0D;IAC9F,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAwD;gBAEnF,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM;IA+C7E,mBAAmB,IAAI,gBAAgB;IAIvC,aAAa,IAAI,MAAM;IAIvB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,GAAG,IAAI;IAYrF,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,GAAG,IAAI;IAYlF,uBAAuB,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,aAAa,GAAG,0BAA0B;IAW7G,sBAAsB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,YAAY,GAAG,yBAAyB;IAiBxG,qBAAqB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,YAAY,EAAE,cAAc,EAAE,qBAAqB,GAAG,IAAI;IAczH,wBAAwB,CAAC,YAAY,EAAE,YAAY,GAAG,qBAAqB,GAAG,SAAS;IAMjF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD3B,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAOlD"}
|
package/dist/plugin.js
CHANGED
|
@@ -7,20 +7,15 @@ import { Logger } from './logger.js';
|
|
|
7
7
|
import { PluginManager } from './pluginManager.js';
|
|
8
8
|
import getVersion from './version.js';
|
|
9
9
|
const log = Logger.internal;
|
|
10
|
-
/**
|
|
11
|
-
* Represents a loaded Homebridge plugin.
|
|
12
|
-
*/
|
|
13
10
|
export class Plugin {
|
|
14
11
|
pluginName;
|
|
15
|
-
scope;
|
|
16
|
-
pluginPath;
|
|
17
|
-
disabled = false;
|
|
18
|
-
// ------------------ package.json content ------------------
|
|
12
|
+
scope;
|
|
13
|
+
pluginPath;
|
|
14
|
+
disabled = false;
|
|
19
15
|
version;
|
|
20
16
|
main;
|
|
21
17
|
loadContext;
|
|
22
|
-
|
|
23
|
-
pluginInitializer; // default exported function from the plugin that initializes it
|
|
18
|
+
pluginInitializer;
|
|
24
19
|
registeredAccessories = new Map();
|
|
25
20
|
registeredPlatforms = new Map();
|
|
26
21
|
activeDynamicPlatforms = new Map();
|
|
@@ -30,17 +25,12 @@ export class Plugin {
|
|
|
30
25
|
this.pluginPath = path;
|
|
31
26
|
this.version = packageJSON.version || '0.0.0';
|
|
32
27
|
this.main = '';
|
|
33
|
-
// figure out the main module
|
|
34
|
-
// exports is available - https://nodejs.org/dist/latest-v14.x/docs/api/packages.html#packages_package_entry_points
|
|
35
28
|
if (packageJSON.exports) {
|
|
36
|
-
// main entrypoint - https://nodejs.org/dist/latest-v14.x/docs/api/packages.html#packages_main_entry_point_export
|
|
37
29
|
if (typeof packageJSON.exports === 'string') {
|
|
38
30
|
this.main = packageJSON.exports;
|
|
39
31
|
}
|
|
40
|
-
else {
|
|
41
|
-
// conditional exports - https://nodejs.org/dist/latest-v14.x/docs/api/packages.html#packages_conditional_exports
|
|
32
|
+
else {
|
|
42
33
|
const exports = packageJSON.exports.import || packageJSON.exports.require || packageJSON.exports.node || packageJSON.exports.default || packageJSON.exports['.'];
|
|
43
|
-
// check if conditional export is nested
|
|
44
34
|
if (typeof exports !== 'string') {
|
|
45
35
|
if (exports.import) {
|
|
46
36
|
this.main = exports.import;
|
|
@@ -54,11 +44,9 @@ export class Plugin {
|
|
|
54
44
|
}
|
|
55
45
|
}
|
|
56
46
|
}
|
|
57
|
-
// exports search was not successful, fallback to package.main, using index.js as fallback
|
|
58
47
|
if (!this.main) {
|
|
59
48
|
this.main = packageJSON.main || './index.js';
|
|
60
49
|
}
|
|
61
|
-
// very temporary fix for first wave of plugins
|
|
62
50
|
if (packageJSON.peerDependencies && (!packageJSON.engines || !packageJSON.engines.homebridge)) {
|
|
63
51
|
packageJSON.engines = packageJSON.engines || {};
|
|
64
52
|
packageJSON.engines.homebridge = packageJSON.peerDependencies.homebridge;
|
|
@@ -106,7 +94,6 @@ export class Plugin {
|
|
|
106
94
|
if (!constructor) {
|
|
107
95
|
throw new Error(`The requested platform '${name}' was not registered by the plugin '${this.getPluginIdentifier()}'.`);
|
|
108
96
|
}
|
|
109
|
-
// If it's a dynamic platform plugin, ensure it's not enabled multiple times.
|
|
110
97
|
if (this.activeDynamicPlatforms.has(name)) {
|
|
111
98
|
throw new Error(`The dynamic platform ${name} from the plugin ${this.getPluginIdentifier()} is configured `
|
|
112
99
|
+ 'times in your config.json.');
|
|
@@ -120,33 +107,26 @@ export class Plugin {
|
|
|
120
107
|
platforms = [];
|
|
121
108
|
this.activeDynamicPlatforms.set(name, platforms);
|
|
122
109
|
}
|
|
123
|
-
// the last platform published should be at the first position for easy access
|
|
124
|
-
// we just try to mimic pre 1.0.0 behavior
|
|
125
110
|
platforms.unshift(platformPlugin);
|
|
126
111
|
}
|
|
127
112
|
getActiveDynamicPlatform(platformName) {
|
|
128
113
|
const platforms = this.activeDynamicPlatforms.get(platformName);
|
|
129
|
-
// we always use the last registered
|
|
130
114
|
return platforms && platforms[0];
|
|
131
115
|
}
|
|
132
116
|
async load() {
|
|
133
117
|
const context = this.loadContext;
|
|
134
118
|
assert(context, 'Reached illegal state. Plugin state is undefined!');
|
|
135
|
-
this.loadContext = undefined;
|
|
136
|
-
// pluck out the Homebridge version requirement
|
|
119
|
+
this.loadContext = undefined;
|
|
137
120
|
if (!context.engines || !context.engines.homebridge) {
|
|
138
121
|
throw new Error(`Plugin ${this.pluginPath} does not contain the 'homebridge' package in 'engines'.`);
|
|
139
122
|
}
|
|
140
123
|
const versionRequired = context.engines.homebridge;
|
|
141
124
|
const nodeVersionRequired = context.engines.node;
|
|
142
|
-
// make sure the version is satisfied by the currently running version of Homebridge
|
|
143
125
|
if (!satisfies(getVersion(), versionRequired, { includePrerelease: true })) {
|
|
144
|
-
// TODO - change this back to an error
|
|
145
126
|
log.warn(`The plugin "${this.pluginName}" requires a Homebridge version of ${versionRequired} which does \
|
|
146
127
|
not satisfy the current Homebridge version of v${getVersion()}. You may need to update this plugin (or Homebridge) to a newer version. \
|
|
147
128
|
You may face unexpected issues or stability problems running this plugin.`);
|
|
148
129
|
}
|
|
149
|
-
// make sure the version is satisfied by the currently running version of Node
|
|
150
130
|
if (nodeVersionRequired && !satisfies(process.version, nodeVersionRequired)) {
|
|
151
131
|
log.warn(`The plugin "${this.pluginName}" requires a Node.js version of ${nodeVersionRequired} which does \
|
|
152
132
|
not satisfy the current Node.js version of ${process.version}. You may need to upgrade your installation of Node.js - see https://homebridge.io/w/JTKEF`);
|
|
@@ -158,9 +138,6 @@ meaning they carry an additional copy of homebridge and hap-nodejs. This not onl
|
|
|
158
138
|
major incompatibility issues and thus is considered bad practice. Please inform the developer to update their plugin!`);
|
|
159
139
|
}
|
|
160
140
|
const mainPath = join(this.pluginPath, this.main);
|
|
161
|
-
// try to import it and grab the exported initialization hook
|
|
162
|
-
// pathToFileURL(specifier).href to turn a path into a "file url"
|
|
163
|
-
// see https://github.com/nodejs/node/issues/31710
|
|
164
141
|
const pluginModules = (await import(pathToFileURL(mainPath).href)).default;
|
|
165
142
|
if (typeof pluginModules === 'function') {
|
|
166
143
|
this.pluginInitializer = pluginModules;
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAeA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,UAAU,MAAM,cAAc,CAAA;AAErC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/pluginManager.d.ts
CHANGED
|
@@ -6,10 +6,6 @@ export interface PackageJSON {
|
|
|
6
6
|
keywords?: string[];
|
|
7
7
|
exports?: string | Record<string, string | Record<string, string>>;
|
|
8
8
|
main?: string;
|
|
9
|
-
/**
|
|
10
|
-
* When set as module, it marks .js file to be treated as ESM.
|
|
11
|
-
* See https://nodejs.org/dist/latest-v14.x/docs/api/esm.html#esm_enabling
|
|
12
|
-
*/
|
|
13
9
|
type?: 'module' | 'commonjs';
|
|
14
10
|
engines?: Record<string, string>;
|
|
15
11
|
dependencies?: Record<string, string>;
|
|
@@ -17,26 +13,11 @@ export interface PackageJSON {
|
|
|
17
13
|
peerDependencies?: Record<string, string>;
|
|
18
14
|
}
|
|
19
15
|
export interface PluginManagerOptions {
|
|
20
|
-
/**
|
|
21
|
-
* Additional path to search for plugins in. Specified relative to the current working directory.
|
|
22
|
-
*/
|
|
23
16
|
customPluginPath?: string;
|
|
24
|
-
/**
|
|
25
|
-
* If set, only load plugins from the customPluginPath, if set, otherwise only from the primary global node_modules.
|
|
26
|
-
*/
|
|
27
17
|
strictPluginResolution?: boolean;
|
|
28
|
-
/**
|
|
29
|
-
* When defined, only plugins specified here will be initialized.
|
|
30
|
-
*/
|
|
31
18
|
activePlugins?: PluginIdentifier[];
|
|
32
|
-
/**
|
|
33
|
-
* Plugins that are marked as disabled and whose corresponding config blocks should be ignored
|
|
34
|
-
*/
|
|
35
19
|
disabledPlugins?: PluginIdentifier[];
|
|
36
20
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Utility which exposes methods to search for installed Homebridge plugins
|
|
39
|
-
*/
|
|
40
21
|
export declare class PluginManager {
|
|
41
22
|
private static readonly PLUGIN_IDENTIFIER_PATTERN;
|
|
42
23
|
private readonly api;
|
|
@@ -65,9 +46,6 @@ export declare class PluginManager {
|
|
|
65
46
|
hasPluginRegistered(pluginIdentifier: PluginIdentifier): boolean;
|
|
66
47
|
getPlugin(pluginIdentifier: PluginIdentifier): Plugin | undefined;
|
|
67
48
|
getPluginByActiveDynamicPlatform(platformName: PlatformName): Plugin | undefined;
|
|
68
|
-
/**
|
|
69
|
-
* Gets all plugins installed on the local system
|
|
70
|
-
*/
|
|
71
49
|
private loadInstalledPlugins;
|
|
72
50
|
loadPlugin(absolutePath: string): Plugin;
|
|
73
51
|
private static loadPackageJSON;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginManager.d.ts","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EAEb,aAAa,EACb,kBAAkB,EAClB,YAAY,EAEZ,gBAAgB,EAChB,UAAU,EACX,MAAM,UAAU,CAAA;AAUjB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMpC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IAGnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"pluginManager.d.ts","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"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"}
|
package/dist/pluginManager.js
CHANGED
|
@@ -8,23 +8,18 @@ import { Plugin } from './plugin.js';
|
|
|
8
8
|
const log = Logger.internal;
|
|
9
9
|
const require = createRequire(import.meta.url);
|
|
10
10
|
const paths = require.resolve.paths('');
|
|
11
|
-
/**
|
|
12
|
-
* Utility which exposes methods to search for installed Homebridge plugins
|
|
13
|
-
*/
|
|
14
11
|
export class PluginManager {
|
|
15
|
-
// name must be prefixed with 'homebridge-' or '@scope/homebridge-'
|
|
16
12
|
static PLUGIN_IDENTIFIER_PATTERN = /^((@[\w-]+(\.[\w-]+)*)\/)?(homebridge-[\w-]+)$/;
|
|
17
13
|
api;
|
|
18
|
-
searchPaths = new Set();
|
|
14
|
+
searchPaths = new Set();
|
|
19
15
|
strictPluginResolution = false;
|
|
20
16
|
activePlugins;
|
|
21
17
|
disabledPlugins;
|
|
22
18
|
plugins = new Map();
|
|
23
|
-
// we have some plugins which simply pass a wrong or misspelled plugin name to the api calls, this translation tries to mitigate this
|
|
24
19
|
pluginIdentifierTranslation = new Map();
|
|
25
20
|
accessoryToPluginMap = new Map();
|
|
26
21
|
platformToPluginMap = new Map();
|
|
27
|
-
currentInitializingPlugin;
|
|
22
|
+
currentInitializingPlugin;
|
|
28
23
|
constructor(api, options) {
|
|
29
24
|
this.api = api;
|
|
30
25
|
if (options) {
|
|
@@ -35,8 +30,8 @@ export class PluginManager {
|
|
|
35
30
|
this.activePlugins = options.activePlugins;
|
|
36
31
|
this.disabledPlugins = Array.isArray(options.disabledPlugins) ? options.disabledPlugins : undefined;
|
|
37
32
|
}
|
|
38
|
-
this.api.on("registerAccessory"
|
|
39
|
-
this.api.on("registerPlatform"
|
|
33
|
+
this.api.on("registerAccessory", this.handleRegisterAccessory.bind(this));
|
|
34
|
+
this.api.on("registerPlatform", this.handleRegisterPlatform.bind(this));
|
|
40
35
|
}
|
|
41
36
|
static isQualifiedPluginIdentifier(identifier) {
|
|
42
37
|
return PluginManager.PLUGIN_IDENTIFIER_PATTERN.test(identifier);
|
|
@@ -94,7 +89,7 @@ export class PluginManager {
|
|
|
94
89
|
async initializePlugin(plugin, identifier) {
|
|
95
90
|
try {
|
|
96
91
|
this.currentInitializingPlugin = plugin;
|
|
97
|
-
await plugin.initialize(this.api);
|
|
92
|
+
await plugin.initialize(this.api);
|
|
98
93
|
}
|
|
99
94
|
catch (error) {
|
|
100
95
|
log.error('====================');
|
|
@@ -138,14 +133,13 @@ export class PluginManager {
|
|
|
138
133
|
}
|
|
139
134
|
getPluginForAccessory(accessoryIdentifier) {
|
|
140
135
|
let plugin;
|
|
141
|
-
if (!accessoryIdentifier.includes('.')) {
|
|
136
|
+
if (!accessoryIdentifier.includes('.')) {
|
|
142
137
|
let found = this.accessoryToPluginMap.get(accessoryIdentifier);
|
|
143
138
|
if (!found) {
|
|
144
139
|
throw new Error(`No plugin was found for the accessory "${accessoryIdentifier}" in your config.json. Please make sure the corresponding plugin is installed correctly.`);
|
|
145
140
|
}
|
|
146
141
|
if (found.length > 1) {
|
|
147
142
|
const options = found.map(plugin => `${plugin.getPluginIdentifier()}.${accessoryIdentifier}`).join(', ');
|
|
148
|
-
// check if only one of the multiple platforms is not disabled
|
|
149
143
|
found = found.filter(plugin => !plugin.disabled);
|
|
150
144
|
if (found.length !== 1) {
|
|
151
145
|
throw new Error(`The requested accessory '${accessoryIdentifier}' has been registered multiple times. Please be more specific by writing one of: ${options}`);
|
|
@@ -165,14 +159,13 @@ export class PluginManager {
|
|
|
165
159
|
}
|
|
166
160
|
getPluginForPlatform(platformIdentifier) {
|
|
167
161
|
let plugin;
|
|
168
|
-
if (!platformIdentifier.includes('.')) {
|
|
162
|
+
if (!platformIdentifier.includes('.')) {
|
|
169
163
|
let found = this.platformToPluginMap.get(platformIdentifier);
|
|
170
164
|
if (!found) {
|
|
171
165
|
throw new Error(`No plugin was found for the platform "${platformIdentifier}" in your config.json. Please make sure the corresponding plugin is installed correctly.`);
|
|
172
166
|
}
|
|
173
167
|
if (found.length > 1) {
|
|
174
168
|
const options = found.map(plugin => `${plugin.getPluginIdentifier()}.${platformIdentifier}`).join(', ');
|
|
175
|
-
// check if only one of the multiple platforms is not disabled
|
|
176
169
|
found = found.filter(plugin => !plugin.disabled);
|
|
177
170
|
if (found.length !== 1) {
|
|
178
171
|
throw new Error(`The requested platform '${platformIdentifier}' has been registered multiple times. Please be more specific by writing one of: ${options}`);
|
|
@@ -220,16 +213,13 @@ export class PluginManager {
|
|
|
220
213
|
return found[0];
|
|
221
214
|
}
|
|
222
215
|
}
|
|
223
|
-
/**
|
|
224
|
-
* Gets all plugins installed on the local system
|
|
225
|
-
*/
|
|
226
216
|
loadInstalledPlugins() {
|
|
227
217
|
this.loadDefaultPaths();
|
|
228
218
|
this.searchPaths.forEach((searchPath) => {
|
|
229
|
-
if (!existsSync(searchPath)) {
|
|
219
|
+
if (!existsSync(searchPath)) {
|
|
230
220
|
return;
|
|
231
221
|
}
|
|
232
|
-
if (existsSync(join(searchPath, 'package.json'))) {
|
|
222
|
+
if (existsSync(join(searchPath, 'package.json'))) {
|
|
233
223
|
try {
|
|
234
224
|
this.loadPlugin(searchPath);
|
|
235
225
|
}
|
|
@@ -237,8 +227,8 @@ export class PluginManager {
|
|
|
237
227
|
log.warn(error.message);
|
|
238
228
|
}
|
|
239
229
|
}
|
|
240
|
-
else {
|
|
241
|
-
const relativePluginPaths = readdirSync(searchPath)
|
|
230
|
+
else {
|
|
231
|
+
const relativePluginPaths = readdirSync(searchPath)
|
|
242
232
|
.filter((relativePath) => {
|
|
243
233
|
try {
|
|
244
234
|
return statSync(resolve(searchPath, relativePath)).isDirectory();
|
|
@@ -248,11 +238,9 @@ export class PluginManager {
|
|
|
248
238
|
return false;
|
|
249
239
|
}
|
|
250
240
|
});
|
|
251
|
-
// expand out @scoped plugins
|
|
252
241
|
relativePluginPaths.slice()
|
|
253
|
-
.filter(path => path.charAt(0) === '@')
|
|
242
|
+
.filter(path => path.charAt(0) === '@')
|
|
254
243
|
.forEach((scopeDirectory) => {
|
|
255
|
-
// remove scopeDirectory from the path list
|
|
256
244
|
const index = relativePluginPaths.indexOf(scopeDirectory);
|
|
257
245
|
relativePluginPaths.splice(index, 1);
|
|
258
246
|
const absolutePath = join(searchPath, scopeDirectory);
|
|
@@ -271,8 +259,8 @@ export class PluginManager {
|
|
|
271
259
|
});
|
|
272
260
|
relativePluginPaths
|
|
273
261
|
.filter((pluginIdentifier) => {
|
|
274
|
-
return PluginManager.isQualifiedPluginIdentifier(pluginIdentifier)
|
|
275
|
-
&& (!this.activePlugins || this.activePlugins.includes(pluginIdentifier));
|
|
262
|
+
return PluginManager.isQualifiedPluginIdentifier(pluginIdentifier)
|
|
263
|
+
&& (!this.activePlugins || this.activePlugins.includes(pluginIdentifier));
|
|
276
264
|
})
|
|
277
265
|
.forEach((pluginIdentifier) => {
|
|
278
266
|
try {
|
|
@@ -293,8 +281,8 @@ export class PluginManager {
|
|
|
293
281
|
const packageJson = PluginManager.loadPackageJSON(absolutePath);
|
|
294
282
|
const identifier = packageJson.name;
|
|
295
283
|
const name = PluginManager.extractPluginName(identifier);
|
|
296
|
-
const scope = PluginManager.extractPluginScope(identifier);
|
|
297
|
-
const alreadyInstalled = this.plugins.get(identifier);
|
|
284
|
+
const scope = PluginManager.extractPluginScope(identifier);
|
|
285
|
+
const alreadyInstalled = this.plugins.get(identifier);
|
|
298
286
|
if (alreadyInstalled) {
|
|
299
287
|
throw new Error(`Warning: skipping plugin found at '${absolutePath}' since we already loaded the same plugin from '${alreadyInstalled.getPluginPath()}'.`);
|
|
300
288
|
}
|
|
@@ -309,7 +297,7 @@ export class PluginManager {
|
|
|
309
297
|
throw new Error(`Plugin ${pluginPath} does not contain a package.json.`);
|
|
310
298
|
}
|
|
311
299
|
try {
|
|
312
|
-
packageJson = JSON.parse(readFileSync(packageJsonPath, { encoding: 'utf8' }));
|
|
300
|
+
packageJson = JSON.parse(readFileSync(packageJsonPath, { encoding: 'utf8' }));
|
|
313
301
|
}
|
|
314
302
|
catch (error) {
|
|
315
303
|
throw new Error(`Plugin ${pluginPath} contains an invalid package.json. Error: ${error}`);
|
|
@@ -317,7 +305,6 @@ export class PluginManager {
|
|
|
317
305
|
if (!packageJson.name || !PluginManager.isQualifiedPluginIdentifier(packageJson.name)) {
|
|
318
306
|
throw new Error(`Plugin ${pluginPath} does not have a package name that begins with 'homebridge-' or '@scope/homebridge-.`);
|
|
319
307
|
}
|
|
320
|
-
// verify that it's tagged with the correct keyword
|
|
321
308
|
if (!packageJson.keywords || !packageJson.keywords.includes('homebridge-plugin')) {
|
|
322
309
|
throw new Error(`Plugin ${pluginPath} package.json does not contain the keyword 'homebridge-plugin'.`);
|
|
323
310
|
}
|
|
@@ -325,32 +312,22 @@ export class PluginManager {
|
|
|
325
312
|
}
|
|
326
313
|
loadDefaultPaths() {
|
|
327
314
|
if (this.strictPluginResolution) {
|
|
328
|
-
// if strict plugin resolution is enabled:
|
|
329
|
-
// * only use custom plugin path, if set;
|
|
330
|
-
// * otherwise add the current npm global prefix (e.g. /usr/local/lib/node_modules)
|
|
331
315
|
if (this.searchPaths.size === 0) {
|
|
332
316
|
this.addNpmPrefixToSearchPaths();
|
|
333
317
|
}
|
|
334
318
|
return;
|
|
335
319
|
}
|
|
336
320
|
if (paths) {
|
|
337
|
-
// add the paths used by require()
|
|
338
321
|
paths.forEach(path => this.searchPaths.add(path));
|
|
339
322
|
}
|
|
340
|
-
// THIS SECTION FROM: https://github.com/yeoman/environment/blob/master/lib/resolver.js
|
|
341
|
-
// Adding global npm directories
|
|
342
|
-
// We tried using npm to get the global modules path, but it hasn't work out
|
|
343
|
-
// because of bugs in the parsable implementation of `ls` command and mostly
|
|
344
|
-
// performance issues. So, we go with our best bet for now.
|
|
345
323
|
if (process.env.NODE_PATH) {
|
|
346
324
|
process.env
|
|
347
325
|
.NODE_PATH
|
|
348
326
|
.split(delimiter)
|
|
349
|
-
.filter(path => !!path)
|
|
327
|
+
.filter(path => !!path)
|
|
350
328
|
.forEach(path => this.searchPaths.add(path));
|
|
351
329
|
}
|
|
352
330
|
else {
|
|
353
|
-
// Default paths for non-windows systems
|
|
354
331
|
if (process.platform !== 'win32') {
|
|
355
332
|
this.searchPaths.add('/usr/local/lib/node_modules');
|
|
356
333
|
this.searchPaths.add('/usr/lib/node_modules');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginManager.js","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pluginManager.js","sourceRoot":"","sources":["../src/pluginManager.ts"],"names":[],"mappings":"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"}
|