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/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;
|
|
@@ -744,18 +506,6 @@ export declare const deviceTypes: {
|
|
|
744
506
|
readonly Pump: devices.PumpDevice;
|
|
745
507
|
readonly RoomAirConditioner: devices.RoomAirConditionerDevice;
|
|
746
508
|
};
|
|
747
|
-
/**
|
|
748
|
-
* Matter Cluster Names
|
|
749
|
-
* Commonly used cluster names for type safety and autocomplete
|
|
750
|
-
* Use these with api.updateMatterAccessoryState() and api.getAccessoryState()
|
|
751
|
-
*
|
|
752
|
-
* @example
|
|
753
|
-
* ```typescript
|
|
754
|
-
* With autocomplete and type safety:
|
|
755
|
-
* api.updateMatterAccessoryState(uuid, api.matterClusterNames.OnOff, { onOff: true })
|
|
756
|
-
* api.getAccessoryState(uuid, api.matterClusterNames.LevelControl)
|
|
757
|
-
* ```
|
|
758
|
-
*/
|
|
759
509
|
export declare const clusterNames: {
|
|
760
510
|
readonly OnOff: "onOff";
|
|
761
511
|
readonly LevelControl: "levelControl";
|
|
@@ -785,33 +535,13 @@ export declare const clusterNames: {
|
|
|
785
535
|
readonly BasicInformation: "basicInformation";
|
|
786
536
|
readonly BridgedDeviceBasicInformation: "bridgedDeviceBasicInformation";
|
|
787
537
|
};
|
|
788
|
-
/**
|
|
789
|
-
* Type for Matter cluster names
|
|
790
|
-
* Provides type safety for cluster name strings
|
|
791
|
-
*/
|
|
792
538
|
export type MatterClusterName = typeof clusterNames[keyof typeof clusterNames];
|
|
793
|
-
/**
|
|
794
|
-
* Type-safe accessory map for MatterServer
|
|
795
|
-
*/
|
|
796
539
|
export type MatterAccessoryMap = Map<string, InternalMatterAccessory>;
|
|
797
|
-
/**
|
|
798
|
-
* Check if endpoint has state property (runtime check)
|
|
799
|
-
*/
|
|
800
540
|
export declare function hasEndpointState(endpoint: Endpoint): boolean;
|
|
801
|
-
/**
|
|
802
|
-
* Safely update endpoint state
|
|
803
|
-
* Uses the Endpoint's set method to update cluster attributes
|
|
804
|
-
*/
|
|
805
541
|
export declare function updateEndpointState(endpoint: Endpoint, cluster: string, attributes: Record<string, unknown>): Promise<void>;
|
|
806
|
-
/**
|
|
807
|
-
* Device type with behaviors (internal Matter.js structure)
|
|
808
|
-
*/
|
|
809
542
|
export interface DeviceTypeWithBehaviors extends EndpointType {
|
|
810
543
|
with: (...behaviors: any[]) => DeviceTypeWithBehaviors;
|
|
811
544
|
}
|
|
812
|
-
/**
|
|
813
|
-
* WindowCovering cluster with dynamic attributes
|
|
814
|
-
*/
|
|
815
545
|
export interface WindowCoveringCluster {
|
|
816
546
|
type?: number;
|
|
817
547
|
configStatus?: {
|
|
@@ -826,8 +556,5 @@ export interface WindowCoveringCluster {
|
|
|
826
556
|
currentPositionTiltPercent100ths?: number;
|
|
827
557
|
operationalStatus?: number;
|
|
828
558
|
}
|
|
829
|
-
/**
|
|
830
|
-
* Type-safe cluster access for WindowCovering
|
|
831
|
-
*/
|
|
832
559
|
export declare function getWindowCoveringCluster(accessory: MatterAccessory): WindowCoveringCluster | undefined;
|
|
833
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,16 @@ 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
|
-
// Sensors
|
|
117
69
|
AirQualitySensor: devices.AirQualitySensorDevice,
|
|
118
70
|
TemperatureSensor: devices.TemperatureSensorDevice,
|
|
119
71
|
HumiditySensor: devices.HumiditySensorDevice,
|
|
@@ -122,36 +74,16 @@ export const deviceTypes = {
|
|
|
122
74
|
ContactSensor: devices.ContactSensorDevice,
|
|
123
75
|
LeakSensor: devices.WaterLeakDetectorDevice,
|
|
124
76
|
SmokeSensor: devices.SmokeCoAlarmDevice,
|
|
125
|
-
// HVAC
|
|
126
77
|
Thermostat: devices.ThermostatDevice.with(devices.ThermostatRequirements.ThermostatServer.with('Heating', 'Cooling')),
|
|
127
78
|
Fan: devices.FanDevice,
|
|
128
|
-
// Security
|
|
129
79
|
DoorLock: devices.DoorLockDevice,
|
|
130
|
-
// Window Coverings (features will be auto-detected based on accessory attributes)
|
|
131
80
|
WindowCovering: devices.WindowCoveringDevice,
|
|
132
|
-
// Appliances
|
|
133
|
-
// RVC optional clusters (RvcCleanMode, ServiceArea) are added dynamically in matterServer
|
|
134
|
-
// based on whether they're defined in the accessory configuration
|
|
135
81
|
RoboticVacuumCleaner: devices.RoboticVacuumCleanerDevice,
|
|
136
|
-
// Other
|
|
137
82
|
GenericSwitch: devices.GenericSwitchDevice,
|
|
138
83
|
Pump: devices.PumpDevice,
|
|
139
84
|
RoomAirConditioner: devices.RoomAirConditionerDevice,
|
|
140
85
|
};
|
|
141
|
-
/**
|
|
142
|
-
* Matter Cluster Names
|
|
143
|
-
* Commonly used cluster names for type safety and autocomplete
|
|
144
|
-
* Use these with api.updateMatterAccessoryState() and api.getAccessoryState()
|
|
145
|
-
*
|
|
146
|
-
* @example
|
|
147
|
-
* ```typescript
|
|
148
|
-
* With autocomplete and type safety:
|
|
149
|
-
* api.updateMatterAccessoryState(uuid, api.matterClusterNames.OnOff, { onOff: true })
|
|
150
|
-
* api.getAccessoryState(uuid, api.matterClusterNames.LevelControl)
|
|
151
|
-
* ```
|
|
152
|
-
*/
|
|
153
86
|
export const clusterNames = {
|
|
154
|
-
// Control Clusters
|
|
155
87
|
OnOff: 'onOff',
|
|
156
88
|
LevelControl: 'levelControl',
|
|
157
89
|
ColorControl: 'colorControl',
|
|
@@ -159,7 +91,6 @@ export const clusterNames = {
|
|
|
159
91
|
WindowCovering: 'windowCovering',
|
|
160
92
|
Thermostat: 'thermostat',
|
|
161
93
|
FanControl: 'fanControl',
|
|
162
|
-
// Sensor Clusters
|
|
163
94
|
AirQuality: 'airQuality',
|
|
164
95
|
CarbonMonoxideConcentrationMeasurement: 'carbonMonoxideConcentrationMeasurement',
|
|
165
96
|
NitrogenDioxideConcentrationMeasurement: 'nitrogenDioxideConcentrationMeasurement',
|
|
@@ -172,29 +103,18 @@ export const clusterNames = {
|
|
|
172
103
|
OccupancySensing: 'occupancySensing',
|
|
173
104
|
BooleanState: 'booleanState',
|
|
174
105
|
SmokeCoAlarm: 'smokeCoAlarm',
|
|
175
|
-
// Robotic Vacuum Cleaner Clusters
|
|
176
106
|
RvcRunMode: 'rvcRunMode',
|
|
177
107
|
RvcOperationalState: 'rvcOperationalState',
|
|
178
108
|
RvcCleanMode: 'rvcCleanMode',
|
|
179
109
|
ServiceArea: 'serviceArea',
|
|
180
|
-
// Pump & Other
|
|
181
110
|
PumpConfigurationAndControl: 'pumpConfigurationAndControl',
|
|
182
|
-
// Identification
|
|
183
111
|
Identify: 'identify',
|
|
184
|
-
// Device Information (read-only, set during registration)
|
|
185
112
|
BasicInformation: 'basicInformation',
|
|
186
113
|
BridgedDeviceBasicInformation: 'bridgedDeviceBasicInformation',
|
|
187
114
|
};
|
|
188
|
-
/**
|
|
189
|
-
* Check if endpoint has state property (runtime check)
|
|
190
|
-
*/
|
|
191
115
|
export function hasEndpointState(endpoint) {
|
|
192
116
|
return 'state' in endpoint && typeof endpoint.state === 'object';
|
|
193
117
|
}
|
|
194
|
-
/**
|
|
195
|
-
* Safely update endpoint state
|
|
196
|
-
* Uses the Endpoint's set method to update cluster attributes
|
|
197
|
-
*/
|
|
198
118
|
export async function updateEndpointState(endpoint, cluster, attributes) {
|
|
199
119
|
if (!hasEndpointState(endpoint)) {
|
|
200
120
|
throw new Error('Endpoint does not support state updates');
|
|
@@ -202,9 +122,6 @@ export async function updateEndpointState(endpoint, cluster, attributes) {
|
|
|
202
122
|
const updateObject = { [cluster]: attributes };
|
|
203
123
|
await endpoint.set(updateObject);
|
|
204
124
|
}
|
|
205
|
-
/**
|
|
206
|
-
* Type-safe cluster access for WindowCovering
|
|
207
|
-
*/
|
|
208
125
|
export function getWindowCoveringCluster(accessory) {
|
|
209
126
|
return accessory.clusters?.windowCovering;
|
|
210
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"}
|