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
package/dist/logger.d.ts
CHANGED
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Log levels to indicate importance of the logged message.
|
|
3
|
-
* Every level corresponds to a certain color.
|
|
4
|
-
*
|
|
5
|
-
* - INFO: no color
|
|
6
|
-
* - SUCCESS: green
|
|
7
|
-
* - WARN: yellow
|
|
8
|
-
* - ERROR: red
|
|
9
|
-
* - DEBUG: gray
|
|
10
|
-
*
|
|
11
|
-
* Messages with DEBUG level are only displayed if explicitly enabled.
|
|
12
|
-
*/
|
|
13
1
|
export declare const enum LogLevel {
|
|
14
2
|
INFO = "info",
|
|
15
3
|
SUCCESS = "success",
|
|
@@ -17,10 +5,6 @@ export declare const enum LogLevel {
|
|
|
17
5
|
ERROR = "error",
|
|
18
6
|
DEBUG = "debug"
|
|
19
7
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Represents a logging device which can be used directly as a function (for INFO logging)
|
|
22
|
-
* but also has dedicated logging functions for respective logging levels.
|
|
23
|
-
*/
|
|
24
8
|
export interface Logging {
|
|
25
9
|
prefix: string;
|
|
26
10
|
(message: string, ...parameters: any[]): void;
|
|
@@ -31,9 +15,6 @@ export interface Logging {
|
|
|
31
15
|
debug: (message: string, ...parameters: any[]) => void;
|
|
32
16
|
log: (level: LogLevel, message: string, ...parameters: any[]) => void;
|
|
33
17
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Logger class
|
|
36
|
-
*/
|
|
37
18
|
export declare class Logger {
|
|
38
19
|
static readonly internal: Logger;
|
|
39
20
|
private static readonly loggerCache;
|
|
@@ -41,33 +22,10 @@ export declare class Logger {
|
|
|
41
22
|
private static timestampEnabled;
|
|
42
23
|
readonly prefix?: string;
|
|
43
24
|
constructor(prefix?: string);
|
|
44
|
-
/**
|
|
45
|
-
* Creates a new Logging device with a specified prefix.
|
|
46
|
-
*
|
|
47
|
-
* @param prefix {string} - the prefix of the logger
|
|
48
|
-
*/
|
|
49
25
|
static withPrefix(prefix: string): Logging;
|
|
50
|
-
/**
|
|
51
|
-
* Turns on debug level logging. Off by default.
|
|
52
|
-
*
|
|
53
|
-
* @param enabled {boolean}
|
|
54
|
-
*/
|
|
55
26
|
static setDebugEnabled(enabled?: boolean): void;
|
|
56
|
-
/**
|
|
57
|
-
* Turns on inclusion of timestamps in log messages. On by default.
|
|
58
|
-
*
|
|
59
|
-
* @param enabled {boolean}
|
|
60
|
-
*/
|
|
61
27
|
static setTimestampEnabled(enabled?: boolean): void;
|
|
62
|
-
/**
|
|
63
|
-
* Check if timestamps are enabled in log messages.
|
|
64
|
-
*
|
|
65
|
-
* @returns {boolean} true if timestamps are enabled
|
|
66
|
-
*/
|
|
67
28
|
static isTimestampEnabled(): boolean;
|
|
68
|
-
/**
|
|
69
|
-
* Forces color in logging output, even if it seems like color is unsupported.
|
|
70
|
-
*/
|
|
71
29
|
static forceColor(): void;
|
|
72
30
|
info(message: string, ...parameters: any[]): void;
|
|
73
31
|
success(message: string, ...parameters: any[]): void;
|
|
@@ -76,9 +34,5 @@ export declare class Logger {
|
|
|
76
34
|
debug(message: string, ...parameters: any[]): void;
|
|
77
35
|
log(level: LogLevel, message: string, ...parameters: any[]): void;
|
|
78
36
|
}
|
|
79
|
-
/**
|
|
80
|
-
* Gets the prefix
|
|
81
|
-
* @param prefix
|
|
82
|
-
*/
|
|
83
37
|
export declare function getLogPrefix(prefix: string): string;
|
|
84
38
|
//# sourceMappingURL=logger.d.ts.map
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAiBA,0BAAkB,QAAQ;IACxB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAMD,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAA;IACd,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACxD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACrD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IACtD,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CACtE;AAgBD,qBAAa,MAAM;IACjB,gBAAuB,QAAQ,SAAe;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAChE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAQ;IACnC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAO;IAEtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;gBAEZ,MAAM,CAAC,EAAE,MAAM;IAS3B,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;WA8B5B,eAAe,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;WAS9C,mBAAmB,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;WASlD,kBAAkB,IAAI,OAAO;WAO7B,UAAU,IAAI,IAAI;IAIzB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIjD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIlD,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;CAoCzE;AAMD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
package/dist/logger.js
CHANGED
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
import util from 'node:util';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
-
/**
|
|
4
|
-
* Log levels to indicate importance of the logged message.
|
|
5
|
-
* Every level corresponds to a certain color.
|
|
6
|
-
*
|
|
7
|
-
* - INFO: no color
|
|
8
|
-
* - SUCCESS: green
|
|
9
|
-
* - WARN: yellow
|
|
10
|
-
* - ERROR: red
|
|
11
|
-
* - DEBUG: gray
|
|
12
|
-
*
|
|
13
|
-
* Messages with DEBUG level are only displayed if explicitly enabled.
|
|
14
|
-
*/
|
|
15
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
16
3
|
export var LogLevel;
|
|
17
4
|
(function (LogLevel) {
|
|
18
5
|
LogLevel["INFO"] = "info";
|
|
@@ -21,23 +8,15 @@ export var LogLevel;
|
|
|
21
8
|
LogLevel["ERROR"] = "error";
|
|
22
9
|
LogLevel["DEBUG"] = "debug";
|
|
23
10
|
})(LogLevel || (LogLevel = {}));
|
|
24
|
-
/**
|
|
25
|
-
* Logger class
|
|
26
|
-
*/
|
|
27
11
|
export class Logger {
|
|
28
12
|
static internal = new Logger();
|
|
29
|
-
static loggerCache = new Map();
|
|
13
|
+
static loggerCache = new Map();
|
|
30
14
|
static debugEnabled = false;
|
|
31
15
|
static timestampEnabled = true;
|
|
32
16
|
prefix;
|
|
33
17
|
constructor(prefix) {
|
|
34
18
|
this.prefix = prefix;
|
|
35
19
|
}
|
|
36
|
-
/**
|
|
37
|
-
* Creates a new Logging device with a specified prefix.
|
|
38
|
-
*
|
|
39
|
-
* @param prefix {string} - the prefix of the logger
|
|
40
|
-
*/
|
|
41
20
|
static withPrefix(prefix) {
|
|
42
21
|
const loggerStuff = Logger.loggerCache.get(prefix);
|
|
43
22
|
if (loggerStuff) {
|
|
@@ -53,76 +32,57 @@ export class Logger {
|
|
|
53
32
|
log.debug = logger.debug;
|
|
54
33
|
log.log = logger.log;
|
|
55
34
|
log.prefix = logger.prefix;
|
|
56
|
-
// @ts-expect-error: I aimed to not use ts-ignore in this project, but this evil "thing" above is hell
|
|
57
35
|
const logging = log;
|
|
58
36
|
Logger.loggerCache.set(prefix, logging);
|
|
59
37
|
return logging;
|
|
60
38
|
}
|
|
61
39
|
}
|
|
62
|
-
/**
|
|
63
|
-
* Turns on debug level logging. Off by default.
|
|
64
|
-
*
|
|
65
|
-
* @param enabled {boolean}
|
|
66
|
-
*/
|
|
67
40
|
static setDebugEnabled(enabled = true) {
|
|
68
41
|
Logger.debugEnabled = enabled;
|
|
69
42
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Turns on inclusion of timestamps in log messages. On by default.
|
|
72
|
-
*
|
|
73
|
-
* @param enabled {boolean}
|
|
74
|
-
*/
|
|
75
43
|
static setTimestampEnabled(enabled = true) {
|
|
76
44
|
Logger.timestampEnabled = enabled;
|
|
77
45
|
}
|
|
78
|
-
/**
|
|
79
|
-
* Check if timestamps are enabled in log messages.
|
|
80
|
-
*
|
|
81
|
-
* @returns {boolean} true if timestamps are enabled
|
|
82
|
-
*/
|
|
83
46
|
static isTimestampEnabled() {
|
|
84
47
|
return Logger.timestampEnabled;
|
|
85
48
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Forces color in logging output, even if it seems like color is unsupported.
|
|
88
|
-
*/
|
|
89
49
|
static forceColor() {
|
|
90
|
-
chalk.level = 1;
|
|
50
|
+
chalk.level = 1;
|
|
91
51
|
}
|
|
92
52
|
info(message, ...parameters) {
|
|
93
|
-
this.log("info"
|
|
53
|
+
this.log("info", message, ...parameters);
|
|
94
54
|
}
|
|
95
55
|
success(message, ...parameters) {
|
|
96
|
-
this.log("success"
|
|
56
|
+
this.log("success", message, ...parameters);
|
|
97
57
|
}
|
|
98
58
|
warn(message, ...parameters) {
|
|
99
|
-
this.log("warn"
|
|
59
|
+
this.log("warn", message, ...parameters);
|
|
100
60
|
}
|
|
101
61
|
error(message, ...parameters) {
|
|
102
|
-
this.log("error"
|
|
62
|
+
this.log("error", message, ...parameters);
|
|
103
63
|
}
|
|
104
64
|
debug(message, ...parameters) {
|
|
105
|
-
this.log("debug"
|
|
65
|
+
this.log("debug", message, ...parameters);
|
|
106
66
|
}
|
|
107
67
|
log(level, message, ...parameters) {
|
|
108
|
-
if (level === "debug"
|
|
68
|
+
if (level === "debug" && !Logger.debugEnabled) {
|
|
109
69
|
return;
|
|
110
70
|
}
|
|
111
71
|
message = util.format(message, ...parameters);
|
|
112
|
-
let loggingFunction = console.log;
|
|
72
|
+
let loggingFunction = console.log;
|
|
113
73
|
switch (level) {
|
|
114
|
-
case "success"
|
|
74
|
+
case "success":
|
|
115
75
|
message = chalk.green(message);
|
|
116
76
|
break;
|
|
117
|
-
case "warn"
|
|
77
|
+
case "warn":
|
|
118
78
|
message = chalk.yellow(message);
|
|
119
79
|
loggingFunction = console.error;
|
|
120
80
|
break;
|
|
121
|
-
case "error"
|
|
81
|
+
case "error":
|
|
122
82
|
message = chalk.red(message);
|
|
123
83
|
loggingFunction = console.error;
|
|
124
84
|
break;
|
|
125
|
-
case "debug"
|
|
85
|
+
case "debug":
|
|
126
86
|
message = chalk.gray(message);
|
|
127
87
|
break;
|
|
128
88
|
}
|
|
@@ -136,10 +96,6 @@ export class Logger {
|
|
|
136
96
|
loggingFunction(message);
|
|
137
97
|
}
|
|
138
98
|
}
|
|
139
|
-
/**
|
|
140
|
-
* Gets the prefix
|
|
141
|
-
* @param prefix
|
|
142
|
-
*/
|
|
143
99
|
export function getLogPrefix(prefix) {
|
|
144
100
|
return chalk.cyan(`[${prefix}]`);
|
|
145
101
|
}
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { PluginManager } from '../pluginManager.js';
|
|
2
|
+
import type { InternalMatterAccessory } from './types.js';
|
|
3
|
+
import { MatterServer } from './server.js';
|
|
4
|
+
export declare abstract class BaseMatterManager {
|
|
5
|
+
protected matterServer?: MatterServer;
|
|
6
|
+
protected readonly externalMatterServers: Map<string, MatterServer>;
|
|
7
|
+
protected readonly pluginManager: PluginManager;
|
|
8
|
+
constructor(pluginManager: PluginManager);
|
|
9
|
+
handleTriggerCommand(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
|
|
10
|
+
handleUpdateAccessoryState(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
|
|
11
|
+
enableStateMonitoring(): void;
|
|
12
|
+
disableStateMonitoring(): void;
|
|
13
|
+
restoreCachedAccessories(keepOrphaned: boolean): void;
|
|
14
|
+
handleRegisterPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: InternalMatterAccessory[]): Promise<void>;
|
|
15
|
+
handleUpdatePlatformAccessories(accessories: InternalMatterAccessory[]): Promise<void>;
|
|
16
|
+
handleUnregisterPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: InternalMatterAccessory[]): Promise<void>;
|
|
17
|
+
handleUnregisterExternalAccessories(accessories: InternalMatterAccessory[]): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=BaseMatterManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseMatterManager.d.ts","sourceRoot":"","sources":["../../src/matter/BaseMatterManager.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AASzD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAQ1C,8BAAsB,iBAAiB;IACrC,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACrC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAY;IAC/E,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;gBAEnC,aAAa,EAAE,aAAa;IASlC,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCxH,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpI,qBAAqB,IAAI,IAAI;IAW7B,sBAAsB,IAAI,IAAI;IAW9B,wBAAwB,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAsD/C,iCAAiC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxI,+BAA+B,CAAC,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BtF,mCAAmC,CAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY1I,mCAAmC,CAAC,WAAW,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAwCjG"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { rmSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { Logger } from '../logger.js';
|
|
4
|
+
import { User } from '../user.js';
|
|
5
|
+
import { generate } from '../util/mac.js';
|
|
6
|
+
import { mapAttributesToCommand } from './ClusterCommandMapper.js';
|
|
7
|
+
const log = Logger.withPrefix('Matter/BaseManager');
|
|
8
|
+
export class BaseMatterManager {
|
|
9
|
+
matterServer;
|
|
10
|
+
externalMatterServers = new Map();
|
|
11
|
+
pluginManager;
|
|
12
|
+
constructor(pluginManager) {
|
|
13
|
+
this.pluginManager = pluginManager;
|
|
14
|
+
}
|
|
15
|
+
async handleTriggerCommand(uuid, cluster, attributes, partId) {
|
|
16
|
+
const commandMapping = mapAttributesToCommand(cluster, attributes);
|
|
17
|
+
const externalServer = this.externalMatterServers.get(uuid);
|
|
18
|
+
if (externalServer) {
|
|
19
|
+
if (commandMapping) {
|
|
20
|
+
await externalServer.triggerCommand(uuid, cluster, commandMapping.command, commandMapping.args, partId);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
await externalServer.updateAccessoryState(uuid, cluster, attributes, partId);
|
|
24
|
+
}
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (!this.matterServer) {
|
|
28
|
+
throw new Error(`Accessory ${uuid} not found on this bridge`);
|
|
29
|
+
}
|
|
30
|
+
if (commandMapping) {
|
|
31
|
+
await this.matterServer.triggerCommand(uuid, cluster, commandMapping.command, commandMapping.args, partId);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
await this.matterServer.updateAccessoryState(uuid, cluster, attributes, partId);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async handleUpdateAccessoryState(uuid, cluster, attributes, partId) {
|
|
38
|
+
const externalServer = this.externalMatterServers.get(uuid);
|
|
39
|
+
if (externalServer) {
|
|
40
|
+
await externalServer.updateAccessoryState(uuid, cluster, attributes, partId);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!this.matterServer) {
|
|
44
|
+
throw new Error(`Accessory ${uuid} not found on this bridge`);
|
|
45
|
+
}
|
|
46
|
+
await this.matterServer.updateAccessoryState(uuid, cluster, attributes, partId);
|
|
47
|
+
}
|
|
48
|
+
enableStateMonitoring() {
|
|
49
|
+
log.debug('Enabling Matter state monitoring');
|
|
50
|
+
this.matterServer?.enableStateMonitoring();
|
|
51
|
+
for (const externalServer of this.externalMatterServers.values()) {
|
|
52
|
+
externalServer.enableStateMonitoring();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
disableStateMonitoring() {
|
|
56
|
+
log.debug('Disabling Matter state monitoring');
|
|
57
|
+
this.matterServer?.disableStateMonitoring();
|
|
58
|
+
for (const externalServer of this.externalMatterServers.values()) {
|
|
59
|
+
externalServer.disableStateMonitoring();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
restoreCachedAccessories(keepOrphaned) {
|
|
63
|
+
if (!this.matterServer) {
|
|
64
|
+
log.debug('Matter server not available for restoring cached accessories');
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const cachedAccessories = this.matterServer.getAllCachedAccessories();
|
|
68
|
+
log.debug(`Restoring ${cachedAccessories.length} cached Matter accessories`);
|
|
69
|
+
for (const cachedAccessory of cachedAccessories) {
|
|
70
|
+
let plugin = this.pluginManager.getPlugin(cachedAccessory.plugin);
|
|
71
|
+
if (!plugin) {
|
|
72
|
+
try {
|
|
73
|
+
plugin = this.pluginManager.getPluginByActiveDynamicPlatform(cachedAccessory.platform);
|
|
74
|
+
if (plugin) {
|
|
75
|
+
log.info(`When searching for the associated plugin of the Matter accessory '${cachedAccessory.displayName}' `
|
|
76
|
+
+ `it seems like the plugin name changed from '${cachedAccessory.plugin}' to '${plugin.getPluginIdentifier()}'. Plugin association is now being transformed!`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
81
|
+
log.warn(`Could not find the associated plugin for the Matter accessory '${cachedAccessory.displayName}'. `
|
|
82
|
+
+ `Tried to find the plugin by the platform name but ${errorMessage}`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
const platformPlugin = plugin && plugin.getActiveDynamicPlatform(cachedAccessory.platform);
|
|
86
|
+
if (!platformPlugin) {
|
|
87
|
+
log.warn(`Failed to find plugin to handle Matter accessory ${cachedAccessory.displayName} (plugin: ${cachedAccessory.plugin}, platform: ${cachedAccessory.platform})`);
|
|
88
|
+
if (!keepOrphaned) {
|
|
89
|
+
log.info(`Removing orphaned Matter accessory ${cachedAccessory.displayName}`);
|
|
90
|
+
this.matterServer.unregisterAccessory(cachedAccessory.uuid).catch((error) => {
|
|
91
|
+
log.warn(`Failed to unregister orphaned Matter accessory ${cachedAccessory.displayName}:`, error);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
if (platformPlugin.configureMatterAccessory) {
|
|
97
|
+
log.debug(`Calling configureMatterAccessory for ${cachedAccessory.displayName}`);
|
|
98
|
+
platformPlugin.configureMatterAccessory(cachedAccessory);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
log.debug(`Platform ${cachedAccessory.platform} does not implement configureMatterAccessory`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async handleRegisterPlatformAccessories(pluginIdentifier, platformName, accessories) {
|
|
107
|
+
if (!this.matterServer) {
|
|
108
|
+
log.warn('Cannot register Matter accessories - Matter server is not running');
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
await this.matterServer.registerPlatformAccessories(pluginIdentifier, platformName, accessories);
|
|
112
|
+
}
|
|
113
|
+
async handleUpdatePlatformAccessories(accessories) {
|
|
114
|
+
const bridgeAccessories = [];
|
|
115
|
+
for (const accessory of accessories) {
|
|
116
|
+
const externalServer = this.externalMatterServers.get(accessory.uuid);
|
|
117
|
+
if (externalServer) {
|
|
118
|
+
await externalServer.updatePlatformAccessories([accessory]);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
bridgeAccessories.push(accessory);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (bridgeAccessories.length > 0) {
|
|
125
|
+
if (!this.matterServer) {
|
|
126
|
+
log.warn('Cannot update Matter platform accessories - Matter server is not running');
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
await this.matterServer.updatePlatformAccessories(bridgeAccessories);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async handleUnregisterPlatformAccessories(pluginIdentifier, platformName, accessories) {
|
|
133
|
+
if (!this.matterServer) {
|
|
134
|
+
log.warn('Cannot unregister Matter accessories - Matter server is not running');
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
await this.matterServer.unregisterPlatformAccessories(pluginIdentifier, platformName, accessories);
|
|
138
|
+
}
|
|
139
|
+
async handleUnregisterExternalAccessories(accessories) {
|
|
140
|
+
log.info(`Unregistering ${accessories.length} external Matter accessor${accessories.length === 1 ? 'y' : 'ies'}`);
|
|
141
|
+
for (const accessory of accessories) {
|
|
142
|
+
try {
|
|
143
|
+
const matterServer = this.externalMatterServers.get(accessory.uuid);
|
|
144
|
+
if (!matterServer) {
|
|
145
|
+
log.warn(`External Matter accessory ${accessory.displayName} (${accessory.uuid}) is not registered`);
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
148
|
+
log.info(`Stopping external Matter server for ${accessory.displayName}`);
|
|
149
|
+
await matterServer.stop();
|
|
150
|
+
this.externalMatterServers.delete(accessory.uuid);
|
|
151
|
+
const advertiseAddress = generate(accessory.uuid);
|
|
152
|
+
const uniqueId = advertiseAddress.replace(/:/g, '');
|
|
153
|
+
const storagePath = path.join(User.matterPath(), uniqueId);
|
|
154
|
+
try {
|
|
155
|
+
log.debug(`Removing Matter storage for external accessory at: ${storagePath}`);
|
|
156
|
+
rmSync(storagePath, { recursive: true, force: true });
|
|
157
|
+
log.info(`✓ Cleaned up storage for external Matter accessory: ${accessory.displayName}`);
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
log.error(`Failed to clean up storage for external Matter accessory ${accessory.displayName}:`, error);
|
|
161
|
+
}
|
|
162
|
+
log.info(`✓ External Matter accessory unregistered: ${accessory.displayName}`);
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
log.error(`Failed to unregister external Matter accessory ${accessory.displayName}:`, error);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=BaseMatterManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseMatterManager.js","sourceRoot":"","sources":["../../src/matter/BaseMatterManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Child Bridge Matter Manager
|
|
3
|
-
*
|
|
4
|
-
* Manages Matter server lifecycle and accessories for child bridges.
|
|
5
|
-
* This class extracts Matter-specific logic from childBridgeFork.ts to minimize changes to core files.
|
|
6
|
-
*/
|
|
7
1
|
import type { HomebridgeAPI } from '../api.js';
|
|
8
2
|
import type { BridgeConfiguration, BridgeOptions } from '../bridgeService.js';
|
|
9
3
|
import type { ChildBridgeExternalPortService } from '../externalPortService.js';
|
|
10
4
|
import type { InternalMatterAccessory } from './types.js';
|
|
11
5
|
import { PluginManager } from '../pluginManager.js';
|
|
12
|
-
|
|
13
|
-
* Matter status information for child bridge IPC communication
|
|
14
|
-
*/
|
|
6
|
+
import { BaseMatterManager } from './BaseMatterManager.js';
|
|
15
7
|
export interface ChildBridgeMatterStatusInfo {
|
|
16
8
|
qrCode?: string;
|
|
17
9
|
manualPairingCode?: string;
|
|
@@ -19,78 +11,24 @@ export interface ChildBridgeMatterStatusInfo {
|
|
|
19
11
|
commissioned: boolean;
|
|
20
12
|
deviceCount: number;
|
|
21
13
|
}
|
|
22
|
-
|
|
23
|
-
* Manages Matter server and accessories for a child bridge
|
|
24
|
-
*/
|
|
25
|
-
export declare class ChildBridgeMatterManager {
|
|
14
|
+
export declare class ChildBridgeMatterManager extends BaseMatterManager {
|
|
26
15
|
private readonly bridgeConfig;
|
|
27
16
|
private readonly bridgeOptions;
|
|
28
17
|
private readonly api;
|
|
29
18
|
private readonly externalPortService;
|
|
30
|
-
private readonly
|
|
31
|
-
private matterServer?;
|
|
32
|
-
private readonly externalMatterServers;
|
|
33
|
-
private matterConfig?;
|
|
19
|
+
private readonly matterConfig?;
|
|
34
20
|
private matterSerialNumber?;
|
|
35
21
|
constructor(bridgeConfig: BridgeConfiguration, bridgeOptions: BridgeOptions, api: HomebridgeAPI, externalPortService: ChildBridgeExternalPortService, pluginManager: PluginManager);
|
|
36
|
-
/**
|
|
37
|
-
* Initialize Matter server for child bridge if enabled
|
|
38
|
-
* @param onCommissioningChanged Optional callback when commissioning status changes
|
|
39
|
-
*/
|
|
40
22
|
initialize(onCommissioningChanged?: () => void): Promise<void>;
|
|
41
|
-
/**
|
|
42
|
-
* Start Matter server for child bridge
|
|
43
|
-
*/
|
|
44
23
|
private startMatterServer;
|
|
45
|
-
/**
|
|
46
|
-
* Set up Matter API event listeners
|
|
47
|
-
*/
|
|
48
24
|
private setupEventListeners;
|
|
49
|
-
/**
|
|
50
|
-
* Handle external Matter accessories - each gets its own dedicated Matter server
|
|
51
|
-
* This is required for devices like Robotic Vacuum Cleaners that Apple Home
|
|
52
|
-
* requires to be on their own bridge.
|
|
53
|
-
*/
|
|
54
25
|
handlePublishExternalAccessories(accessories: InternalMatterAccessory[], registrationId: string): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* Handle registration of Matter platform accessories
|
|
57
|
-
*/
|
|
58
|
-
handleRegisterPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: InternalMatterAccessory[]): Promise<void>;
|
|
59
|
-
/**
|
|
60
|
-
* Handle updating Matter platform accessories in the cache
|
|
61
|
-
* Checks both external servers and child bridge server
|
|
62
|
-
*/
|
|
63
|
-
handleUpdatePlatformAccessories(accessories: InternalMatterAccessory[]): Promise<void>;
|
|
64
|
-
/**
|
|
65
|
-
* Handle unregistration of Matter platform accessories
|
|
66
|
-
*/
|
|
67
|
-
handleUnregisterPlatformAccessories(pluginIdentifier: string, platformName: string, accessories: InternalMatterAccessory[]): Promise<void>;
|
|
68
|
-
/**
|
|
69
|
-
* Handle unregistration of external Matter accessories
|
|
70
|
-
* Stops dedicated servers and cleans up storage
|
|
71
|
-
*/
|
|
72
|
-
handleUnregisterExternalAccessories(accessories: InternalMatterAccessory[]): Promise<void>;
|
|
73
|
-
/**
|
|
74
|
-
* Handle Matter accessory state updates
|
|
75
|
-
* Checks both external servers and child bridge server
|
|
76
|
-
*/
|
|
77
|
-
handleUpdateAccessoryState(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
|
|
78
|
-
/**
|
|
79
|
-
* Restore cached Matter accessories (matching HAP pattern)
|
|
80
|
-
*/
|
|
81
|
-
restoreCachedAccessories(keepOrphaned: boolean): void;
|
|
82
|
-
/**
|
|
83
|
-
* Get Matter status information for IPC communication
|
|
84
|
-
* Returns undefined if Matter is not enabled for this child bridge
|
|
85
|
-
*/
|
|
86
26
|
getMatterStatusInfo(): ChildBridgeMatterStatusInfo | undefined;
|
|
87
|
-
/**
|
|
88
|
-
* Check if Matter is enabled for this child bridge
|
|
89
|
-
*/
|
|
90
27
|
isMatterEnabled(): boolean;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
28
|
+
enableStateMonitoring(): void;
|
|
29
|
+
disableStateMonitoring(): void;
|
|
30
|
+
collectAllAccessories(): any[];
|
|
31
|
+
getAccessoryInfo(uuid: string): any | undefined;
|
|
94
32
|
teardown(): Promise<void>;
|
|
95
33
|
}
|
|
96
34
|
//# sourceMappingURL=ChildBridgeMatterManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChildBridgeMatterManager.d.ts","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChildBridgeMatterManager.d.ts","sourceRoot":"","sources":["../../src/matter/ChildBridgeMatterManager.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAiC,MAAM,YAAY,CAAA;AAIxF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAS1D,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB;AAKD,qBAAa,wBAAyB,SAAQ,iBAAiB;IAQ3D,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IATtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAc;IAG5C,OAAO,CAAC,kBAAkB,CAAC,CAAQ;gBAGhB,YAAY,EAAE,mBAAmB,EACjC,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,aAAa,EAClB,mBAAmB,EAAE,8BAA8B,EACpE,aAAa,EAAE,aAAa;IAUxB,UAAU,CAAC,sBAAsB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAwCtD,iBAAiB;IA8C/B,OAAO,CAAC,mBAAmB;IA6CrB,gCAAgC,CAAC,WAAW,EAAE,uBAAuB,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsDrH,mBAAmB,IAAI,2BAA2B,GAAG,SAAS;IAkB9D,eAAe,IAAI,OAAO;IAQjB,qBAAqB,IAAI,IAAI;IAS7B,sBAAsB,IAAI,IAAI;IAQvC,qBAAqB,IAAI,GAAG,EAAE;IA4B9B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAuBzC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAsBhC"}
|