homebridge 2.0.0-beta.44 → 2.0.0-beta.45
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 +126 -80
- 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 +5 -69
- package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
- package/dist/matter/ChildBridgeMatterManager.js +36 -227
- 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 +2 -27
- 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 +6 -106
- 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 +139 -215
- 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 +14 -27
- 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 +304 -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/matter/errors.js
CHANGED
|
@@ -1,189 +1,57 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Protocol Errors
|
|
3
|
-
*
|
|
4
|
-
* This module provides error classes that plugin developers can throw
|
|
5
|
-
* to send specific Matter protocol status codes to controllers.
|
|
6
|
-
*
|
|
7
|
-
* When a handler throws one of these errors, the Matter server will send
|
|
8
|
-
* the appropriate status code to the controller (e.g., Home app) instead
|
|
9
|
-
* of crashing the endpoint.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```typescript
|
|
13
|
-
* import { MatterStatus } from 'homebridge'
|
|
14
|
-
*
|
|
15
|
-
* handlers: {
|
|
16
|
-
* onOff: {
|
|
17
|
-
* on: async () => {
|
|
18
|
-
* if (deviceIsBusy) {
|
|
19
|
-
* throw new MatterStatus.Busy('Device is processing another command')
|
|
20
|
-
* }
|
|
21
|
-
* if (requestTimedOut) {
|
|
22
|
-
* throw new MatterStatus.Timeout('Device did not respond in time')
|
|
23
|
-
* }
|
|
24
|
-
* // ... control device
|
|
25
|
-
* }
|
|
26
|
-
* }
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
1
|
import { Status, StatusResponseError } from '@matter/main/types';
|
|
31
|
-
/**
|
|
32
|
-
* Base class for all Matter protocol errors
|
|
33
|
-
* Plugins can throw this directly or use specific error classes below
|
|
34
|
-
*/
|
|
35
2
|
export class MatterProtocolError extends StatusResponseError {
|
|
36
3
|
constructor(message, code, clusterCode) {
|
|
37
4
|
super(message, code, clusterCode);
|
|
38
5
|
}
|
|
39
6
|
}
|
|
40
|
-
/**
|
|
41
|
-
* Device is busy processing another action (Status.Busy = 156)
|
|
42
|
-
*
|
|
43
|
-
* Use when the device cannot handle the request because it's processing another operation.
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```typescript
|
|
47
|
-
* throw new MatterStatus.Busy('Device is currently processing another command')
|
|
48
|
-
* ```
|
|
49
|
-
*/
|
|
50
7
|
export class Busy extends MatterProtocolError {
|
|
51
8
|
constructor(message = 'Device is busy') {
|
|
52
9
|
super(message, Status.Busy);
|
|
53
10
|
}
|
|
54
11
|
}
|
|
55
|
-
/**
|
|
56
|
-
* Operation timed out (Status.Timeout = 148)
|
|
57
|
-
*
|
|
58
|
-
* Use when the device or operation times out.
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
61
|
-
* ```typescript
|
|
62
|
-
* throw new MatterStatus.Timeout('Device did not respond within 5 seconds')
|
|
63
|
-
* ```
|
|
64
|
-
*/
|
|
65
12
|
export class Timeout extends MatterProtocolError {
|
|
66
13
|
constructor(message = 'Operation timed out') {
|
|
67
14
|
super(message, Status.Timeout);
|
|
68
15
|
}
|
|
69
16
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Value out of range or invalid (Status.ConstraintError = 135)
|
|
72
|
-
*
|
|
73
|
-
* Use when a value is out of bounds or doesn't meet constraints.
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* ```typescript
|
|
77
|
-
* throw new MatterStatus.ConstraintError('Brightness must be between 0-254')
|
|
78
|
-
* ```
|
|
79
|
-
*/
|
|
80
17
|
export class ConstraintError extends MatterProtocolError {
|
|
81
18
|
constructor(message = 'Value out of range or invalid') {
|
|
82
19
|
super(message, Status.ConstraintError);
|
|
83
20
|
}
|
|
84
21
|
}
|
|
85
|
-
/**
|
|
86
|
-
* Malformed action or invalid values (Status.InvalidAction = 128)
|
|
87
|
-
*
|
|
88
|
-
* Use when the command or action is malformed or has invalid field values.
|
|
89
|
-
*
|
|
90
|
-
* @example
|
|
91
|
-
* ```typescript
|
|
92
|
-
* throw new MatterStatus.InvalidAction('Invalid color value provided')
|
|
93
|
-
* ```
|
|
94
|
-
*/
|
|
95
22
|
export class InvalidAction extends MatterProtocolError {
|
|
96
23
|
constructor(message = 'Invalid action or values') {
|
|
97
24
|
super(message, Status.InvalidAction);
|
|
98
25
|
}
|
|
99
26
|
}
|
|
100
|
-
/**
|
|
101
|
-
* Current operational state prevents the action (Status.InvalidInState = 203)
|
|
102
|
-
*
|
|
103
|
-
* Use when the device state prevents the requested operation.
|
|
104
|
-
*
|
|
105
|
-
* @example
|
|
106
|
-
* ```typescript
|
|
107
|
-
* throw new MatterStatus.InvalidInState('Cannot unlock door while security system is armed')
|
|
108
|
-
* ```
|
|
109
|
-
*/
|
|
110
27
|
export class InvalidInState extends MatterProtocolError {
|
|
111
28
|
constructor(message = 'Operation not allowed in current state') {
|
|
112
29
|
super(message, Status.InvalidInState);
|
|
113
30
|
}
|
|
114
31
|
}
|
|
115
|
-
/**
|
|
116
|
-
* Generic failure (Status.Failure = 1)
|
|
117
|
-
*
|
|
118
|
-
* Use as a fallback when no specific error applies.
|
|
119
|
-
*
|
|
120
|
-
* @example
|
|
121
|
-
* ```typescript
|
|
122
|
-
* throw new MatterStatus.Failure('Device returned an error')
|
|
123
|
-
* ```
|
|
124
|
-
*/
|
|
125
32
|
export class Failure extends MatterProtocolError {
|
|
126
33
|
constructor(message = 'Operation failed') {
|
|
127
34
|
super(message, Status.Failure);
|
|
128
35
|
}
|
|
129
36
|
}
|
|
130
|
-
/**
|
|
131
|
-
* Insufficient resources to process the request (Status.ResourceExhausted = 137)
|
|
132
|
-
*
|
|
133
|
-
* Use when the device has insufficient resources to handle the request.
|
|
134
|
-
*
|
|
135
|
-
* @example
|
|
136
|
-
* ```typescript
|
|
137
|
-
* throw new MatterStatus.ResourceExhausted('Maximum number of scenes reached')
|
|
138
|
-
* ```
|
|
139
|
-
*/
|
|
140
37
|
export class ResourceExhausted extends MatterProtocolError {
|
|
141
38
|
constructor(message = 'Insufficient resources') {
|
|
142
39
|
super(message, Status.ResourceExhausted);
|
|
143
40
|
}
|
|
144
41
|
}
|
|
145
|
-
/**
|
|
146
|
-
* The sender does not have sufficient permissions (Status.PermissionDenied = 15)
|
|
147
|
-
*
|
|
148
|
-
* Use when access control prevents the operation.
|
|
149
|
-
*
|
|
150
|
-
* @example
|
|
151
|
-
* ```typescript
|
|
152
|
-
* throw new MatterStatus.PermissionDenied('User does not have permission to unlock')
|
|
153
|
-
* ```
|
|
154
|
-
*/
|
|
155
42
|
export class PermissionDenied extends MatterProtocolError {
|
|
156
43
|
constructor(message = 'Permission denied') {
|
|
157
44
|
super(message, Status.UnsupportedAccess);
|
|
158
45
|
}
|
|
159
46
|
}
|
|
160
|
-
/**
|
|
161
|
-
* The requested entity was not found (Status.NotFound = 139)
|
|
162
|
-
*
|
|
163
|
-
* Use when a requested resource or entity doesn't exist.
|
|
164
|
-
*
|
|
165
|
-
* @example
|
|
166
|
-
* ```typescript
|
|
167
|
-
* throw new MatterStatus.NotFound('Scene not found')
|
|
168
|
-
* ```
|
|
169
|
-
*/
|
|
170
47
|
export class NotFound extends MatterProtocolError {
|
|
171
48
|
constructor(message = 'Entity not found') {
|
|
172
49
|
super(message, Status.NotFound);
|
|
173
50
|
}
|
|
174
51
|
}
|
|
175
|
-
/**
|
|
176
|
-
* Helper to check if an error is a Matter protocol error
|
|
177
|
-
*/
|
|
178
52
|
export function isMatterProtocolError(error) {
|
|
179
53
|
return error instanceof StatusResponseError;
|
|
180
54
|
}
|
|
181
|
-
/**
|
|
182
|
-
* Matter protocol status codes and error classes
|
|
183
|
-
*
|
|
184
|
-
* Use these error classes to signal specific error conditions to Matter controllers.
|
|
185
|
-
* Each error class corresponds to a Matter protocol status code.
|
|
186
|
-
*/
|
|
187
55
|
export const MatterStatus = {
|
|
188
56
|
MatterProtocolError,
|
|
189
57
|
Busy,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/matter/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/matter/errors.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAMhE,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IAC1D,YAAY,OAAe,EAAE,IAAY,EAAE,WAAoB;QAC7D,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;IACnC,CAAC;CACF;AAYD,MAAM,OAAO,IAAK,SAAQ,mBAAmB;IAC3C,YAAY,OAAO,GAAG,gBAAgB;QACpC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;CACF;AAYD,MAAM,OAAO,OAAQ,SAAQ,mBAAmB;IAC9C,YAAY,OAAO,GAAG,qBAAqB;QACzC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;CACF;AAYD,MAAM,OAAO,eAAgB,SAAQ,mBAAmB;IACtD,YAAY,OAAO,GAAG,+BAA+B;QACnD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,CAAA;IACxC,CAAC;CACF;AAYD,MAAM,OAAO,aAAc,SAAQ,mBAAmB;IACpD,YAAY,OAAO,GAAG,0BAA0B;QAC9C,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;IACtC,CAAC;CACF;AAYD,MAAM,OAAO,cAAe,SAAQ,mBAAmB;IACrD,YAAY,OAAO,GAAG,wCAAwC;QAC5D,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IACvC,CAAC;CACF;AAYD,MAAM,OAAO,OAAQ,SAAQ,mBAAmB;IAC9C,YAAY,OAAO,GAAG,kBAAkB;QACtC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;CACF;AAYD,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IACxD,YAAY,OAAO,GAAG,wBAAwB;QAC5C,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC1C,CAAC;CACF;AAYD,MAAM,OAAO,gBAAiB,SAAQ,mBAAmB;IACvD,YAAY,OAAO,GAAG,mBAAmB;QACvC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAA;IAC1C,CAAC;CACF;AAYD,MAAM,OAAO,QAAS,SAAQ,mBAAmB;IAC/C,YAAY,OAAO,GAAG,kBAAkB;QACtC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;CACF;AAKD,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,KAAK,YAAY,mBAAmB,CAAA;AAC7C,CAAC;AAQD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,mBAAmB;IACnB,IAAI;IACJ,OAAO;IACP,eAAe;IACf,aAAa;IACb,cAAc;IACd,OAAO;IACP,iBAAiB;IACjB,gBAAgB;IAChB,QAAQ;IACR,qBAAqB;CACtB,CAAA"}
|
package/dist/matter/index.d.ts
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Protocol Support for Homebridge
|
|
3
|
-
*
|
|
4
|
-
* This module provides Matter protocol support through a Plugin API,
|
|
5
|
-
* allowing plugin developers to explicitly register Matter accessories.
|
|
6
|
-
*/
|
|
7
1
|
import type { ColorControl, DoorLock, FanControl, Groups, Identify, LevelControl, ModeBase, OnOff, ScenesManagement, ServiceArea, Thermostat, WindowCovering } from '@matter/main/clusters';
|
|
8
2
|
export { ChildBridgeMatterManager } from './ChildBridgeMatterManager.js';
|
|
9
3
|
export { type MatterConfigValidationResult, MatterConfigValidator } from './configValidator.js';
|
|
@@ -13,23 +7,6 @@ export { MatterConfigCollector } from './MatterConfigCollector.js';
|
|
|
13
7
|
export { MatterServer } from './server.js';
|
|
14
8
|
export { HomebridgeMatterStorage, MatterStorageManager } from './storage.js';
|
|
15
9
|
export { clusterNames, clusters, devices, deviceTypes, type InternalMatterAccessory, type MatterAccessory, type MatterAccessoryEventEmitter, MatterAccessoryEventTypes, type MatterClusterHandlers, type MatterClusterName, type MatterCommandHandler, MatterCommissioningError, type MatterConfig, MatterDeviceError, MatterError, type MatterErrorDetails, MatterErrorType, MatterNetworkError, MatterStorageError, } from './types.js';
|
|
16
|
-
/**
|
|
17
|
-
* Matter Cluster Command Request Types
|
|
18
|
-
* Use these types for handler arguments to get full type safety
|
|
19
|
-
*
|
|
20
|
-
* @example
|
|
21
|
-
* ```typescript
|
|
22
|
-
* import type { MatterRequests } from 'homebridge'
|
|
23
|
-
*
|
|
24
|
-
* handlers: {
|
|
25
|
-
* levelControl: {
|
|
26
|
-
* moveToLevel: async (args: MatterRequests.MoveToLevel) => {
|
|
27
|
-
* console.log(`Level: ${args.level}`)
|
|
28
|
-
* }
|
|
29
|
-
* }
|
|
30
|
-
* }
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
10
|
export declare namespace MatterRequests {
|
|
34
11
|
type OffWithEffect = OnOff.OffWithEffectRequest;
|
|
35
12
|
type OnWithTimedOff = OnOff.OnWithTimedOffRequest;
|
|
@@ -116,12 +93,5 @@ export declare namespace MatterRequests {
|
|
|
116
93
|
type SelectAreas = ServiceArea.SelectAreasRequest;
|
|
117
94
|
type SkipArea = ServiceArea.SkipAreaRequest;
|
|
118
95
|
}
|
|
119
|
-
/**
|
|
120
|
-
* Matter Cluster Types & Enums
|
|
121
|
-
* Import these to access type-safe enum values for cluster attributes using the original matter.js names.
|
|
122
|
-
*
|
|
123
|
-
* All 130+ Matter clusters are exported here with their original matter.js names, providing access to
|
|
124
|
-
* enums, types, and constants with full TypeScript autocomplete support.
|
|
125
|
-
*/
|
|
126
96
|
export * as MatterTypes from '@matter/main/clusters';
|
|
127
97
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/matter/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/matter/index.ts"],"names":[],"mappings":"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"}
|
package/dist/matter/index.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Protocol Support for Homebridge
|
|
3
|
-
*
|
|
4
|
-
* This module provides Matter protocol support through a Plugin API,
|
|
5
|
-
* allowing plugin developers to explicitly register Matter accessories.
|
|
6
|
-
*/
|
|
7
1
|
export { ChildBridgeMatterManager } from './ChildBridgeMatterManager.js';
|
|
8
2
|
export { MatterConfigValidator } from './configValidator.js';
|
|
9
3
|
export { MatterStatus } from './errors.js';
|
|
@@ -12,12 +6,5 @@ export { MatterConfigCollector } from './MatterConfigCollector.js';
|
|
|
12
6
|
export { MatterServer } from './server.js';
|
|
13
7
|
export { HomebridgeMatterStorage, MatterStorageManager } from './storage.js';
|
|
14
8
|
export { clusterNames, clusters, devices, deviceTypes, MatterAccessoryEventTypes, MatterCommissioningError, MatterDeviceError, MatterError, MatterErrorType, MatterNetworkError, MatterStorageError, } from './types.js';
|
|
15
|
-
/**
|
|
16
|
-
* Matter Cluster Types & Enums
|
|
17
|
-
* Import these to access type-safe enum values for cluster attributes using the original matter.js names.
|
|
18
|
-
*
|
|
19
|
-
* All 130+ Matter clusters are exported here with their original matter.js names, providing access to
|
|
20
|
-
* enums, types, and constants with full TypeScript autocomplete support.
|
|
21
|
-
*/
|
|
22
9
|
export * as MatterTypes from '@matter/main/clusters';
|
|
23
10
|
//# sourceMappingURL=index.js.map
|
package/dist/matter/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/matter/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/matter/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,EAAqC,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC5E,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,EAIX,yBAAyB,EAIzB,wBAAwB,EAExB,iBAAiB,EACjB,WAAW,EAEX,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAA;AAiKnB,OAAO,KAAK,WAAW,MAAM,uBAAuB,CAAA"}
|
|
@@ -1,19 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter.js Log Formatter
|
|
3
|
-
*
|
|
4
|
-
* Formats Matter.js library logs to match the homebridge log format and color scheme.
|
|
5
|
-
* This ensures consistent logging output across Homebridge and Matter.js.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Create a custom log formatter that matches the homebridge format.
|
|
9
|
-
* Format: [timestamp] [Matter:Facility] message
|
|
10
|
-
* Timestamp format matches system locale (via toLocaleString()).
|
|
11
|
-
*
|
|
12
|
-
* Log level color mapping:
|
|
13
|
-
* - Matter DEBUG/INFO → gray (Homebridge debug)
|
|
14
|
-
* - Matter NOTICE → no color (Homebridge info)
|
|
15
|
-
* - Matter WARN → yellow (Homebridge warn)
|
|
16
|
-
* - Matter ERROR/FATAL → red (Homebridge error)
|
|
17
|
-
*/
|
|
18
1
|
export declare function createHomebridgeLogFormatter(): (diagnostic: unknown) => string;
|
|
19
2
|
//# sourceMappingURL=logFormatter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logFormatter.d.ts","sourceRoot":"","sources":["../../src/matter/logFormatter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logFormatter.d.ts","sourceRoot":"","sources":["../../src/matter/logFormatter.ts"],"names":[],"mappings":"AAuBA,wBAAgB,4BAA4B,IAAI,CAAC,UAAU,EAAE,OAAO,KAAK,MAAM,CAuE9E"}
|
|
@@ -1,106 +1,54 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter.js Log Formatter
|
|
3
|
-
*
|
|
4
|
-
* Formats Matter.js library logs to match the homebridge log format and color scheme.
|
|
5
|
-
* This ensures consistent logging output across Homebridge and Matter.js.
|
|
6
|
-
*/
|
|
7
1
|
import { Diagnostic } from '@matter/general';
|
|
8
2
|
import chalk from 'chalk';
|
|
9
3
|
import { Logger } from '../logger.js';
|
|
10
|
-
/**
|
|
11
|
-
* Create a custom log formatter that matches the homebridge format.
|
|
12
|
-
* Format: [timestamp] [Matter:Facility] message
|
|
13
|
-
* Timestamp format matches system locale (via toLocaleString()).
|
|
14
|
-
*
|
|
15
|
-
* Log level color mapping:
|
|
16
|
-
* - Matter DEBUG/INFO → gray (Homebridge debug)
|
|
17
|
-
* - Matter NOTICE → no color (Homebridge info)
|
|
18
|
-
* - Matter WARN → yellow (Homebridge warn)
|
|
19
|
-
* - Matter ERROR/FATAL → red (Homebridge error)
|
|
20
|
-
*/
|
|
21
4
|
export function createHomebridgeLogFormatter() {
|
|
22
|
-
// Capture timestamp setting once when formatter is created
|
|
23
5
|
const timestampEnabled = Logger.isTimestampEnabled();
|
|
24
6
|
return (diagnostic) => {
|
|
25
|
-
// Check if this is a Matter.js log message
|
|
26
7
|
if (typeof diagnostic === 'object' && diagnostic !== null) {
|
|
27
8
|
const msg = diagnostic;
|
|
28
|
-
// If it's a log message with the expected structure
|
|
29
9
|
if (msg.now && msg.facility && msg.values) {
|
|
30
|
-
// Suppress ValidatedElements logs - these are just validation warnings about
|
|
31
|
-
// optional Matter.js features that aren't implemented (and don't need to be)
|
|
32
10
|
if (msg.facility === 'ValidatedElements' || msg.facility === 'Commissioning') {
|
|
33
11
|
return '';
|
|
34
12
|
}
|
|
35
|
-
// Format facility as [Matter:FacilityName] in cyan color
|
|
36
13
|
const facility = formatCyan(`[Matter/${msg.facility}]`);
|
|
37
|
-
// Extract the message text from values
|
|
38
14
|
let messageText = formatMessageValues(msg.values);
|
|
39
|
-
// Trim excessively long messages from verbose facilities like MessageChannel
|
|
40
15
|
if (msg.facility === 'MessageChannel' && messageText.length > 200) {
|
|
41
16
|
messageText = `${messageText.substring(0, 200)} [trimmed...]`;
|
|
42
17
|
}
|
|
43
|
-
// Apply color based on Matter log level
|
|
44
|
-
// Matter DEBUG/INFO → gray (Homebridge debug)
|
|
45
|
-
// Matter NOTICE → no color (Homebridge info)
|
|
46
|
-
// Matter WARN → yellow (Homebridge warn)
|
|
47
|
-
// Matter ERROR/FATAL → red (Homebridge error)
|
|
48
|
-
// For 'notice' or anything else, leave it uncolored (Homebridge info style)
|
|
49
18
|
let coloredMessage = messageText;
|
|
50
19
|
if (msg.level !== undefined) {
|
|
51
20
|
switch (msg.level) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
// export const NOTICE: LogLevel = 2;
|
|
55
|
-
// export const WARN: LogLevel = 3;
|
|
56
|
-
// export const ERROR: LogLevel = 4;
|
|
57
|
-
// export const FATAL: LogLevel = 5;
|
|
58
|
-
case 5: // FATAL
|
|
59
|
-
case 4: // ERROR
|
|
21
|
+
case 5:
|
|
22
|
+
case 4:
|
|
60
23
|
coloredMessage = chalk.red(messageText);
|
|
61
24
|
break;
|
|
62
|
-
case 3:
|
|
25
|
+
case 3:
|
|
63
26
|
coloredMessage = chalk.yellow(messageText);
|
|
64
27
|
break;
|
|
65
|
-
case 0:
|
|
28
|
+
case 0:
|
|
66
29
|
coloredMessage = chalk.gray(messageText);
|
|
67
30
|
break;
|
|
68
31
|
}
|
|
69
32
|
}
|
|
70
|
-
// Check if timestamps are enabled (respects --no-timestamp flag)
|
|
71
33
|
if (timestampEnabled) {
|
|
72
|
-
// Format timestamp to match Homebridge format using toLocaleString() in white
|
|
73
34
|
const timestamp = formatHomebridgeTimestamp(msg.now);
|
|
74
35
|
return `${timestamp} ${facility} ${coloredMessage}`;
|
|
75
36
|
}
|
|
76
37
|
else {
|
|
77
|
-
// No timestamp
|
|
78
38
|
return `${facility} ${coloredMessage}`;
|
|
79
39
|
}
|
|
80
40
|
}
|
|
81
41
|
}
|
|
82
|
-
// Fallback for non-message diagnostics
|
|
83
42
|
return String(diagnostic);
|
|
84
43
|
};
|
|
85
44
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Format a date object to Homebridge timestamp format.
|
|
88
|
-
* Uses toLocaleString() to match the main logger's format and respect system locale/timezone.
|
|
89
|
-
* Returns the timestamp in white color to match main logger.
|
|
90
|
-
*/
|
|
91
45
|
function formatHomebridgeTimestamp(date) {
|
|
92
46
|
const timestamp = `[${date.toLocaleString()}]`;
|
|
93
47
|
return chalk.white(timestamp);
|
|
94
48
|
}
|
|
95
|
-
/**
|
|
96
|
-
* Format text in cyan color using chalk
|
|
97
|
-
*/
|
|
98
49
|
function formatCyan(text) {
|
|
99
50
|
return chalk.cyan(text);
|
|
100
51
|
}
|
|
101
|
-
/**
|
|
102
|
-
* Format the message values array into a readable string
|
|
103
|
-
*/
|
|
104
52
|
function formatMessageValues(values) {
|
|
105
53
|
if (!Array.isArray(values)) {
|
|
106
54
|
return String(values);
|
|
@@ -113,7 +61,6 @@ function formatMessageValues(values) {
|
|
|
113
61
|
if (value === undefined) {
|
|
114
62
|
return 'undefined';
|
|
115
63
|
}
|
|
116
|
-
// Matter.js uses lazy logging - call functions to get the actual message
|
|
117
64
|
if (typeof value === 'function') {
|
|
118
65
|
try {
|
|
119
66
|
return String(value());
|
|
@@ -123,21 +70,16 @@ function formatMessageValues(values) {
|
|
|
123
70
|
}
|
|
124
71
|
}
|
|
125
72
|
if (typeof value === 'object') {
|
|
126
|
-
// Check if this is a Matter.js Diagnostic object
|
|
127
|
-
// These objects store their actual value in a symbol property
|
|
128
73
|
const diagnosticValue = Diagnostic.valueOf(value);
|
|
129
74
|
if (diagnosticValue !== undefined && diagnosticValue !== value) {
|
|
130
|
-
// If diagnosticValue is an array, format each element individually
|
|
131
75
|
if (Array.isArray(diagnosticValue)) {
|
|
132
76
|
return formatMessageValues(diagnosticValue);
|
|
133
77
|
}
|
|
134
|
-
// Otherwise, recursively format the single value
|
|
135
78
|
return formatMessageValues([diagnosticValue]);
|
|
136
79
|
}
|
|
137
|
-
// Special handling for error objects
|
|
138
80
|
if (value instanceof Error) {
|
|
139
81
|
const errorDetails = {
|
|
140
|
-
...value,
|
|
82
|
+
...value,
|
|
141
83
|
name: value.name,
|
|
142
84
|
message: value.message,
|
|
143
85
|
stack: value.stack,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logFormatter.js","sourceRoot":"","sources":["../../src/matter/logFormatter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logFormatter.js","sourceRoot":"","sources":["../../src/matter/logFormatter.ts"],"names":[],"mappings":"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"}
|