homebridge 2.0.0-beta.4 → 2.0.0-beta.40
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/README.md +16 -17
- package/bin/homebridge.js +22 -0
- package/config-sample.json +3 -3
- package/dist/api.d.ts +499 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +223 -0
- package/dist/api.js.map +1 -0
- package/dist/api.spec.d.ts +2 -0
- package/dist/api.spec.d.ts.map +1 -0
- package/dist/api.spec.js +413 -0
- package/dist/api.spec.js.map +1 -0
- package/{lib → dist}/bridgeService.d.ts +19 -10
- package/dist/bridgeService.d.ts.map +1 -0
- package/{lib → dist}/bridgeService.js +85 -117
- package/dist/bridgeService.js.map +1 -0
- package/{lib → dist}/childBridgeFork.d.ts +11 -5
- package/dist/childBridgeFork.d.ts.map +1 -0
- package/{lib → dist}/childBridgeFork.js +93 -44
- package/dist/childBridgeFork.js.map +1 -0
- package/{lib → dist}/childBridgeService.d.ts +37 -7
- package/dist/childBridgeService.d.ts.map +1 -0
- package/{lib → dist}/childBridgeService.js +127 -69
- package/dist/childBridgeService.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +90 -0
- package/dist/cli.js.map +1 -0
- package/dist/externalPortService.d.ts +47 -0
- package/dist/externalPortService.d.ts.map +1 -0
- package/dist/externalPortService.js +105 -0
- package/dist/externalPortService.js.map +1 -0
- package/dist/index.d.ts +141 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/ipcService.d.ts +48 -0
- package/dist/ipcService.d.ts.map +1 -0
- package/{lib → dist}/ipcService.js +12 -14
- package/dist/ipcService.js.map +1 -0
- package/{lib → dist}/logger.d.ts +12 -6
- package/dist/logger.d.ts.map +1 -0
- package/{lib → dist}/logger.js +27 -28
- package/dist/logger.js.map +1 -0
- package/dist/logger.spec.d.ts +2 -0
- package/dist/logger.spec.d.ts.map +1 -0
- package/dist/logger.spec.js +95 -0
- package/dist/logger.spec.js.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts +96 -0
- package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -0
- package/dist/matter/ChildBridgeMatterManager.js +399 -0
- package/dist/matter/ChildBridgeMatterManager.js.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts +48 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.js +73 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts +2 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.d.ts.map +1 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js +293 -0
- package/dist/matter/ExternalMatterAccessoryPublisher.spec.js.map +1 -0
- package/dist/matter/MatterAPIImpl.d.ts +504 -0
- package/dist/matter/MatterAPIImpl.d.ts.map +1 -0
- package/dist/matter/MatterAPIImpl.js +305 -0
- package/dist/matter/MatterAPIImpl.js.map +1 -0
- package/dist/matter/MatterBridgeManager.d.ts +87 -0
- package/dist/matter/MatterBridgeManager.d.ts.map +1 -0
- package/dist/matter/MatterBridgeManager.js +413 -0
- package/dist/matter/MatterBridgeManager.js.map +1 -0
- package/dist/matter/MatterConfigCollector.d.ts +26 -0
- package/dist/matter/MatterConfigCollector.d.ts.map +1 -0
- package/dist/matter/MatterConfigCollector.js +78 -0
- package/dist/matter/MatterConfigCollector.js.map +1 -0
- package/dist/matter/accessoryCache.d.ts +105 -0
- package/dist/matter/accessoryCache.d.ts.map +1 -0
- package/dist/matter/accessoryCache.js +214 -0
- package/dist/matter/accessoryCache.js.map +1 -0
- package/dist/matter/accessoryCache.spec.d.ts +2 -0
- package/dist/matter/accessoryCache.spec.d.ts.map +1 -0
- package/dist/matter/accessoryCache.spec.js +452 -0
- package/dist/matter/accessoryCache.spec.js.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.d.ts +65 -0
- package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.js +139 -0
- package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts +2 -0
- package/dist/matter/behaviors/BehaviorRegistry.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/BehaviorRegistry.spec.js +307 -0
- package/dist/matter/behaviors/BehaviorRegistry.spec.js.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.d.ts +63 -0
- package/dist/matter/behaviors/ColorControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.js +223 -0
- package/dist/matter/behaviors/ColorControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/ColorControlBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/ColorControlBehavior.spec.js +29 -0
- package/dist/matter/behaviors/ColorControlBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.d.ts +20 -0
- package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.js +71 -0
- package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/DoorLockBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/DoorLockBehavior.spec.js +120 -0
- package/dist/matter/behaviors/DoorLockBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.d.ts +20 -0
- package/dist/matter/behaviors/FanControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.js +71 -0
- package/dist/matter/behaviors/FanControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/FanControlBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/FanControlBehavior.spec.js +23 -0
- package/dist/matter/behaviors/FanControlBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.d.ts +20 -0
- package/dist/matter/behaviors/IdentifyBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.js +41 -0
- package/dist/matter/behaviors/IdentifyBehavior.js.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/IdentifyBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/IdentifyBehavior.spec.js +64 -0
- package/dist/matter/behaviors/IdentifyBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.d.ts +33 -0
- package/dist/matter/behaviors/LevelControlBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.js +138 -0
- package/dist/matter/behaviors/LevelControlBehavior.js.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/LevelControlBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/LevelControlBehavior.spec.js +145 -0
- package/dist/matter/behaviors/LevelControlBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.d.ts +27 -0
- package/dist/matter/behaviors/OnOffBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.js +95 -0
- package/dist/matter/behaviors/OnOffBehavior.js.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/OnOffBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/OnOffBehavior.spec.js +128 -0
- package/dist/matter/behaviors/OnOffBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts +19 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.js +41 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.js.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js +57 -0
- package/dist/matter/behaviors/RvcCleanModeBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts +22 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js +86 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.js.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js +55 -0
- package/dist/matter/behaviors/RvcOperationalStateBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts +19 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.js +41 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.js.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js +57 -0
- package/dist/matter/behaviors/RvcRunModeBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts +21 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.js +61 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.js.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js +53 -0
- package/dist/matter/behaviors/ServiceAreaBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.d.ts +22 -0
- package/dist/matter/behaviors/ThermostatBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.js +127 -0
- package/dist/matter/behaviors/ThermostatBehavior.js.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/ThermostatBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/ThermostatBehavior.spec.js +23 -0
- package/dist/matter/behaviors/ThermostatBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts +31 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.d.ts.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.js +158 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.js.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts +2 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.d.ts.map +1 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js +27 -0
- package/dist/matter/behaviors/WindowCoveringBehavior.spec.js.map +1 -0
- package/dist/matter/behaviors/index.d.ts +20 -0
- package/dist/matter/behaviors/index.d.ts.map +1 -0
- package/dist/matter/behaviors/index.js +21 -0
- package/dist/matter/behaviors/index.js.map +1 -0
- package/dist/matter/configValidator.d.ts +81 -0
- package/dist/matter/configValidator.d.ts.map +1 -0
- package/dist/matter/configValidator.js +240 -0
- package/dist/matter/configValidator.js.map +1 -0
- package/dist/matter/configValidator.spec.d.ts +2 -0
- package/dist/matter/configValidator.spec.d.ts.map +1 -0
- package/dist/matter/configValidator.spec.js +390 -0
- package/dist/matter/configValidator.spec.js.map +1 -0
- package/dist/matter/errorHandler.d.ts +33 -0
- package/dist/matter/errorHandler.d.ts.map +1 -0
- package/dist/matter/errorHandler.js +113 -0
- package/dist/matter/errorHandler.js.map +1 -0
- package/dist/matter/errorHandler.spec.d.ts +2 -0
- package/dist/matter/errorHandler.spec.d.ts.map +1 -0
- package/dist/matter/errorHandler.spec.js +159 -0
- package/dist/matter/errorHandler.spec.js.map +1 -0
- package/dist/matter/errors.d.ts +178 -0
- package/dist/matter/errors.d.ts.map +1 -0
- package/dist/matter/errors.js +200 -0
- package/dist/matter/errors.js.map +1 -0
- package/dist/matter/index.d.ts +127 -0
- package/dist/matter/index.d.ts.map +1 -0
- package/dist/matter/index.js +23 -0
- package/dist/matter/index.js.map +1 -0
- package/dist/matter/logFormatter.d.ts +19 -0
- package/dist/matter/logFormatter.d.ts.map +1 -0
- package/dist/matter/logFormatter.js +158 -0
- package/dist/matter/logFormatter.js.map +1 -0
- package/dist/matter/logFormatter.spec.d.ts +2 -0
- package/dist/matter/logFormatter.spec.d.ts.map +1 -0
- package/dist/matter/logFormatter.spec.js +252 -0
- package/dist/matter/logFormatter.spec.js.map +1 -0
- package/dist/matter/server.d.ts +336 -0
- package/dist/matter/server.d.ts.map +1 -0
- package/dist/matter/server.js +1810 -0
- package/dist/matter/server.js.map +1 -0
- package/dist/matter/serverHelpers.d.ts +81 -0
- package/dist/matter/serverHelpers.d.ts.map +1 -0
- package/dist/matter/serverHelpers.js +326 -0
- package/dist/matter/serverHelpers.js.map +1 -0
- package/dist/matter/serverHelpers.spec.d.ts +2 -0
- package/dist/matter/serverHelpers.spec.d.ts.map +1 -0
- package/dist/matter/serverHelpers.spec.js +521 -0
- package/dist/matter/serverHelpers.spec.js.map +1 -0
- package/dist/matter/sharedTypes.d.ts +164 -0
- package/dist/matter/sharedTypes.d.ts.map +1 -0
- package/dist/matter/sharedTypes.js +46 -0
- package/dist/matter/sharedTypes.js.map +1 -0
- package/dist/matter/storage.d.ts +135 -0
- package/dist/matter/storage.d.ts.map +1 -0
- package/dist/matter/storage.js +424 -0
- package/dist/matter/storage.js.map +1 -0
- package/dist/matter/storage.spec.d.ts +2 -0
- package/dist/matter/storage.spec.d.ts.map +1 -0
- package/dist/matter/storage.spec.js +570 -0
- package/dist/matter/storage.spec.js.map +1 -0
- package/dist/matter/typeHelpers.d.ts +45 -0
- package/dist/matter/typeHelpers.d.ts.map +1 -0
- package/dist/matter/typeHelpers.js +57 -0
- package/dist/matter/typeHelpers.js.map +1 -0
- package/dist/matter/typeHelpers.spec.d.ts +2 -0
- package/dist/matter/typeHelpers.spec.d.ts.map +1 -0
- package/dist/matter/typeHelpers.spec.js +127 -0
- package/dist/matter/typeHelpers.spec.js.map +1 -0
- package/dist/matter/types.d.ts +826 -0
- package/dist/matter/types.d.ts.map +1 -0
- package/dist/matter/types.js +204 -0
- package/dist/matter/types.js.map +1 -0
- package/{lib → dist}/platformAccessory.d.ts +8 -6
- package/dist/platformAccessory.d.ts.map +1 -0
- package/{lib → dist}/platformAccessory.js +19 -16
- package/dist/platformAccessory.js.map +1 -0
- package/dist/platformAccessory.spec.d.ts +2 -0
- package/dist/platformAccessory.spec.d.ts.map +1 -0
- package/dist/platformAccessory.spec.js +126 -0
- package/dist/platformAccessory.spec.js.map +1 -0
- package/{lib → dist}/plugin.d.ts +2 -3
- package/dist/plugin.d.ts.map +1 -0
- package/{lib → dist}/plugin.js +39 -51
- package/dist/plugin.js.map +1 -0
- package/{lib → dist}/pluginManager.d.ts +3 -3
- package/dist/pluginManager.d.ts.map +1 -0
- package/{lib → dist}/pluginManager.js +76 -81
- package/dist/pluginManager.js.map +1 -0
- package/dist/pluginManager.spec.d.ts +2 -0
- package/dist/pluginManager.spec.d.ts.map +1 -0
- package/dist/pluginManager.spec.js +43 -0
- package/dist/pluginManager.spec.js.map +1 -0
- package/{lib → dist}/server.d.ts +14 -1
- package/dist/server.d.ts.map +1 -0
- package/{lib → dist}/server.js +193 -123
- package/dist/server.js.map +1 -0
- package/dist/server.spec.d.ts +2 -0
- package/dist/server.spec.d.ts.map +1 -0
- package/dist/server.spec.js +57 -0
- package/dist/server.spec.js.map +1 -0
- package/{lib → dist}/storageService.d.ts.map +1 -1
- package/dist/storageService.js +41 -0
- package/dist/storageService.js.map +1 -0
- package/{lib → dist}/user.d.ts +1 -0
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +32 -0
- package/dist/user.js.map +1 -0
- package/dist/user.spec.d.ts +2 -0
- package/dist/user.spec.d.ts.map +1 -0
- package/dist/user.spec.js +31 -0
- package/dist/user.spec.js.map +1 -0
- package/{lib → dist}/util/mac.d.ts +1 -0
- package/dist/util/mac.d.ts.map +1 -0
- package/dist/util/mac.js +14 -0
- package/dist/util/mac.js.map +1 -0
- package/dist/util/mac.spec.d.ts +2 -0
- package/dist/util/mac.spec.d.ts.map +1 -0
- package/dist/util/mac.spec.js +36 -0
- package/dist/util/mac.spec.js.map +1 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +16 -0
- package/dist/version.js.map +1 -0
- package/dist/version.spec.d.ts +2 -0
- package/dist/version.spec.d.ts.map +1 -0
- package/dist/version.spec.js +20 -0
- package/dist/version.spec.js.map +1 -0
- package/package.json +49 -50
- package/bin/homebridge +0 -17
- package/lib/api.d.ts +0 -210
- package/lib/api.d.ts.map +0 -1
- package/lib/api.js +0 -155
- package/lib/api.js.map +0 -1
- package/lib/bridgeService.d.ts.map +0 -1
- package/lib/bridgeService.js.map +0 -1
- package/lib/childBridgeFork.d.ts.map +0 -1
- package/lib/childBridgeFork.js.map +0 -1
- package/lib/childBridgeService.d.ts.map +0 -1
- package/lib/childBridgeService.js.map +0 -1
- package/lib/cli.d.ts +0 -4
- package/lib/cli.d.ts.map +0 -1
- package/lib/cli.js +0 -111
- package/lib/cli.js.map +0 -1
- package/lib/externalPortService.d.ts +0 -33
- package/lib/externalPortService.d.ts.map +0 -1
- package/lib/externalPortService.js +0 -64
- package/lib/externalPortService.js.map +0 -1
- package/lib/index.d.ts +0 -76
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -72
- package/lib/index.js.map +0 -1
- package/lib/ipcService.d.ts +0 -33
- package/lib/ipcService.d.ts.map +0 -1
- package/lib/ipcService.js.map +0 -1
- package/lib/logger.d.ts.map +0 -1
- package/lib/logger.js.map +0 -1
- package/lib/platformAccessory.d.ts.map +0 -1
- package/lib/platformAccessory.js.map +0 -1
- package/lib/plugin.d.ts.map +0 -1
- package/lib/plugin.js.map +0 -1
- package/lib/pluginManager.d.ts.map +0 -1
- package/lib/pluginManager.js.map +0 -1
- package/lib/server.d.ts.map +0 -1
- package/lib/server.js.map +0 -1
- package/lib/storageService.js +0 -70
- package/lib/storageService.js.map +0 -1
- package/lib/user.d.ts.map +0 -1
- package/lib/user.js +0 -36
- package/lib/user.js.map +0 -1
- package/lib/util/mac.d.ts.map +0 -1
- package/lib/util/mac.js +0 -20
- package/lib/util/mac.js.map +0 -1
- package/lib/version.d.ts.map +0 -1
- package/lib/version.js +0 -21
- package/lib/version.js.map +0 -1
- /package/{lib → dist}/storageService.d.ts +0 -0
- /package/{lib → dist}/version.d.ts +0 -0
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Matter API Implementation
|
|
3
|
+
*
|
|
4
|
+
* This class implements the Matter API facade, keeping Matter-specific logic
|
|
5
|
+
* separate from the core HomebridgeAPI class.
|
|
6
|
+
*
|
|
7
|
+
* Benefits:
|
|
8
|
+
* - Reduces changes to core api.ts file
|
|
9
|
+
* - Lazy-loads Matter code only when used
|
|
10
|
+
* - Clear separation between HAP and Matter
|
|
11
|
+
* - Easier to test in isolation
|
|
12
|
+
* - Validates accessories before registration
|
|
13
|
+
* - Provides detailed error messages for debugging
|
|
14
|
+
*/
|
|
15
|
+
import type { EndpointType } from '@matter/main';
|
|
16
|
+
import type { HomebridgeAPI, MatterAPI, PlatformName, PluginIdentifier } from '../api.js';
|
|
17
|
+
import { clusters, MatterAccessory } from './index.js';
|
|
18
|
+
/**
|
|
19
|
+
* Implementation of the Matter API
|
|
20
|
+
* Delegates to the HomebridgeAPI instance for event emission and server access
|
|
21
|
+
* Provides validation and coordination for Matter accessory operations
|
|
22
|
+
*/
|
|
23
|
+
export declare class MatterAPIImpl implements MatterAPI {
|
|
24
|
+
private readonly api;
|
|
25
|
+
constructor(api: HomebridgeAPI);
|
|
26
|
+
/**
|
|
27
|
+
* Validate a Matter accessory has required fields
|
|
28
|
+
* @throws MatterAccessoryValidationError if validation fails
|
|
29
|
+
*/
|
|
30
|
+
private validateAccessory;
|
|
31
|
+
/**
|
|
32
|
+
* Validate an array of accessories, logging errors for invalid ones
|
|
33
|
+
* @returns Array of valid accessories only
|
|
34
|
+
*/
|
|
35
|
+
private validateAccessories;
|
|
36
|
+
/**
|
|
37
|
+
* Validate cluster name is valid
|
|
38
|
+
*/
|
|
39
|
+
private validateClusterName;
|
|
40
|
+
/**
|
|
41
|
+
* UUID generator (alias of api.hap.uuid for convenience)
|
|
42
|
+
*/
|
|
43
|
+
get uuid(): typeof import("hap-nodejs/dist/lib/util/uuid.js");
|
|
44
|
+
/**
|
|
45
|
+
* Matter device types for creating accessories
|
|
46
|
+
*/
|
|
47
|
+
get deviceTypes(): {
|
|
48
|
+
readonly OnOffLight: import("@matter/node/devices").OnOffLightDevice;
|
|
49
|
+
readonly DimmableLight: import("@matter/node/devices").DimmableLightDevice;
|
|
50
|
+
readonly ColorTemperatureLight: import("@matter/node/devices").ColorTemperatureLightDevice;
|
|
51
|
+
readonly ExtendedColorLight: import("@matter/node/devices").ExtendedColorLightDevice;
|
|
52
|
+
readonly OnOffSwitch: import("@matter/node/devices").OnOffLightSwitchDevice;
|
|
53
|
+
readonly OnOffOutlet: import("@matter/node/devices").OnOffPlugInUnitDevice;
|
|
54
|
+
readonly DimmableOutlet: import("@matter/node/devices").DimmablePlugInUnitDevice;
|
|
55
|
+
readonly TemperatureSensor: import("@matter/node/devices").TemperatureSensorDevice;
|
|
56
|
+
readonly HumiditySensor: import("@matter/node/devices").HumiditySensorDevice;
|
|
57
|
+
readonly LightSensor: import("@matter/node/devices").LightSensorDevice;
|
|
58
|
+
readonly MotionSensor: import("@matter/node/devices").OccupancySensorDevice;
|
|
59
|
+
readonly ContactSensor: import("@matter/node/devices").ContactSensorDevice;
|
|
60
|
+
readonly LeakSensor: import("@matter/node/devices").WaterLeakDetectorDevice;
|
|
61
|
+
readonly SmokeSensor: import("@matter/node/devices").SmokeCoAlarmDevice;
|
|
62
|
+
readonly Thermostat: import("@matter/main").MutableEndpoint.With<EndpointType.For<{
|
|
63
|
+
readonly name: "Thermostat";
|
|
64
|
+
readonly deviceType: 769;
|
|
65
|
+
readonly deviceRevision: 4;
|
|
66
|
+
readonly requirements: typeof import("@matter/node/devices").ThermostatRequirements;
|
|
67
|
+
readonly behaviors: {
|
|
68
|
+
readonly identify: typeof import("@matter/node/behaviors").IdentifyServer;
|
|
69
|
+
};
|
|
70
|
+
}>, import("@matter/main").SupportedBehaviors.With<{
|
|
71
|
+
readonly identify: typeof import("@matter/node/behaviors").IdentifyServer;
|
|
72
|
+
}, readonly [import("@matter/main").ClusterBehavior.Type<import("@matter/types").ClusterComposer.WithFeatures<import("@matter/types").ClusterType.Of<{
|
|
73
|
+
readonly id: 513;
|
|
74
|
+
readonly name: "Thermostat";
|
|
75
|
+
readonly revision: 9;
|
|
76
|
+
readonly features: {
|
|
77
|
+
readonly heating: import("@matter/types").BitFlag;
|
|
78
|
+
readonly cooling: import("@matter/types").BitFlag;
|
|
79
|
+
readonly occupancy: import("@matter/types").BitFlag;
|
|
80
|
+
readonly scheduleConfiguration: import("@matter/types").BitFlag;
|
|
81
|
+
readonly setback: import("@matter/types").BitFlag;
|
|
82
|
+
readonly autoMode: import("@matter/types").BitFlag;
|
|
83
|
+
readonly localTemperatureNotExposed: import("@matter/types").BitFlag;
|
|
84
|
+
readonly matterScheduleConfiguration: import("@matter/types").BitFlag;
|
|
85
|
+
readonly presets: import("@matter/types").BitFlag;
|
|
86
|
+
};
|
|
87
|
+
readonly attributes: {
|
|
88
|
+
readonly localTemperature: import("@matter/types").Attribute<number | null, any>;
|
|
89
|
+
readonly outdoorTemperature: import("@matter/types").OptionalAttribute<number | null, any>;
|
|
90
|
+
readonly hvacSystemTypeConfiguration: import("@matter/types").OptionalWritableAttribute<import("@matter/types").TypeFromPartialBitSchema<{
|
|
91
|
+
coolingStage: import("@matter/types").BitField;
|
|
92
|
+
heatingStage: import("@matter/types").BitField;
|
|
93
|
+
heatingIsHeatPump: import("@matter/types").BitFlag;
|
|
94
|
+
heatingUsesFuel: import("@matter/types").BitFlag;
|
|
95
|
+
}>, any>;
|
|
96
|
+
readonly remoteSensing: import("@matter/types").OptionalWritableAttribute<import("@matter/types").TypeFromPartialBitSchema<{
|
|
97
|
+
localTemperature: import("@matter/types").BitFlag;
|
|
98
|
+
outdoorTemperature: import("@matter/types").BitFlag;
|
|
99
|
+
occupancy: import("@matter/types").BitFlag;
|
|
100
|
+
}>, any>;
|
|
101
|
+
readonly controlSequenceOfOperation: import("@matter/types").WritableAttribute<clusters.Thermostat.ControlSequenceOfOperation, any>;
|
|
102
|
+
readonly systemMode: import("@matter/types").WritableAttribute<clusters.Thermostat.SystemMode, any>;
|
|
103
|
+
readonly temperatureSetpointHold: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.TemperatureSetpointHold, any>;
|
|
104
|
+
readonly temperatureSetpointHoldDuration: import("@matter/types").OptionalWritableAttribute<number | null, any>;
|
|
105
|
+
readonly thermostatProgrammingOperationMode: import("@matter/types").OptionalWritableAttribute<import("@matter/types").TypeFromPartialBitSchema<{
|
|
106
|
+
scheduleActive: import("@matter/types").BitFlag;
|
|
107
|
+
autoRecovery: import("@matter/types").BitFlag;
|
|
108
|
+
economy: import("@matter/types").BitFlag;
|
|
109
|
+
}>, any>;
|
|
110
|
+
readonly thermostatRunningState: import("@matter/types").OptionalAttribute<import("@matter/types").TypeFromPartialBitSchema<{
|
|
111
|
+
heat: import("@matter/types").BitFlag;
|
|
112
|
+
cool: import("@matter/types").BitFlag;
|
|
113
|
+
fan: import("@matter/types").BitFlag;
|
|
114
|
+
heatStage2: import("@matter/types").BitFlag;
|
|
115
|
+
coolStage2: import("@matter/types").BitFlag;
|
|
116
|
+
fanStage2: import("@matter/types").BitFlag;
|
|
117
|
+
fanStage3: import("@matter/types").BitFlag;
|
|
118
|
+
}>, any>;
|
|
119
|
+
readonly setpointChangeSource: import("@matter/types").OptionalAttribute<clusters.Thermostat.SetpointChangeSource, any>;
|
|
120
|
+
readonly setpointChangeAmount: import("@matter/types").OptionalAttribute<number | null, any>;
|
|
121
|
+
readonly setpointChangeSourceTimestamp: import("@matter/types").OptionalAttribute<number, any>;
|
|
122
|
+
readonly emergencyHeatDelta: import("@matter/types").OptionalWritableAttribute<number, any>;
|
|
123
|
+
readonly acType: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.AcType, any>;
|
|
124
|
+
readonly acCapacity: import("@matter/types").OptionalWritableAttribute<number, any>;
|
|
125
|
+
readonly acRefrigerantType: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.AcRefrigerantType, any>;
|
|
126
|
+
readonly acCompressorType: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.AcCompressorType, any>;
|
|
127
|
+
readonly acErrorCode: import("@matter/types").OptionalWritableAttribute<import("@matter/types").TypeFromPartialBitSchema<{
|
|
128
|
+
compressorFail: import("@matter/types").BitFlag;
|
|
129
|
+
roomSensorFail: import("@matter/types").BitFlag;
|
|
130
|
+
outdoorSensorFail: import("@matter/types").BitFlag;
|
|
131
|
+
coilSensorFail: import("@matter/types").BitFlag;
|
|
132
|
+
fanFail: import("@matter/types").BitFlag;
|
|
133
|
+
}>, any>;
|
|
134
|
+
readonly acLouverPosition: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.AcLouverPosition, any>;
|
|
135
|
+
readonly acCoilTemperature: import("@matter/types").OptionalAttribute<number | null, any>;
|
|
136
|
+
readonly acCapacityFormat: import("@matter/types").OptionalWritableAttribute<clusters.Thermostat.AcCapacityFormat, any>;
|
|
137
|
+
readonly setpointHoldExpiryTimestamp: import("@matter/types").OptionalAttribute<number | null, any>;
|
|
138
|
+
};
|
|
139
|
+
readonly commands: {
|
|
140
|
+
readonly setpointRaiseLower: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
|
|
141
|
+
mode: import("@matter/types").FieldType<clusters.Thermostat.SetpointRaiseLowerMode>;
|
|
142
|
+
amount: import("@matter/types").FieldType<number>;
|
|
143
|
+
}>, void, any>;
|
|
144
|
+
readonly atomicRequest: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
|
|
145
|
+
requestType: import("@matter/types").FieldType<clusters.Thermostat.RequestType>;
|
|
146
|
+
attributeRequests: import("@matter/types").FieldType<import("@matter/main").AttributeId[]>;
|
|
147
|
+
timeout: import("@matter/types").OptionalFieldType<number>;
|
|
148
|
+
}>, import("@matter/types").TypeFromFields<{
|
|
149
|
+
statusCode: import("@matter/types").FieldType<import("@matter/types").Status>;
|
|
150
|
+
attributeStatus: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
|
|
151
|
+
attributeId: import("@matter/types").FieldType<import("@matter/main").AttributeId>;
|
|
152
|
+
statusCode: import("@matter/types").FieldType<import("@matter/types").Status>;
|
|
153
|
+
}>[]>;
|
|
154
|
+
timeout: import("@matter/types").OptionalFieldType<number>;
|
|
155
|
+
}>, any>;
|
|
156
|
+
};
|
|
157
|
+
readonly extensions: readonly [{
|
|
158
|
+
readonly flags: {
|
|
159
|
+
readonly occupancy: true;
|
|
160
|
+
};
|
|
161
|
+
readonly component: {
|
|
162
|
+
readonly attributes: {
|
|
163
|
+
readonly occupancy: import("@matter/types").Attribute<import("@matter/types").TypeFromPartialBitSchema<{
|
|
164
|
+
occupied: import("@matter/types").BitFlag;
|
|
165
|
+
}>, any>;
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
}, {
|
|
169
|
+
readonly flags: {
|
|
170
|
+
readonly heating: true;
|
|
171
|
+
};
|
|
172
|
+
readonly component: {
|
|
173
|
+
readonly attributes: {
|
|
174
|
+
readonly absMinHeatSetpointLimit: import("@matter/types").OptionalFixedAttribute<number, any>;
|
|
175
|
+
readonly absMaxHeatSetpointLimit: import("@matter/types").OptionalFixedAttribute<number, any>;
|
|
176
|
+
readonly piHeatingDemand: import("@matter/types").OptionalAttribute<number, any>;
|
|
177
|
+
readonly occupiedHeatingSetpoint: import("@matter/types").WritableAttribute<number, any>;
|
|
178
|
+
readonly minHeatSetpointLimit: import("@matter/types").OptionalWritableAttribute<number, any>;
|
|
179
|
+
readonly maxHeatSetpointLimit: import("@matter/types").OptionalWritableAttribute<number, any>;
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
}, {
|
|
183
|
+
readonly flags: {
|
|
184
|
+
readonly cooling: true;
|
|
185
|
+
};
|
|
186
|
+
readonly component: {
|
|
187
|
+
readonly attributes: {
|
|
188
|
+
readonly absMinCoolSetpointLimit: import("@matter/types").OptionalFixedAttribute<number, any>;
|
|
189
|
+
readonly absMaxCoolSetpointLimit: import("@matter/types").OptionalFixedAttribute<number, any>;
|
|
190
|
+
readonly piCoolingDemand: import("@matter/types").OptionalAttribute<number, any>;
|
|
191
|
+
readonly occupiedCoolingSetpoint: import("@matter/types").WritableAttribute<number, any>;
|
|
192
|
+
readonly minCoolSetpointLimit: import("@matter/types").OptionalWritableAttribute<number, any>;
|
|
193
|
+
readonly maxCoolSetpointLimit: import("@matter/types").OptionalWritableAttribute<number, any>;
|
|
194
|
+
};
|
|
195
|
+
};
|
|
196
|
+
}, {
|
|
197
|
+
readonly flags: {
|
|
198
|
+
readonly localTemperatureNotExposed: false;
|
|
199
|
+
};
|
|
200
|
+
readonly component: {
|
|
201
|
+
readonly attributes: {
|
|
202
|
+
readonly localTemperatureCalibration: import("@matter/types").OptionalWritableAttribute<number, any>;
|
|
203
|
+
};
|
|
204
|
+
};
|
|
205
|
+
}, {
|
|
206
|
+
readonly flags: {
|
|
207
|
+
readonly cooling: true;
|
|
208
|
+
readonly occupancy: true;
|
|
209
|
+
};
|
|
210
|
+
readonly component: {
|
|
211
|
+
readonly attributes: {
|
|
212
|
+
readonly unoccupiedCoolingSetpoint: import("@matter/types").WritableAttribute<number, any>;
|
|
213
|
+
};
|
|
214
|
+
};
|
|
215
|
+
}, {
|
|
216
|
+
readonly flags: {
|
|
217
|
+
readonly heating: true;
|
|
218
|
+
readonly occupancy: true;
|
|
219
|
+
};
|
|
220
|
+
readonly component: {
|
|
221
|
+
readonly attributes: {
|
|
222
|
+
readonly unoccupiedHeatingSetpoint: import("@matter/types").WritableAttribute<number, any>;
|
|
223
|
+
};
|
|
224
|
+
};
|
|
225
|
+
}, {
|
|
226
|
+
readonly flags: {
|
|
227
|
+
readonly autoMode: true;
|
|
228
|
+
};
|
|
229
|
+
readonly component: {
|
|
230
|
+
readonly attributes: {
|
|
231
|
+
readonly minSetpointDeadBand: import("@matter/types").WritableAttribute<number, any>;
|
|
232
|
+
readonly thermostatRunningMode: import("@matter/types").OptionalAttribute<clusters.Thermostat.ThermostatRunningMode, any>;
|
|
233
|
+
};
|
|
234
|
+
};
|
|
235
|
+
}, {
|
|
236
|
+
readonly flags: {
|
|
237
|
+
readonly scheduleConfiguration: true;
|
|
238
|
+
};
|
|
239
|
+
readonly component: {
|
|
240
|
+
readonly attributes: {
|
|
241
|
+
readonly startOfWeek: import("@matter/types").FixedAttribute<clusters.Thermostat.StartOfWeek, any>;
|
|
242
|
+
readonly numberOfWeeklyTransitions: import("@matter/types").FixedAttribute<number, any>;
|
|
243
|
+
readonly numberOfDailyTransitions: import("@matter/types").FixedAttribute<number, any>;
|
|
244
|
+
};
|
|
245
|
+
readonly commands: {
|
|
246
|
+
readonly setWeeklySchedule: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
|
|
247
|
+
numberOfTransitionsForSequence: import("@matter/types").FieldType<number>;
|
|
248
|
+
dayOfWeekForSequence: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
|
|
249
|
+
sunday: import("@matter/types").BitFlag;
|
|
250
|
+
monday: import("@matter/types").BitFlag;
|
|
251
|
+
tuesday: import("@matter/types").BitFlag;
|
|
252
|
+
wednesday: import("@matter/types").BitFlag;
|
|
253
|
+
thursday: import("@matter/types").BitFlag;
|
|
254
|
+
friday: import("@matter/types").BitFlag;
|
|
255
|
+
saturday: import("@matter/types").BitFlag;
|
|
256
|
+
away: import("@matter/types").BitFlag;
|
|
257
|
+
}>>;
|
|
258
|
+
modeForSequence: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
|
|
259
|
+
heatSetpointPresent: import("@matter/types").BitFlag;
|
|
260
|
+
coolSetpointPresent: import("@matter/types").BitFlag;
|
|
261
|
+
}>>;
|
|
262
|
+
transitions: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
|
|
263
|
+
transitionTime: import("@matter/types").FieldType<number>;
|
|
264
|
+
heatSetpoint: import("@matter/types").FieldType<number | null>;
|
|
265
|
+
coolSetpoint: import("@matter/types").FieldType<number | null>;
|
|
266
|
+
}>[]>;
|
|
267
|
+
}>, void, any>;
|
|
268
|
+
readonly getWeeklySchedule: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
|
|
269
|
+
daysToReturn: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
|
|
270
|
+
sunday: import("@matter/types").BitFlag;
|
|
271
|
+
monday: import("@matter/types").BitFlag;
|
|
272
|
+
tuesday: import("@matter/types").BitFlag;
|
|
273
|
+
wednesday: import("@matter/types").BitFlag;
|
|
274
|
+
thursday: import("@matter/types").BitFlag;
|
|
275
|
+
friday: import("@matter/types").BitFlag;
|
|
276
|
+
saturday: import("@matter/types").BitFlag;
|
|
277
|
+
away: import("@matter/types").BitFlag;
|
|
278
|
+
}>>;
|
|
279
|
+
modeToReturn: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
|
|
280
|
+
heatSetpointPresent: import("@matter/types").BitFlag;
|
|
281
|
+
coolSetpointPresent: import("@matter/types").BitFlag;
|
|
282
|
+
}>>;
|
|
283
|
+
}>, import("@matter/types").TypeFromFields<{
|
|
284
|
+
numberOfTransitionsForSequence: import("@matter/types").FieldType<number>;
|
|
285
|
+
dayOfWeekForSequence: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
|
|
286
|
+
sunday: import("@matter/types").BitFlag;
|
|
287
|
+
monday: import("@matter/types").BitFlag;
|
|
288
|
+
tuesday: import("@matter/types").BitFlag;
|
|
289
|
+
wednesday: import("@matter/types").BitFlag;
|
|
290
|
+
thursday: import("@matter/types").BitFlag;
|
|
291
|
+
friday: import("@matter/types").BitFlag;
|
|
292
|
+
saturday: import("@matter/types").BitFlag;
|
|
293
|
+
away: import("@matter/types").BitFlag;
|
|
294
|
+
}>>;
|
|
295
|
+
modeForSequence: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
|
|
296
|
+
heatSetpointPresent: import("@matter/types").BitFlag;
|
|
297
|
+
coolSetpointPresent: import("@matter/types").BitFlag;
|
|
298
|
+
}>>;
|
|
299
|
+
transitions: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
|
|
300
|
+
transitionTime: import("@matter/types").FieldType<number>;
|
|
301
|
+
heatSetpoint: import("@matter/types").FieldType<number | null>;
|
|
302
|
+
coolSetpoint: import("@matter/types").FieldType<number | null>;
|
|
303
|
+
}>[]>;
|
|
304
|
+
}>, any>;
|
|
305
|
+
readonly clearWeeklySchedule: import("@matter/types").Command<void, void, any>;
|
|
306
|
+
};
|
|
307
|
+
};
|
|
308
|
+
}, {
|
|
309
|
+
readonly flags: {
|
|
310
|
+
readonly setback: true;
|
|
311
|
+
};
|
|
312
|
+
readonly component: {
|
|
313
|
+
readonly attributes: {
|
|
314
|
+
readonly occupiedSetback: import("@matter/types").WritableAttribute<number | null, any>;
|
|
315
|
+
readonly occupiedSetbackMin: import("@matter/types").FixedAttribute<number | null, any>;
|
|
316
|
+
readonly occupiedSetbackMax: import("@matter/types").FixedAttribute<number | null, any>;
|
|
317
|
+
};
|
|
318
|
+
};
|
|
319
|
+
}, {
|
|
320
|
+
readonly flags: {
|
|
321
|
+
readonly setback: true;
|
|
322
|
+
readonly occupancy: true;
|
|
323
|
+
};
|
|
324
|
+
readonly component: {
|
|
325
|
+
readonly attributes: {
|
|
326
|
+
readonly unoccupiedSetback: import("@matter/types").WritableAttribute<number | null, any>;
|
|
327
|
+
readonly unoccupiedSetbackMin: import("@matter/types").FixedAttribute<number | null, any>;
|
|
328
|
+
readonly unoccupiedSetbackMax: import("@matter/types").FixedAttribute<number | null, any>;
|
|
329
|
+
};
|
|
330
|
+
};
|
|
331
|
+
}, {
|
|
332
|
+
readonly flags: {
|
|
333
|
+
readonly presets: true;
|
|
334
|
+
};
|
|
335
|
+
readonly component: {
|
|
336
|
+
readonly attributes: {
|
|
337
|
+
readonly presetTypes: import("@matter/types").FixedAttribute<import("@matter/types").TypeFromFields<{
|
|
338
|
+
presetScenario: import("@matter/types").FieldType<clusters.Thermostat.PresetScenario>;
|
|
339
|
+
numberOfPresets: import("@matter/types").FieldType<number>;
|
|
340
|
+
presetTypeFeatures: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
|
|
341
|
+
automatic: import("@matter/types").BitFlag;
|
|
342
|
+
supportsNames: import("@matter/types").BitFlag;
|
|
343
|
+
}>>;
|
|
344
|
+
}>[], any>;
|
|
345
|
+
readonly numberOfPresets: import("@matter/types").FixedAttribute<number, any>;
|
|
346
|
+
readonly activePresetHandle: import("@matter/types").Attribute<AllowSharedBufferSource | null, any>;
|
|
347
|
+
readonly presets: import("@matter/types").WritableAttribute<import("@matter/types").TypeFromFields<{
|
|
348
|
+
presetHandle: import("@matter/types").FieldType<AllowSharedBufferSource | null>;
|
|
349
|
+
presetScenario: import("@matter/types").FieldType<clusters.Thermostat.PresetScenario>;
|
|
350
|
+
name: import("@matter/types").OptionalFieldType<string | null>;
|
|
351
|
+
coolingSetpoint: import("@matter/types").OptionalFieldType<number>;
|
|
352
|
+
heatingSetpoint: import("@matter/types").OptionalFieldType<number>;
|
|
353
|
+
builtIn: import("@matter/types").FieldType<boolean | null>;
|
|
354
|
+
}>[], any>;
|
|
355
|
+
};
|
|
356
|
+
readonly commands: {
|
|
357
|
+
readonly setActivePresetRequest: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
|
|
358
|
+
presetHandle: import("@matter/types").FieldType<AllowSharedBufferSource | null>;
|
|
359
|
+
}>, void, any>;
|
|
360
|
+
};
|
|
361
|
+
};
|
|
362
|
+
}, {
|
|
363
|
+
readonly flags: {
|
|
364
|
+
readonly matterScheduleConfiguration: true;
|
|
365
|
+
};
|
|
366
|
+
readonly component: {
|
|
367
|
+
readonly attributes: {
|
|
368
|
+
readonly scheduleTypes: import("@matter/types").FixedAttribute<import("@matter/types").TypeFromFields<{
|
|
369
|
+
systemMode: import("@matter/types").FieldType<clusters.Thermostat.SystemMode>;
|
|
370
|
+
numberOfSchedules: import("@matter/types").FieldType<number>;
|
|
371
|
+
scheduleTypeFeatures: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
|
|
372
|
+
supportsPresets: import("@matter/types").BitFlag;
|
|
373
|
+
supportsSetpoints: import("@matter/types").BitFlag;
|
|
374
|
+
supportsNames: import("@matter/types").BitFlag;
|
|
375
|
+
supportsOff: import("@matter/types").BitFlag;
|
|
376
|
+
}>>;
|
|
377
|
+
}>[], any>;
|
|
378
|
+
readonly numberOfSchedules: import("@matter/types").FixedAttribute<number, any>;
|
|
379
|
+
readonly numberOfScheduleTransitions: import("@matter/types").FixedAttribute<number, any>;
|
|
380
|
+
readonly numberOfScheduleTransitionPerDay: import("@matter/types").FixedAttribute<number | null, any>;
|
|
381
|
+
readonly activeScheduleHandle: import("@matter/types").Attribute<AllowSharedBufferSource | null, any>;
|
|
382
|
+
readonly schedules: import("@matter/types").WritableAttribute<import("@matter/types").TypeFromFields<{
|
|
383
|
+
scheduleHandle: import("@matter/types").FieldType<AllowSharedBufferSource | null>;
|
|
384
|
+
systemMode: import("@matter/types").FieldType<clusters.Thermostat.SystemMode>;
|
|
385
|
+
name: import("@matter/types").OptionalFieldType<string>;
|
|
386
|
+
presetHandle: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
|
|
387
|
+
transitions: import("@matter/types").FieldType<import("@matter/types").TypeFromFields<{
|
|
388
|
+
dayOfWeek: import("@matter/types").FieldType<import("@matter/types").TypeFromPartialBitSchema<{
|
|
389
|
+
sunday: import("@matter/types").BitFlag;
|
|
390
|
+
monday: import("@matter/types").BitFlag;
|
|
391
|
+
tuesday: import("@matter/types").BitFlag;
|
|
392
|
+
wednesday: import("@matter/types").BitFlag;
|
|
393
|
+
thursday: import("@matter/types").BitFlag;
|
|
394
|
+
friday: import("@matter/types").BitFlag;
|
|
395
|
+
saturday: import("@matter/types").BitFlag;
|
|
396
|
+
away: import("@matter/types").BitFlag;
|
|
397
|
+
}>>;
|
|
398
|
+
transitionTime: import("@matter/types").FieldType<number>;
|
|
399
|
+
presetHandle: import("@matter/types").OptionalFieldType<AllowSharedBufferSource>;
|
|
400
|
+
systemMode: import("@matter/types").OptionalFieldType<clusters.Thermostat.SystemMode>;
|
|
401
|
+
coolingSetpoint: import("@matter/types").OptionalFieldType<number>;
|
|
402
|
+
heatingSetpoint: import("@matter/types").OptionalFieldType<number>;
|
|
403
|
+
}>[]>;
|
|
404
|
+
builtIn: import("@matter/types").FieldType<boolean | null>;
|
|
405
|
+
}>[], any>;
|
|
406
|
+
};
|
|
407
|
+
readonly commands: {
|
|
408
|
+
readonly setActiveScheduleRequest: import("@matter/types").Command<import("@matter/types").TypeFromFields<{
|
|
409
|
+
scheduleHandle: import("@matter/types").FieldType<AllowSharedBufferSource>;
|
|
410
|
+
}>, void, any>;
|
|
411
|
+
};
|
|
412
|
+
};
|
|
413
|
+
}, {
|
|
414
|
+
readonly flags: {
|
|
415
|
+
readonly autoMode: true;
|
|
416
|
+
readonly heating: false;
|
|
417
|
+
};
|
|
418
|
+
readonly component: false;
|
|
419
|
+
}, {
|
|
420
|
+
readonly flags: {
|
|
421
|
+
readonly autoMode: true;
|
|
422
|
+
readonly cooling: false;
|
|
423
|
+
};
|
|
424
|
+
readonly component: false;
|
|
425
|
+
}, {
|
|
426
|
+
readonly flags: {
|
|
427
|
+
readonly heating: false;
|
|
428
|
+
readonly cooling: false;
|
|
429
|
+
};
|
|
430
|
+
readonly component: false;
|
|
431
|
+
}];
|
|
432
|
+
}>, readonly ["Heating", "Cooling"]>, typeof import("@matter/node/behaviors").ThermostatServer, import("@matter/node/behaviors").ThermostatInterface>]>>;
|
|
433
|
+
readonly Fan: import("@matter/node/devices").FanDevice;
|
|
434
|
+
readonly DoorLock: import("@matter/node/devices").DoorLockDevice;
|
|
435
|
+
readonly WindowCovering: import("@matter/node/devices").WindowCoveringDevice;
|
|
436
|
+
readonly RoboticVacuumCleaner: import("@matter/node/devices").RoboticVacuumCleanerDevice;
|
|
437
|
+
readonly GenericSwitch: import("@matter/node/devices").GenericSwitchDevice;
|
|
438
|
+
readonly Pump: import("@matter/node/devices").PumpDevice;
|
|
439
|
+
readonly RoomAirConditioner: import("@matter/node/devices").RoomAirConditionerDevice;
|
|
440
|
+
};
|
|
441
|
+
/**
|
|
442
|
+
* Matter clusters - Direct access to Matter.js cluster definitions
|
|
443
|
+
*/
|
|
444
|
+
get clusters(): typeof clusters;
|
|
445
|
+
/**
|
|
446
|
+
* Matter cluster names for type safety and autocomplete
|
|
447
|
+
*/
|
|
448
|
+
get clusterNames(): {
|
|
449
|
+
readonly OnOff: "onOff";
|
|
450
|
+
readonly LevelControl: "levelControl";
|
|
451
|
+
readonly ColorControl: "colorControl";
|
|
452
|
+
readonly DoorLock: "doorLock";
|
|
453
|
+
readonly WindowCovering: "windowCovering";
|
|
454
|
+
readonly Thermostat: "thermostat";
|
|
455
|
+
readonly FanControl: "fanControl";
|
|
456
|
+
readonly TemperatureMeasurement: "temperatureMeasurement";
|
|
457
|
+
readonly RelativeHumidityMeasurement: "relativeHumidityMeasurement";
|
|
458
|
+
readonly IlluminanceMeasurement: "illuminanceMeasurement";
|
|
459
|
+
readonly OccupancySensing: "occupancySensing";
|
|
460
|
+
readonly BooleanState: "booleanState";
|
|
461
|
+
readonly SmokeCoAlarm: "smokeCoAlarm";
|
|
462
|
+
readonly RvcRunMode: "rvcRunMode";
|
|
463
|
+
readonly RvcOperationalState: "rvcOperationalState";
|
|
464
|
+
readonly RvcCleanMode: "rvcCleanMode";
|
|
465
|
+
readonly ServiceArea: "serviceArea";
|
|
466
|
+
readonly PumpConfigurationAndControl: "pumpConfigurationAndControl";
|
|
467
|
+
readonly Identify: "identify";
|
|
468
|
+
readonly BasicInformation: "basicInformation";
|
|
469
|
+
readonly BridgedDeviceBasicInformation: "bridgedDeviceBasicInformation";
|
|
470
|
+
};
|
|
471
|
+
/**
|
|
472
|
+
* Matter types - Access to Matter.js cluster type definitions and enums
|
|
473
|
+
*/
|
|
474
|
+
get types(): typeof clusters;
|
|
475
|
+
/**
|
|
476
|
+
* Register Matter platform accessories
|
|
477
|
+
* Automatically handles external accessories (e.g., RoboticVacuumCleaner) that need dedicated bridges
|
|
478
|
+
* Validates accessories before registration
|
|
479
|
+
* Returns a promise that resolves when all accessories are fully registered
|
|
480
|
+
*/
|
|
481
|
+
registerPlatformAccessories(pluginIdentifier: PluginIdentifier, platformName: PlatformName, accessories: MatterAccessory[]): Promise<void>;
|
|
482
|
+
/**
|
|
483
|
+
* Update Matter platform accessories in the cache
|
|
484
|
+
* Similar to api.updatePlatformAccessories() for HAP accessories
|
|
485
|
+
*/
|
|
486
|
+
updatePlatformAccessories(accessories: MatterAccessory[]): Promise<void>;
|
|
487
|
+
/**
|
|
488
|
+
* Unregister Matter platform accessories
|
|
489
|
+
* Automatically handles external accessories (e.g., RoboticVacuumCleaner) that have dedicated bridges
|
|
490
|
+
*/
|
|
491
|
+
unregisterPlatformAccessories(pluginIdentifier: PluginIdentifier, platformName: PlatformName, accessories: MatterAccessory[]): Promise<void>;
|
|
492
|
+
/**
|
|
493
|
+
* Update a Matter accessory's cluster state
|
|
494
|
+
* Validates inputs before updating
|
|
495
|
+
*/
|
|
496
|
+
updateAccessoryState(uuid: string, cluster: string, attributes: Record<string, unknown>, partId?: string): Promise<void>;
|
|
497
|
+
/**
|
|
498
|
+
* Get a Matter accessory's current cluster state
|
|
499
|
+
* Checks both external servers and main bridge server
|
|
500
|
+
* Validates inputs before retrieving state
|
|
501
|
+
*/
|
|
502
|
+
getAccessoryState(uuid: string, cluster: string, partId?: string): Promise<Record<string, unknown> | undefined>;
|
|
503
|
+
}
|
|
504
|
+
//# sourceMappingURL=MatterAPIImpl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MatterAPIImpl.d.ts","sourceRoot":"","sources":["../../src/matter/MatterAPIImpl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAKzF,OAAO,EAAgB,QAAQ,EAAe,eAAe,EAA6B,MAAM,YAAY,CAAA;AA8B5G;;;;GAIG;AACH,qBAAa,aAAc,YAAW,SAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,aAAa;IAE/C;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA4CzB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,IAAI,IAAI,sDAEP;IAED;;OAEG;IACH,IAAI,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uFA+Py+9B,uBAAuB;;4EAAmL,uBAAuB;;;;;;;;;;4EAAkpB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;yFAAwwC,uBAAuB;;8EAAuL,uBAAuB;;;oFAAwO,uBAAuB;;;;;;;;;;;;;wFAAk2B,uBAAuB;;;;;;;;;;8EAAymB,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA7PtmmC;IAED;;OAEG;IACH,IAAI,QAAQ,oBAEX;IAED;;OAEG;IACH,IAAI,YAAY;;;;;;;;;;;;;;;;;;;;;;MAEf;IAED;;OAEG;IACH,IAAI,KAAK,oBAER;IAED;;;;;OAKG;IACG,2BAA2B,CAC/B,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,eAAe,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC;IA8EhB;;;OAGG;IACG,yBAAyB,CAAC,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY9E;;;OAGG;IACG,6BAA6B,CACjC,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,eAAe,EAAE,GAC7B,OAAO,CAAC,IAAI,CAAC;IAmChB;;;OAGG;IACG,oBAAoB,CACxB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IA2BhB;;;;OAIG;IACG,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CAqChD"}
|