homebridge 2.0.0-beta.43 → 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 +7 -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 +7 -273
- package/dist/matter/types.d.ts.map +1 -1
- package/dist/matter/types.js +7 -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/types.d.ts
CHANGED
|
@@ -1,304 +1,76 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Types for Homebridge Plugin API
|
|
3
|
-
*
|
|
4
|
-
* This module provides types and interfaces for plugin developers
|
|
5
|
-
* to create Matter-compatible accessories.
|
|
6
|
-
*/
|
|
7
1
|
import type { Endpoint, EndpointType } from '@matter/main';
|
|
8
2
|
import { EventEmitter } from 'node:events';
|
|
9
3
|
import * as clusters from '@matter/main/clusters';
|
|
10
4
|
import * as devices from '@matter/main/devices';
|
|
11
5
|
export type { EndpointType };
|
|
12
|
-
/**
|
|
13
|
-
* Handler context information
|
|
14
|
-
* Provides information about which part of a composed device triggered the handler
|
|
15
|
-
*/
|
|
16
6
|
export interface MatterHandlerContext {
|
|
17
|
-
/** Parent accessory UUID */
|
|
18
7
|
uuid: string;
|
|
19
|
-
/** Part ID if this handler was triggered from a part, undefined for main accessory */
|
|
20
8
|
partId?: string;
|
|
21
9
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Matter command handler function type
|
|
24
|
-
*
|
|
25
|
-
* Handlers can be synchronous or asynchronous (returning a Promise).
|
|
26
|
-
* The args parameter contains the command arguments passed by Matter.js (optional).
|
|
27
|
-
* The context parameter provides information about which part triggered the handler (for composed devices).
|
|
28
|
-
*/
|
|
29
10
|
export type MatterCommandHandler<TArgs = unknown> = (args?: TArgs, context?: MatterHandlerContext) => Promise<void> | void;
|
|
30
|
-
/**
|
|
31
|
-
* Matter cluster handlers interface
|
|
32
|
-
*
|
|
33
|
-
* Maps command names to their handler functions.
|
|
34
|
-
* Each command can have custom argument types.
|
|
35
|
-
*/
|
|
36
11
|
export interface MatterClusterHandlers {
|
|
37
12
|
[commandName: string]: MatterCommandHandler<any>;
|
|
38
13
|
}
|
|
39
|
-
/**
|
|
40
|
-
* Matter Accessory Part - Sub-device in a composed accessory
|
|
41
|
-
*
|
|
42
|
-
* Represents a child endpoint in a composed device (e.g., individual outlets in a power strip).
|
|
43
|
-
* Parts are added as child endpoints to the main accessory.
|
|
44
|
-
*/
|
|
45
14
|
export interface MatterAccessoryPart {
|
|
46
|
-
/** Unique identifier for this part within the accessory (e.g., 'outlet-1', 'light', 'shade') */
|
|
47
15
|
id: string;
|
|
48
|
-
/** Display name for this part (optional, defaults to parent's name + part id) */
|
|
49
16
|
displayName?: string;
|
|
50
|
-
/** Matter device type for this part */
|
|
51
17
|
deviceType: EndpointType;
|
|
52
|
-
/**
|
|
53
|
-
* Initial cluster states for this part
|
|
54
|
-
* Same format as `MatterAccessory.clusters`
|
|
55
|
-
*/
|
|
56
18
|
clusters: {
|
|
57
19
|
[clusterName: string]: {
|
|
58
20
|
[attributeName: string]: unknown;
|
|
59
21
|
};
|
|
60
22
|
};
|
|
61
|
-
/**
|
|
62
|
-
* Handlers for this part's commands
|
|
63
|
-
* Handlers receive context.partId to identify which part was triggered
|
|
64
|
-
*/
|
|
65
23
|
handlers?: {
|
|
66
24
|
[clusterName: string]: MatterClusterHandlers;
|
|
67
25
|
};
|
|
68
26
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Matter Accessory - Plugin API Interface
|
|
71
|
-
*
|
|
72
|
-
* This is the main interface that plugin developers use to register
|
|
73
|
-
* Matter accessories with Homebridge.
|
|
74
|
-
*
|
|
75
|
-
* For composed devices (devices with multiple subcomponents), use the `parts` array
|
|
76
|
-
* to define child endpoints. Each part appears as a separate device in the Home app.
|
|
77
|
-
*/
|
|
78
27
|
export interface MatterAccessory<T = Record<string, unknown>> {
|
|
79
|
-
/** Unique identifier for this accessory (must be unique across all accessories) */
|
|
80
28
|
uuid: string;
|
|
81
|
-
/** Display name for the accessory */
|
|
82
29
|
displayName: string;
|
|
83
|
-
/** Matter device type (e.g., OnOffLightDevice, DimmableLightDevice, etc.) */
|
|
84
30
|
deviceType: EndpointType;
|
|
85
|
-
/** Serial number for the device */
|
|
86
31
|
serialNumber: string;
|
|
87
|
-
/** Manufacturer name */
|
|
88
32
|
manufacturer: string;
|
|
89
|
-
/** Model name/identifier */
|
|
90
33
|
model: string;
|
|
91
|
-
/** Firmware revision (optional) */
|
|
92
34
|
firmwareRevision?: string;
|
|
93
|
-
/** Hardware revision (optional) */
|
|
94
35
|
hardwareRevision?: string;
|
|
95
|
-
/** Software version (optional) */
|
|
96
36
|
softwareVersion?: string;
|
|
97
|
-
/**
|
|
98
|
-
* Plugin developer storage - persists across restarts
|
|
99
|
-
* This is a way for plugin developers to store custom data with their accessory
|
|
100
|
-
* Similar to `PlatformAccessory.context` for HAP accessories
|
|
101
|
-
*/
|
|
102
37
|
context?: T;
|
|
103
|
-
/**
|
|
104
|
-
* Initial cluster states
|
|
105
|
-
* Key is the cluster name, value is an object of attribute name -> value
|
|
106
|
-
*
|
|
107
|
-
* Example:
|
|
108
|
-
* {
|
|
109
|
-
* onOff: { onOff: true },
|
|
110
|
-
* levelControl: { currentLevel: 127, minLevel: 1, maxLevel: 254 }
|
|
111
|
-
* }
|
|
112
|
-
*
|
|
113
|
-
* Note: If using `parts`, this is optional (main accessory may only be a container)
|
|
114
|
-
*/
|
|
115
38
|
clusters?: {
|
|
116
39
|
[clusterName: string]: {
|
|
117
40
|
[attributeName: string]: unknown;
|
|
118
41
|
};
|
|
119
42
|
};
|
|
120
|
-
/**
|
|
121
|
-
* Handlers for Matter commands (Home app → Device)
|
|
122
|
-
*
|
|
123
|
-
* These handlers are called when a user controls the accessory via the Home app.
|
|
124
|
-
* Use handlers to send commands to your actual device (cloud API, local network, etc.).
|
|
125
|
-
*/
|
|
126
43
|
handlers?: {
|
|
127
44
|
[clusterName: string]: MatterClusterHandlers;
|
|
128
45
|
};
|
|
129
|
-
/**
|
|
130
|
-
* Optional: Get current state handler
|
|
131
|
-
* Called when a Matter controller reads an attribute
|
|
132
|
-
* If not provided, the last set value is returned
|
|
133
|
-
*/
|
|
134
46
|
getState?: (cluster: string, attribute: string) => Promise<any> | any;
|
|
135
|
-
/**
|
|
136
|
-
* Optional: Array of child endpoints (parts) for composed devices
|
|
137
|
-
*
|
|
138
|
-
* Use this to create devices with multiple independent subcomponents, such as:
|
|
139
|
-
* - Power strip with multiple outlets
|
|
140
|
-
* - Window covering with shade + light
|
|
141
|
-
* - Multi-zone thermostat or speaker system
|
|
142
|
-
*
|
|
143
|
-
* Each part appears as a separate device in the Home app and can be controlled independently.
|
|
144
|
-
*
|
|
145
|
-
* Example:
|
|
146
|
-
* ```typescript
|
|
147
|
-
* parts: [
|
|
148
|
-
* {
|
|
149
|
-
* id: 'outlet-1',
|
|
150
|
-
* displayName: 'Outlet 1',
|
|
151
|
-
* deviceType: api.matter.deviceTypes.OnOffOutlet,
|
|
152
|
-
* clusters: { onOff: { onOff: false } },
|
|
153
|
-
* handlers: {
|
|
154
|
-
* onOff: {
|
|
155
|
-
* on: async (args, context) => {
|
|
156
|
-
* console.log(`Part ${context.partId} turned on`)
|
|
157
|
-
* await controlOutlet(1, true)
|
|
158
|
-
* }
|
|
159
|
-
* }
|
|
160
|
-
* }
|
|
161
|
-
* },
|
|
162
|
-
* // ... more outlets
|
|
163
|
-
* ]
|
|
164
|
-
* ```
|
|
165
|
-
*/
|
|
166
47
|
parts?: MatterAccessoryPart[];
|
|
167
|
-
/**
|
|
168
|
-
* Event emitter for accessory lifecycle events.
|
|
169
|
-
*
|
|
170
|
-
* **Only available for external accessories** published via `api.matter.publishExternalAccessories()`.
|
|
171
|
-
* This property is `undefined` for accessories registered via `api.matter.registerPlatformAccessories()`.
|
|
172
|
-
*
|
|
173
|
-
* The event emitter is created automatically when the accessory is published and allows
|
|
174
|
-
* plugins to listen for the 'ready' event (fired when the Matter server starts).
|
|
175
|
-
*
|
|
176
|
-
* **HAP Equivalent:** Similar to accessing events on `PlatformAccessory._associatedHAPAccessory`
|
|
177
|
-
*
|
|
178
|
-
* @example
|
|
179
|
-
* ```typescript
|
|
180
|
-
* const accessory: MatterAccessory = { ... };
|
|
181
|
-
* api.matter.publishExternalAccessories('plugin', [accessory]);
|
|
182
|
-
*
|
|
183
|
-
* // Listen for when the accessory is ready on the network
|
|
184
|
-
* accessory._eventEmitter?.on(MatterAccessoryEventTypes.READY, (port) => {
|
|
185
|
-
* console.log(`Accessory ready on port ${port}`);
|
|
186
|
-
* // Safe to start device integration, polling, webhooks, etc.
|
|
187
|
-
* });
|
|
188
|
-
*
|
|
189
|
-
* // Listen for commissioning events
|
|
190
|
-
* accessory._eventEmitter?.on(MatterAccessoryEventTypes.COMMISSIONED, () => {
|
|
191
|
-
* console.log('Accessory paired with a controller');
|
|
192
|
-
* });
|
|
193
|
-
* ```
|
|
194
|
-
*
|
|
195
|
-
* @see MatterAccessoryEventTypes for available events
|
|
196
|
-
*/
|
|
197
48
|
_eventEmitter?: MatterAccessoryEventEmitter;
|
|
198
49
|
}
|
|
199
|
-
/**
|
|
200
|
-
* Matter Configuration (for bridge or child bridge)
|
|
201
|
-
*/
|
|
202
50
|
export interface MatterConfig extends Record<string, unknown> {
|
|
203
|
-
/** Port for Matter server (optional, will auto-assign if not specified) */
|
|
204
51
|
port?: number;
|
|
205
|
-
/** Name for the Matter bridge (optional) */
|
|
206
52
|
name?: string;
|
|
207
53
|
}
|
|
208
|
-
/**
|
|
209
|
-
* Matter Server Events
|
|
210
|
-
*
|
|
211
|
-
* Currently empty - all events removed as they were unused.
|
|
212
|
-
* Status information is queried on-demand rather than pushed via events.
|
|
213
|
-
*/
|
|
214
54
|
export interface MatterServerEvents {
|
|
215
55
|
'commissioning-status-changed': (commissioned: boolean, fabricCount: number) => void;
|
|
216
56
|
}
|
|
217
|
-
/**
|
|
218
|
-
* Matter Accessory Event Types
|
|
219
|
-
*
|
|
220
|
-
* Events that can be emitted by Matter accessories during their lifecycle.
|
|
221
|
-
*
|
|
222
|
-
* @example
|
|
223
|
-
* ```typescript
|
|
224
|
-
* Listen for when a Matter accessory is ready
|
|
225
|
-
* const accessory: MatterAccessory = { ... };
|
|
226
|
-
* api.matter.publishExternalAccessories('plugin-name', [accessory]);
|
|
227
|
-
*
|
|
228
|
-
* const internal = accessory as any;
|
|
229
|
-
* internal._eventEmitter?.on(MatterAccessoryEventTypes.READY, (port: number) => {
|
|
230
|
-
* console.log(`Accessory ready on port ${port}`);
|
|
231
|
-
* });
|
|
232
|
-
* ```
|
|
233
|
-
*
|
|
234
|
-
* @group Matter Accessory
|
|
235
|
-
*/
|
|
236
57
|
export declare enum MatterAccessoryEventTypes {
|
|
237
|
-
/**
|
|
238
|
-
* Emitted when the Matter server is ready and the accessory is available on the network.
|
|
239
|
-
* This is the main event to listen for to know when an external accessory is ready.
|
|
240
|
-
*
|
|
241
|
-
* **HAP Equivalent:** `AccessoryEventTypes.ADVERTISED`
|
|
242
|
-
*
|
|
243
|
-
* @param port - The port number the Matter server is listening on
|
|
244
|
-
*/
|
|
245
58
|
READY = "ready"
|
|
246
59
|
}
|
|
247
|
-
/**
|
|
248
|
-
* Matter Accessory Event Emitter Interface
|
|
249
|
-
*
|
|
250
|
-
* Defines the typed event emitter interface for Matter accessories.
|
|
251
|
-
* This interface extends Node's EventEmitter to provide type-safe event handling
|
|
252
|
-
* for Matter accessory lifecycle events.
|
|
253
|
-
*
|
|
254
|
-
* **Usage Pattern:**
|
|
255
|
-
* ```typescript
|
|
256
|
-
* const accessory: MatterAccessory = { ... };
|
|
257
|
-
* api.matter.publishExternalAccessories('plugin-name', [accessory]);
|
|
258
|
-
*
|
|
259
|
-
* Access the event emitter (note: created during registration)
|
|
260
|
-
* const internal = accessory as InternalMatterAccessory;
|
|
261
|
-
* internal._eventEmitter?.on(MatterAccessoryEventTypes.READY, (port: number) => {
|
|
262
|
-
* console.log(`Accessory ready on port ${port}`);
|
|
263
|
-
* });
|
|
264
|
-
* ```
|
|
265
|
-
*
|
|
266
|
-
* @group Matter Accessory
|
|
267
|
-
*/
|
|
268
60
|
export interface MatterAccessoryEventEmitter extends EventEmitter {
|
|
269
|
-
/** Register listener for 'ready' event (fired when accessory is available on network) */
|
|
270
61
|
on: (event: 'ready', listener: (port: number) => void) => this;
|
|
271
|
-
/** Emit 'ready' event */
|
|
272
62
|
emit: (event: 'ready', port: number) => boolean;
|
|
273
63
|
}
|
|
274
|
-
/**
|
|
275
|
-
* Internal representation of a part endpoint
|
|
276
|
-
*/
|
|
277
64
|
export interface InternalMatterAccessoryPart extends MatterAccessoryPart {
|
|
278
|
-
/** Matter.js endpoint instance for this part */
|
|
279
65
|
endpoint?: Endpoint;
|
|
280
66
|
}
|
|
281
|
-
/**
|
|
282
|
-
* Internal Matter accessory representation
|
|
283
|
-
* (Used internally by MatterServer)
|
|
284
|
-
*
|
|
285
|
-
* @internal
|
|
286
|
-
*/
|
|
287
67
|
export interface InternalMatterAccessory extends MatterAccessory {
|
|
288
|
-
/** Plugin identifier (set when registered) */
|
|
289
68
|
_associatedPlugin?: string;
|
|
290
|
-
/** Platform name (set when registered) */
|
|
291
69
|
_associatedPlatform?: string;
|
|
292
|
-
/** Matter.js endpoint instance */
|
|
293
70
|
endpoint?: Endpoint;
|
|
294
|
-
/** Whether this accessory is currently registered */
|
|
295
71
|
registered: boolean;
|
|
296
|
-
/** Internal part endpoints (if using parts) */
|
|
297
72
|
_parts?: InternalMatterAccessoryPart[];
|
|
298
73
|
}
|
|
299
|
-
/**
|
|
300
|
-
* Matter error type enum (for error handler categorization)
|
|
301
|
-
*/
|
|
302
74
|
export declare enum MatterErrorType {
|
|
303
75
|
INITIALIZATION = "INITIALIZATION",
|
|
304
76
|
NETWORK = "NETWORK",
|
|
@@ -310,9 +82,6 @@ export declare enum MatterErrorType {
|
|
|
310
82
|
DEVICE_ERROR = "DEVICE_ERROR",
|
|
311
83
|
UNKNOWN = "UNKNOWN"
|
|
312
84
|
}
|
|
313
|
-
/**
|
|
314
|
-
* Matter error details interface
|
|
315
|
-
*/
|
|
316
85
|
export interface MatterErrorDetails {
|
|
317
86
|
type?: MatterErrorType;
|
|
318
87
|
recoverable?: boolean;
|
|
@@ -320,9 +89,6 @@ export interface MatterErrorDetails {
|
|
|
320
89
|
context?: string;
|
|
321
90
|
originalError?: Error;
|
|
322
91
|
}
|
|
323
|
-
/**
|
|
324
|
-
* Matter error types
|
|
325
|
-
*/
|
|
326
92
|
export declare class MatterError extends Error {
|
|
327
93
|
readonly code: string;
|
|
328
94
|
readonly details?: MatterErrorDetails | undefined;
|
|
@@ -345,10 +111,6 @@ export declare class MatterNetworkError extends MatterError {
|
|
|
345
111
|
}
|
|
346
112
|
export { clusters };
|
|
347
113
|
export { devices };
|
|
348
|
-
/**
|
|
349
|
-
* Friendly device type names for the Plugin API
|
|
350
|
-
* Maps simplified names to actual Matter.js device types
|
|
351
|
-
*/
|
|
352
114
|
export declare const deviceTypes: {
|
|
353
115
|
readonly OnOffLight: devices.OnOffLightDevice;
|
|
354
116
|
readonly DimmableLight: devices.DimmableLightDevice;
|
|
@@ -357,6 +119,7 @@ export declare const deviceTypes: {
|
|
|
357
119
|
readonly OnOffSwitch: devices.OnOffLightSwitchDevice;
|
|
358
120
|
readonly OnOffOutlet: devices.OnOffPlugInUnitDevice;
|
|
359
121
|
readonly DimmableOutlet: devices.DimmablePlugInUnitDevice;
|
|
122
|
+
readonly AirQualitySensor: devices.AirQualitySensorDevice;
|
|
360
123
|
readonly TemperatureSensor: devices.TemperatureSensorDevice;
|
|
361
124
|
readonly HumiditySensor: devices.HumiditySensorDevice;
|
|
362
125
|
readonly LightSensor: devices.LightSensorDevice;
|
|
@@ -743,18 +506,6 @@ export declare const deviceTypes: {
|
|
|
743
506
|
readonly Pump: devices.PumpDevice;
|
|
744
507
|
readonly RoomAirConditioner: devices.RoomAirConditionerDevice;
|
|
745
508
|
};
|
|
746
|
-
/**
|
|
747
|
-
* Matter Cluster Names
|
|
748
|
-
* Commonly used cluster names for type safety and autocomplete
|
|
749
|
-
* Use these with api.updateMatterAccessoryState() and api.getAccessoryState()
|
|
750
|
-
*
|
|
751
|
-
* @example
|
|
752
|
-
* ```typescript
|
|
753
|
-
* With autocomplete and type safety:
|
|
754
|
-
* api.updateMatterAccessoryState(uuid, api.matterClusterNames.OnOff, { onOff: true })
|
|
755
|
-
* api.getAccessoryState(uuid, api.matterClusterNames.LevelControl)
|
|
756
|
-
* ```
|
|
757
|
-
*/
|
|
758
509
|
export declare const clusterNames: {
|
|
759
510
|
readonly OnOff: "onOff";
|
|
760
511
|
readonly LevelControl: "levelControl";
|
|
@@ -763,6 +514,12 @@ export declare const clusterNames: {
|
|
|
763
514
|
readonly WindowCovering: "windowCovering";
|
|
764
515
|
readonly Thermostat: "thermostat";
|
|
765
516
|
readonly FanControl: "fanControl";
|
|
517
|
+
readonly AirQuality: "airQuality";
|
|
518
|
+
readonly CarbonMonoxideConcentrationMeasurement: "carbonMonoxideConcentrationMeasurement";
|
|
519
|
+
readonly NitrogenDioxideConcentrationMeasurement: "nitrogenDioxideConcentrationMeasurement";
|
|
520
|
+
readonly OzoneConcentrationMeasurement: "ozoneConcentrationMeasurement";
|
|
521
|
+
readonly Pm10ConcentrationMeasurement: "pm10ConcentrationMeasurement";
|
|
522
|
+
readonly Pm25ConcentrationMeasurement: "pm25ConcentrationMeasurement";
|
|
766
523
|
readonly TemperatureMeasurement: "temperatureMeasurement";
|
|
767
524
|
readonly RelativeHumidityMeasurement: "relativeHumidityMeasurement";
|
|
768
525
|
readonly IlluminanceMeasurement: "illuminanceMeasurement";
|
|
@@ -778,33 +535,13 @@ export declare const clusterNames: {
|
|
|
778
535
|
readonly BasicInformation: "basicInformation";
|
|
779
536
|
readonly BridgedDeviceBasicInformation: "bridgedDeviceBasicInformation";
|
|
780
537
|
};
|
|
781
|
-
/**
|
|
782
|
-
* Type for Matter cluster names
|
|
783
|
-
* Provides type safety for cluster name strings
|
|
784
|
-
*/
|
|
785
538
|
export type MatterClusterName = typeof clusterNames[keyof typeof clusterNames];
|
|
786
|
-
/**
|
|
787
|
-
* Type-safe accessory map for MatterServer
|
|
788
|
-
*/
|
|
789
539
|
export type MatterAccessoryMap = Map<string, InternalMatterAccessory>;
|
|
790
|
-
/**
|
|
791
|
-
* Check if endpoint has state property (runtime check)
|
|
792
|
-
*/
|
|
793
540
|
export declare function hasEndpointState(endpoint: Endpoint): boolean;
|
|
794
|
-
/**
|
|
795
|
-
* Safely update endpoint state
|
|
796
|
-
* Uses the Endpoint's set method to update cluster attributes
|
|
797
|
-
*/
|
|
798
541
|
export declare function updateEndpointState(endpoint: Endpoint, cluster: string, attributes: Record<string, unknown>): Promise<void>;
|
|
799
|
-
/**
|
|
800
|
-
* Device type with behaviors (internal Matter.js structure)
|
|
801
|
-
*/
|
|
802
542
|
export interface DeviceTypeWithBehaviors extends EndpointType {
|
|
803
543
|
with: (...behaviors: any[]) => DeviceTypeWithBehaviors;
|
|
804
544
|
}
|
|
805
|
-
/**
|
|
806
|
-
* WindowCovering cluster with dynamic attributes
|
|
807
|
-
*/
|
|
808
545
|
export interface WindowCoveringCluster {
|
|
809
546
|
type?: number;
|
|
810
547
|
configStatus?: {
|
|
@@ -819,8 +556,5 @@ export interface WindowCoveringCluster {
|
|
|
819
556
|
currentPositionTiltPercent100ths?: number;
|
|
820
557
|
operationalStatus?: number;
|
|
821
558
|
}
|
|
822
|
-
/**
|
|
823
|
-
* Type-safe cluster access for WindowCovering
|
|
824
|
-
*/
|
|
825
559
|
export declare function getWindowCoveringCluster(accessory: MatterAccessory): WindowCoveringCluster | undefined;
|
|
826
560
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/matter/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/matter/types.ts"],"names":[],"mappings":"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"}
|
package/dist/matter/types.js
CHANGED
|
@@ -1,45 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Matter Types for Homebridge Plugin API
|
|
3
|
-
*
|
|
4
|
-
* This module provides types and interfaces for plugin developers
|
|
5
|
-
* to create Matter-compatible accessories.
|
|
6
|
-
*/
|
|
7
1
|
import * as clusters from '@matter/main/clusters';
|
|
8
2
|
import * as devices from '@matter/main/devices';
|
|
9
|
-
/**
|
|
10
|
-
* Matter Accessory Event Types
|
|
11
|
-
*
|
|
12
|
-
* Events that can be emitted by Matter accessories during their lifecycle.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* Listen for when a Matter accessory is ready
|
|
17
|
-
* const accessory: MatterAccessory = { ... };
|
|
18
|
-
* api.matter.publishExternalAccessories('plugin-name', [accessory]);
|
|
19
|
-
*
|
|
20
|
-
* const internal = accessory as any;
|
|
21
|
-
* internal._eventEmitter?.on(MatterAccessoryEventTypes.READY, (port: number) => {
|
|
22
|
-
* console.log(`Accessory ready on port ${port}`);
|
|
23
|
-
* });
|
|
24
|
-
* ```
|
|
25
|
-
*
|
|
26
|
-
* @group Matter Accessory
|
|
27
|
-
*/
|
|
28
3
|
export var MatterAccessoryEventTypes;
|
|
29
4
|
(function (MatterAccessoryEventTypes) {
|
|
30
|
-
/**
|
|
31
|
-
* Emitted when the Matter server is ready and the accessory is available on the network.
|
|
32
|
-
* This is the main event to listen for to know when an external accessory is ready.
|
|
33
|
-
*
|
|
34
|
-
* **HAP Equivalent:** `AccessoryEventTypes.ADVERTISED`
|
|
35
|
-
*
|
|
36
|
-
* @param port - The port number the Matter server is listening on
|
|
37
|
-
*/
|
|
38
5
|
MatterAccessoryEventTypes["READY"] = "ready";
|
|
39
6
|
})(MatterAccessoryEventTypes || (MatterAccessoryEventTypes = {}));
|
|
40
|
-
/**
|
|
41
|
-
* Matter error type enum (for error handler categorization)
|
|
42
|
-
*/
|
|
43
7
|
export var MatterErrorType;
|
|
44
8
|
(function (MatterErrorType) {
|
|
45
9
|
MatterErrorType["INITIALIZATION"] = "INITIALIZATION";
|
|
@@ -52,9 +16,6 @@ export var MatterErrorType;
|
|
|
52
16
|
MatterErrorType["DEVICE_ERROR"] = "DEVICE_ERROR";
|
|
53
17
|
MatterErrorType["UNKNOWN"] = "UNKNOWN";
|
|
54
18
|
})(MatterErrorType || (MatterErrorType = {}));
|
|
55
|
-
/**
|
|
56
|
-
* Matter error types
|
|
57
|
-
*/
|
|
58
19
|
export class MatterError extends Error {
|
|
59
20
|
code;
|
|
60
21
|
details;
|
|
@@ -95,25 +56,17 @@ export class MatterNetworkError extends MatterError {
|
|
|
95
56
|
this.name = 'MatterNetworkError';
|
|
96
57
|
}
|
|
97
58
|
}
|
|
98
|
-
// Export Matter.js clusters for direct access
|
|
99
59
|
export { clusters };
|
|
100
|
-
// Export raw devices namespace (for advanced use)
|
|
101
60
|
export { devices };
|
|
102
|
-
/**
|
|
103
|
-
* Friendly device type names for the Plugin API
|
|
104
|
-
* Maps simplified names to actual Matter.js device types
|
|
105
|
-
*/
|
|
106
61
|
export const deviceTypes = {
|
|
107
|
-
// Lighting
|
|
108
62
|
OnOffLight: devices.OnOffLightDevice,
|
|
109
63
|
DimmableLight: devices.DimmableLightDevice,
|
|
110
64
|
ColorTemperatureLight: devices.ColorTemperatureLightDevice,
|
|
111
65
|
ExtendedColorLight: devices.ExtendedColorLightDevice,
|
|
112
|
-
// Switches & Outlets
|
|
113
66
|
OnOffSwitch: devices.OnOffLightSwitchDevice,
|
|
114
67
|
OnOffOutlet: devices.OnOffPlugInUnitDevice,
|
|
115
68
|
DimmableOutlet: devices.DimmablePlugInUnitDevice,
|
|
116
|
-
|
|
69
|
+
AirQualitySensor: devices.AirQualitySensorDevice,
|
|
117
70
|
TemperatureSensor: devices.TemperatureSensorDevice,
|
|
118
71
|
HumiditySensor: devices.HumiditySensorDevice,
|
|
119
72
|
LightSensor: devices.LightSensorDevice,
|
|
@@ -121,36 +74,16 @@ export const deviceTypes = {
|
|
|
121
74
|
ContactSensor: devices.ContactSensorDevice,
|
|
122
75
|
LeakSensor: devices.WaterLeakDetectorDevice,
|
|
123
76
|
SmokeSensor: devices.SmokeCoAlarmDevice,
|
|
124
|
-
// HVAC
|
|
125
77
|
Thermostat: devices.ThermostatDevice.with(devices.ThermostatRequirements.ThermostatServer.with('Heating', 'Cooling')),
|
|
126
78
|
Fan: devices.FanDevice,
|
|
127
|
-
// Security
|
|
128
79
|
DoorLock: devices.DoorLockDevice,
|
|
129
|
-
// Window Coverings (features will be auto-detected based on accessory attributes)
|
|
130
80
|
WindowCovering: devices.WindowCoveringDevice,
|
|
131
|
-
// Appliances
|
|
132
|
-
// RVC optional clusters (RvcCleanMode, ServiceArea) are added dynamically in matterServer
|
|
133
|
-
// based on whether they're defined in the accessory configuration
|
|
134
81
|
RoboticVacuumCleaner: devices.RoboticVacuumCleanerDevice,
|
|
135
|
-
// Other
|
|
136
82
|
GenericSwitch: devices.GenericSwitchDevice,
|
|
137
83
|
Pump: devices.PumpDevice,
|
|
138
84
|
RoomAirConditioner: devices.RoomAirConditionerDevice,
|
|
139
85
|
};
|
|
140
|
-
/**
|
|
141
|
-
* Matter Cluster Names
|
|
142
|
-
* Commonly used cluster names for type safety and autocomplete
|
|
143
|
-
* Use these with api.updateMatterAccessoryState() and api.getAccessoryState()
|
|
144
|
-
*
|
|
145
|
-
* @example
|
|
146
|
-
* ```typescript
|
|
147
|
-
* With autocomplete and type safety:
|
|
148
|
-
* api.updateMatterAccessoryState(uuid, api.matterClusterNames.OnOff, { onOff: true })
|
|
149
|
-
* api.getAccessoryState(uuid, api.matterClusterNames.LevelControl)
|
|
150
|
-
* ```
|
|
151
|
-
*/
|
|
152
86
|
export const clusterNames = {
|
|
153
|
-
// Control Clusters
|
|
154
87
|
OnOff: 'onOff',
|
|
155
88
|
LevelControl: 'levelControl',
|
|
156
89
|
ColorControl: 'colorControl',
|
|
@@ -158,36 +91,30 @@ export const clusterNames = {
|
|
|
158
91
|
WindowCovering: 'windowCovering',
|
|
159
92
|
Thermostat: 'thermostat',
|
|
160
93
|
FanControl: 'fanControl',
|
|
161
|
-
|
|
94
|
+
AirQuality: 'airQuality',
|
|
95
|
+
CarbonMonoxideConcentrationMeasurement: 'carbonMonoxideConcentrationMeasurement',
|
|
96
|
+
NitrogenDioxideConcentrationMeasurement: 'nitrogenDioxideConcentrationMeasurement',
|
|
97
|
+
OzoneConcentrationMeasurement: 'ozoneConcentrationMeasurement',
|
|
98
|
+
Pm10ConcentrationMeasurement: 'pm10ConcentrationMeasurement',
|
|
99
|
+
Pm25ConcentrationMeasurement: 'pm25ConcentrationMeasurement',
|
|
162
100
|
TemperatureMeasurement: 'temperatureMeasurement',
|
|
163
101
|
RelativeHumidityMeasurement: 'relativeHumidityMeasurement',
|
|
164
102
|
IlluminanceMeasurement: 'illuminanceMeasurement',
|
|
165
103
|
OccupancySensing: 'occupancySensing',
|
|
166
104
|
BooleanState: 'booleanState',
|
|
167
105
|
SmokeCoAlarm: 'smokeCoAlarm',
|
|
168
|
-
// Robotic Vacuum Cleaner Clusters
|
|
169
106
|
RvcRunMode: 'rvcRunMode',
|
|
170
107
|
RvcOperationalState: 'rvcOperationalState',
|
|
171
108
|
RvcCleanMode: 'rvcCleanMode',
|
|
172
109
|
ServiceArea: 'serviceArea',
|
|
173
|
-
// Pump & Other
|
|
174
110
|
PumpConfigurationAndControl: 'pumpConfigurationAndControl',
|
|
175
|
-
// Identification
|
|
176
111
|
Identify: 'identify',
|
|
177
|
-
// Device Information (read-only, set during registration)
|
|
178
112
|
BasicInformation: 'basicInformation',
|
|
179
113
|
BridgedDeviceBasicInformation: 'bridgedDeviceBasicInformation',
|
|
180
114
|
};
|
|
181
|
-
/**
|
|
182
|
-
* Check if endpoint has state property (runtime check)
|
|
183
|
-
*/
|
|
184
115
|
export function hasEndpointState(endpoint) {
|
|
185
116
|
return 'state' in endpoint && typeof endpoint.state === 'object';
|
|
186
117
|
}
|
|
187
|
-
/**
|
|
188
|
-
* Safely update endpoint state
|
|
189
|
-
* Uses the Endpoint's set method to update cluster attributes
|
|
190
|
-
*/
|
|
191
118
|
export async function updateEndpointState(endpoint, cluster, attributes) {
|
|
192
119
|
if (!hasEndpointState(endpoint)) {
|
|
193
120
|
throw new Error('Endpoint does not support state updates');
|
|
@@ -195,9 +122,6 @@ export async function updateEndpointState(endpoint, cluster, attributes) {
|
|
|
195
122
|
const updateObject = { [cluster]: attributes };
|
|
196
123
|
await endpoint.set(updateObject);
|
|
197
124
|
}
|
|
198
|
-
/**
|
|
199
|
-
* Type-safe cluster access for WindowCovering
|
|
200
|
-
*/
|
|
201
125
|
export function getWindowCoveringCluster(accessory) {
|
|
202
126
|
return accessory.clusters?.windowCovering;
|
|
203
127
|
}
|
package/dist/matter/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/matter/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/matter/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,9 +25,6 @@ export declare class PlatformAccessory<T extends UnknownContext = UnknownContext
|
|
|
25
25
|
UUID: string;
|
|
26
26
|
category: Categories;
|
|
27
27
|
services: Service[];
|
|
28
|
-
/**
|
|
29
|
-
* This is a way for Plugin developers to store custom data with their accessory
|
|
30
|
-
*/
|
|
31
28
|
context: T;
|
|
32
29
|
constructor(displayName: string, uuid: string, category?: Categories);
|
|
33
30
|
updateDisplayName(name: string): void;
|
|
@@ -36,19 +33,7 @@ export declare class PlatformAccessory<T extends UnknownContext = UnknownContext
|
|
|
36
33
|
removeService(service: Service): void;
|
|
37
34
|
getService<T extends WithUUID<typeof Service>>(name: string | T): Service | undefined;
|
|
38
35
|
getServiceById<T extends WithUUID<typeof Service>>(uuid: string | T, subType: string): Service | undefined;
|
|
39
|
-
/**
|
|
40
|
-
* Configures a new controller for the given accessory.
|
|
41
|
-
* See {@link https://developers.homebridge.io/HAP-NodeJS/classes/accessory.html#configurecontroller | Accessory.configureController}.
|
|
42
|
-
*
|
|
43
|
-
* @param controller
|
|
44
|
-
*/
|
|
45
36
|
configureController(controller: Controller | ControllerConstructor): void;
|
|
46
|
-
/**
|
|
47
|
-
* Removes a configured controller from the given accessory.
|
|
48
|
-
* See {@link https://developers.homebridge.io/HAP-NodeJS/classes/accessory.html#removecontroller | Accessory.removeController}.
|
|
49
|
-
*
|
|
50
|
-
* @param controller
|
|
51
|
-
*/
|
|
52
37
|
removeController(controller: Controller): void;
|
|
53
38
|
static serialize(accessory: PlatformAccessory): SerializedPlatformAccessory;
|
|
54
39
|
static deserialize(json: SerializedPlatformAccessory): PlatformAccessory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platformAccessory.d.ts","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,EAEP,QAAQ,EACT,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAuB,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEhD,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,mBAAmB;IACjH,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,OAAO,EAAE,CAAC,CAAA;CACX;AAGD,0BAAkB,sBAAsB;IACtC,QAAQ,aAAa;CACtB;AAGD,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACxC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IACrD,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;CACrC;AAGD,qBAAa,iBAAiB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,YAAY;IAE5F,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAW;IAE5C,iBAAiB,CAAC,EAAE,gBAAgB,CAAA;IACpC,mBAAmB,CAAC,EAAE,YAAY,CAAA;IAClC,uBAAuB,EAAE,SAAS,CAAA;IAGlC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,UAAU,CAAA;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAK;
|
|
1
|
+
{"version":3,"file":"platformAccessory.d.ts","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,EAEP,QAAQ,EACT,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAuB,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEhD,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,mBAAmB;IACjH,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,OAAO,EAAE,CAAC,CAAA;CACX;AAGD,0BAAkB,sBAAsB;IACtC,QAAQ,aAAa;CACtB;AAGD,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACxC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IACrD,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;CACrC;AAGD,qBAAa,iBAAiB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,YAAY;IAE5F,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAW;IAE5C,iBAAiB,CAAC,EAAE,gBAAgB,CAAA;IACpC,mBAAmB,CAAC,EAAE,YAAY,CAAA;IAClC,uBAAuB,EAAE,SAAS,CAAA;IAGlC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,UAAU,CAAA;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAK;IAMjB,OAAO,EAAE,CAAC,CAAU;gBAEf,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU;IAuB7D,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOrC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IACrC,UAAU,CAAC,CAAC,SAAS,OAAO,OAAO,EAAE,kBAAkB,EAAE,CAAC,EAAE,GAAG,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO;IAQ5G,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIrC,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,SAAS;IAIrF,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAU1G,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,qBAAqB,GAAG,IAAI;IAUzE,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKrD,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,2BAA2B;IAU3E,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,2BAA2B,GAAG,iBAAiB;CAczE"}
|