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
|
@@ -1,38 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RvcCleanMode Cluster Behavior
|
|
3
|
-
*
|
|
4
|
-
* Handles robotic vacuum cleaner cleaning mode changes
|
|
5
|
-
*/
|
|
6
1
|
import { RvcCleanModeServer } from '@matter/main/behaviors/rvc-clean-mode';
|
|
7
2
|
import { Status, StatusResponseError } from '@matter/main/types';
|
|
8
3
|
import { MatterStatus } from '../errors.js';
|
|
9
|
-
/**
|
|
10
|
-
* Custom RvcCleanMode Server that calls plugin handlers
|
|
11
|
-
*/
|
|
12
4
|
export class HomebridgeRvcCleanModeServer extends RvcCleanModeServer {
|
|
13
5
|
static registry;
|
|
14
|
-
/**
|
|
15
|
-
* Set the behavior registry (called once during server initialization)
|
|
16
|
-
*/
|
|
17
6
|
static setRegistry(registry) {
|
|
18
7
|
this.registry = registry;
|
|
19
8
|
}
|
|
20
9
|
async changeToMode(request) {
|
|
21
10
|
const endpointId = this.endpoint.id;
|
|
22
11
|
try {
|
|
23
|
-
// Execute user handler
|
|
24
12
|
await HomebridgeRvcCleanModeServer.registry.executeHandler(endpointId, 'rvcCleanMode', 'changeToMode', request);
|
|
25
|
-
// Only reached if handler succeeded - call base implementation
|
|
26
13
|
return await super.changeToMode(request);
|
|
27
14
|
}
|
|
28
15
|
catch (error) {
|
|
29
|
-
// If user handler already threw a StatusResponseError, propagate it as-is
|
|
30
|
-
// This sends a proper Matter protocol error response to the controller
|
|
31
16
|
if (MatterStatus.isMatterProtocolError(error)) {
|
|
32
17
|
throw error;
|
|
33
18
|
}
|
|
34
|
-
// For other errors, wrap in appropriate StatusResponseError
|
|
35
|
-
// This prevents the endpoint from crashing and keeps the device online
|
|
36
19
|
const message = error instanceof Error ? error.message : String(error);
|
|
37
20
|
throw new StatusResponseError(`Failed to change clean mode: ${message}`, Status.Failure);
|
|
38
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RvcCleanModeBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcCleanModeBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RvcCleanModeBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcCleanModeBehavior.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,MAAM,OAAO,4BAA6B,SAAQ,kBAAkB;IAC1D,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAA0B;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,OAAY;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,4BAA4B,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;YAG/G,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,gCAAgC,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1F,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,19 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RvcOperationalState Cluster Behavior
|
|
3
|
-
*
|
|
4
|
-
* Handles robotic vacuum cleaner operational state commands
|
|
5
|
-
*/
|
|
6
1
|
import type { BehaviorRegistry } from './BehaviorRegistry.js';
|
|
7
2
|
import { RvcOperationalStateServer } from '@matter/main/behaviors/rvc-operational-state';
|
|
8
3
|
import { RvcOperationalState } from '@matter/main/clusters';
|
|
9
|
-
/**
|
|
10
|
-
* Custom RvcOperationalState Server that calls plugin handlers
|
|
11
|
-
*/
|
|
12
4
|
export declare class HomebridgeRvcOperationalStateServer extends RvcOperationalStateServer {
|
|
13
5
|
private static registry;
|
|
14
|
-
/**
|
|
15
|
-
* Set the behavior registry (called once during server initialization)
|
|
16
|
-
*/
|
|
17
6
|
static setRegistry(registry: BehaviorRegistry): void;
|
|
18
7
|
pause(): Promise<RvcOperationalState.OperationalCommandResponse>;
|
|
19
8
|
resume(): Promise<RvcOperationalState.OperationalCommandResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RvcOperationalStateBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcOperationalStateBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RvcOperationalStateBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcOperationalStateBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAQ3D,qBAAa,mCAAoC,SAAQ,yBAAyB;IAChF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIrC,KAAK,IAAI,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;IAuBhE,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;IAuBjE,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC;CA0BjF"}
|
|
@@ -1,39 +1,22 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RvcOperationalState Cluster Behavior
|
|
3
|
-
*
|
|
4
|
-
* Handles robotic vacuum cleaner operational state commands
|
|
5
|
-
*/
|
|
6
1
|
import { RvcOperationalStateServer } from '@matter/main/behaviors/rvc-operational-state';
|
|
7
2
|
import { RvcOperationalState } from '@matter/main/clusters';
|
|
8
3
|
import { Status, StatusResponseError } from '@matter/main/types';
|
|
9
4
|
import { MatterStatus } from '../errors.js';
|
|
10
|
-
/**
|
|
11
|
-
* Custom RvcOperationalState Server that calls plugin handlers
|
|
12
|
-
*/
|
|
13
5
|
export class HomebridgeRvcOperationalStateServer extends RvcOperationalStateServer {
|
|
14
6
|
static registry;
|
|
15
|
-
/**
|
|
16
|
-
* Set the behavior registry (called once during server initialization)
|
|
17
|
-
*/
|
|
18
7
|
static setRegistry(registry) {
|
|
19
8
|
this.registry = registry;
|
|
20
9
|
}
|
|
21
10
|
async pause() {
|
|
22
11
|
const endpointId = this.endpoint.id;
|
|
23
12
|
try {
|
|
24
|
-
// Execute user handler
|
|
25
13
|
await HomebridgeRvcOperationalStateServer.registry.executeHandler(endpointId, 'rvcOperationalState', 'pause');
|
|
26
|
-
// Only reached if handler succeeded - call base implementation
|
|
27
14
|
return await super.pause();
|
|
28
15
|
}
|
|
29
16
|
catch (error) {
|
|
30
|
-
// If user handler already threw a StatusResponseError, propagate it as-is
|
|
31
|
-
// This sends a proper Matter protocol error response to the controller
|
|
32
17
|
if (MatterStatus.isMatterProtocolError(error)) {
|
|
33
18
|
throw error;
|
|
34
19
|
}
|
|
35
|
-
// For other errors, wrap in appropriate StatusResponseError
|
|
36
|
-
// This prevents the endpoint from crashing and keeps the device online
|
|
37
20
|
const message = error instanceof Error ? error.message : String(error);
|
|
38
21
|
throw new StatusResponseError(`Failed to pause: ${message}`, Status.Failure);
|
|
39
22
|
}
|
|
@@ -41,19 +24,13 @@ export class HomebridgeRvcOperationalStateServer extends RvcOperationalStateServ
|
|
|
41
24
|
async resume() {
|
|
42
25
|
const endpointId = this.endpoint.id;
|
|
43
26
|
try {
|
|
44
|
-
// Execute user handler
|
|
45
27
|
await HomebridgeRvcOperationalStateServer.registry.executeHandler(endpointId, 'rvcOperationalState', 'resume');
|
|
46
|
-
// Only reached if handler succeeded - call base implementation
|
|
47
28
|
return await super.resume();
|
|
48
29
|
}
|
|
49
30
|
catch (error) {
|
|
50
|
-
// If user handler already threw a StatusResponseError, propagate it as-is
|
|
51
|
-
// This sends a proper Matter protocol error response to the controller
|
|
52
31
|
if (MatterStatus.isMatterProtocolError(error)) {
|
|
53
32
|
throw error;
|
|
54
33
|
}
|
|
55
|
-
// For other errors, wrap in appropriate StatusResponseError
|
|
56
|
-
// This prevents the endpoint from crashing and keeps the device online
|
|
57
34
|
const message = error instanceof Error ? error.message : String(error);
|
|
58
35
|
throw new StatusResponseError(`Failed to resume: ${message}`, Status.Failure);
|
|
59
36
|
}
|
|
@@ -61,9 +38,7 @@ export class HomebridgeRvcOperationalStateServer extends RvcOperationalStateServ
|
|
|
61
38
|
async goHome() {
|
|
62
39
|
const endpointId = this.endpoint.id;
|
|
63
40
|
try {
|
|
64
|
-
// Execute user handler
|
|
65
41
|
await HomebridgeRvcOperationalStateServer.registry.executeHandler(endpointId, 'rvcOperationalState', 'goHome');
|
|
66
|
-
// Only reached if handler succeeded - return success response
|
|
67
42
|
return {
|
|
68
43
|
commandResponseState: {
|
|
69
44
|
errorStateId: RvcOperationalState.ErrorState.NoError,
|
|
@@ -71,13 +46,9 @@ export class HomebridgeRvcOperationalStateServer extends RvcOperationalStateServ
|
|
|
71
46
|
};
|
|
72
47
|
}
|
|
73
48
|
catch (error) {
|
|
74
|
-
// If user handler already threw a StatusResponseError, propagate it as-is
|
|
75
|
-
// This sends a proper Matter protocol error response to the controller
|
|
76
49
|
if (MatterStatus.isMatterProtocolError(error)) {
|
|
77
50
|
throw error;
|
|
78
51
|
}
|
|
79
|
-
// For other errors, wrap in appropriate StatusResponseError
|
|
80
|
-
// This prevents the endpoint from crashing and keeps the device online
|
|
81
52
|
const message = error instanceof Error ? error.message : String(error);
|
|
82
53
|
throw new StatusResponseError(`Failed to go home: ${message}`, Status.Failure);
|
|
83
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RvcOperationalStateBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcOperationalStateBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RvcOperationalStateBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcOperationalStateBehavior.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,MAAM,OAAO,mCAAoC,SAAQ,yBAAyB;IACxE,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAA0B;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,mCAAmC,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,qBAAqB,EAAE,OAAO,CAAC,CAAA;YAG7G,OAAO,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,oBAAoB,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC9E,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,MAAM;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,mCAAmC,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAA;YAG9G,OAAO,MAAM,KAAK,CAAC,MAAM,EAAE,CAAA;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,qBAAqB,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,MAAM;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,mCAAmC,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,qBAAqB,EAAE,QAAQ,CAAC,CAAA;YAG9G,OAAO;gBACL,oBAAoB,EAAE;oBACpB,YAAY,EAAE,mBAAmB,CAAC,UAAU,CAAC,OAAO;iBACrD;aACF,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,sBAAsB,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAChF,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,18 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RvcRunMode Cluster Behavior
|
|
3
|
-
*
|
|
4
|
-
* Handles robotic vacuum cleaner run mode changes
|
|
5
|
-
*/
|
|
6
1
|
import type { BehaviorRegistry } from './BehaviorRegistry.js';
|
|
7
2
|
import { RvcRunModeServer } from '@matter/main/behaviors/rvc-run-mode';
|
|
8
|
-
/**
|
|
9
|
-
* Custom RvcRunMode Server that calls plugin handlers
|
|
10
|
-
*/
|
|
11
3
|
export declare class HomebridgeRvcRunModeServer extends RvcRunModeServer {
|
|
12
4
|
private static registry;
|
|
13
|
-
/**
|
|
14
|
-
* Set the behavior registry (called once during server initialization)
|
|
15
|
-
*/
|
|
16
5
|
static setRegistry(registry: BehaviorRegistry): void;
|
|
17
6
|
changeToMode(request: any): Promise<any>;
|
|
18
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RvcRunModeBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcRunModeBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RvcRunModeBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcRunModeBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AAQtE,qBAAa,0BAA2B,SAAQ,gBAAgB;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIrC,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAsBxD"}
|
|
@@ -1,38 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RvcRunMode Cluster Behavior
|
|
3
|
-
*
|
|
4
|
-
* Handles robotic vacuum cleaner run mode changes
|
|
5
|
-
*/
|
|
6
1
|
import { RvcRunModeServer } from '@matter/main/behaviors/rvc-run-mode';
|
|
7
2
|
import { Status, StatusResponseError } from '@matter/main/types';
|
|
8
3
|
import { MatterStatus } from '../errors.js';
|
|
9
|
-
/**
|
|
10
|
-
* Custom RvcRunMode Server that calls plugin handlers
|
|
11
|
-
*/
|
|
12
4
|
export class HomebridgeRvcRunModeServer extends RvcRunModeServer {
|
|
13
5
|
static registry;
|
|
14
|
-
/**
|
|
15
|
-
* Set the behavior registry (called once during server initialization)
|
|
16
|
-
*/
|
|
17
6
|
static setRegistry(registry) {
|
|
18
7
|
this.registry = registry;
|
|
19
8
|
}
|
|
20
9
|
async changeToMode(request) {
|
|
21
10
|
const endpointId = this.endpoint.id;
|
|
22
11
|
try {
|
|
23
|
-
// Execute user handler
|
|
24
12
|
await HomebridgeRvcRunModeServer.registry.executeHandler(endpointId, 'rvcRunMode', 'changeToMode', request);
|
|
25
|
-
// Only reached if handler succeeded - call base implementation
|
|
26
13
|
return await super.changeToMode(request);
|
|
27
14
|
}
|
|
28
15
|
catch (error) {
|
|
29
|
-
// If user handler already threw a StatusResponseError, propagate it as-is
|
|
30
|
-
// This sends a proper Matter protocol error response to the controller
|
|
31
16
|
if (MatterStatus.isMatterProtocolError(error)) {
|
|
32
17
|
throw error;
|
|
33
18
|
}
|
|
34
|
-
// For other errors, wrap in appropriate StatusResponseError
|
|
35
|
-
// This prevents the endpoint from crashing and keeps the device online
|
|
36
19
|
const message = error instanceof Error ? error.message : String(error);
|
|
37
20
|
throw new StatusResponseError(`Failed to change run mode: ${message}`, Status.Failure);
|
|
38
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RvcRunModeBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcRunModeBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RvcRunModeBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/RvcRunModeBehavior.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IACtD,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAA0B;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,OAAY;QACtC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,0BAA0B,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;YAG3G,OAAO,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,8BAA8B,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACxF,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,19 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ServiceArea Cluster Behavior
|
|
3
|
-
*
|
|
4
|
-
* Handles service area selection for robotic vacuum cleaners
|
|
5
|
-
*/
|
|
6
1
|
import type { ServiceArea } from '@matter/main/clusters';
|
|
7
2
|
import type { BehaviorRegistry } from './BehaviorRegistry.js';
|
|
8
3
|
import { ServiceAreaServer } from '@matter/main/behaviors/service-area';
|
|
9
|
-
/**
|
|
10
|
-
* Custom ServiceArea Server that calls plugin handlers
|
|
11
|
-
*/
|
|
12
4
|
export declare class HomebridgeServiceAreaServer extends ServiceAreaServer {
|
|
13
5
|
private static registry;
|
|
14
|
-
/**
|
|
15
|
-
* Set the behavior registry (called once during server initialization)
|
|
16
|
-
*/
|
|
17
6
|
static setRegistry(registry: BehaviorRegistry): void;
|
|
18
7
|
selectAreas(request: ServiceArea.SelectAreasRequest): Promise<ServiceArea.SelectAreasResponse>;
|
|
19
8
|
skipArea(request: ServiceArea.SkipAreaRequest): Promise<ServiceArea.SkipAreaResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceAreaBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/ServiceAreaBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ServiceAreaBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/ServiceAreaBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAQvE,qBAAa,2BAA4B,SAAQ,iBAAiB;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIrC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC;IAuB9F,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,gBAAgB,CAAC;CAsBrG"}
|
|
@@ -1,38 +1,21 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ServiceArea Cluster Behavior
|
|
3
|
-
*
|
|
4
|
-
* Handles service area selection for robotic vacuum cleaners
|
|
5
|
-
*/
|
|
6
1
|
import { ServiceAreaServer } from '@matter/main/behaviors/service-area';
|
|
7
2
|
import { Status, StatusResponseError } from '@matter/main/types';
|
|
8
3
|
import { MatterStatus } from '../errors.js';
|
|
9
|
-
/**
|
|
10
|
-
* Custom ServiceArea Server that calls plugin handlers
|
|
11
|
-
*/
|
|
12
4
|
export class HomebridgeServiceAreaServer extends ServiceAreaServer {
|
|
13
5
|
static registry;
|
|
14
|
-
/**
|
|
15
|
-
* Set the behavior registry (called once during server initialization)
|
|
16
|
-
*/
|
|
17
6
|
static setRegistry(registry) {
|
|
18
7
|
this.registry = registry;
|
|
19
8
|
}
|
|
20
9
|
async selectAreas(request) {
|
|
21
10
|
const endpointId = this.endpoint.id;
|
|
22
11
|
try {
|
|
23
|
-
// Execute user handler
|
|
24
12
|
await HomebridgeServiceAreaServer.registry.executeHandler(endpointId, 'serviceArea', 'selectAreas', request);
|
|
25
|
-
// Only reached if handler succeeded - call base implementation
|
|
26
13
|
return await super.selectAreas(request);
|
|
27
14
|
}
|
|
28
15
|
catch (error) {
|
|
29
|
-
// If user handler already threw a StatusResponseError, propagate it as-is
|
|
30
|
-
// This sends a proper Matter protocol error response to the controller
|
|
31
16
|
if (MatterStatus.isMatterProtocolError(error)) {
|
|
32
17
|
throw error;
|
|
33
18
|
}
|
|
34
|
-
// For other errors, wrap in appropriate StatusResponseError
|
|
35
|
-
// This prevents the endpoint from crashing and keeps the device online
|
|
36
19
|
const message = error instanceof Error ? error.message : String(error);
|
|
37
20
|
throw new StatusResponseError(`Failed to select areas: ${message}`, Status.Failure);
|
|
38
21
|
}
|
|
@@ -40,19 +23,13 @@ export class HomebridgeServiceAreaServer extends ServiceAreaServer {
|
|
|
40
23
|
async skipArea(request) {
|
|
41
24
|
const endpointId = this.endpoint.id;
|
|
42
25
|
try {
|
|
43
|
-
// Execute user handler
|
|
44
26
|
await HomebridgeServiceAreaServer.registry.executeHandler(endpointId, 'serviceArea', 'skipArea', request);
|
|
45
|
-
// Only reached if handler succeeded - call base implementation
|
|
46
27
|
return await super.skipArea(request);
|
|
47
28
|
}
|
|
48
29
|
catch (error) {
|
|
49
|
-
// If user handler already threw a StatusResponseError, propagate it as-is
|
|
50
|
-
// This sends a proper Matter protocol error response to the controller
|
|
51
30
|
if (MatterStatus.isMatterProtocolError(error)) {
|
|
52
31
|
throw error;
|
|
53
32
|
}
|
|
54
|
-
// For other errors, wrap in appropriate StatusResponseError
|
|
55
|
-
// This prevents the endpoint from crashing and keeps the device online
|
|
56
33
|
const message = error instanceof Error ? error.message : String(error);
|
|
57
34
|
throw new StatusResponseError(`Failed to skip area: ${message}`, Status.Failure);
|
|
58
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceAreaBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/ServiceAreaBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ServiceAreaBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/ServiceAreaBehavior.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAK3C,MAAM,OAAO,2BAA4B,SAAQ,iBAAiB;IACxD,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAA0B;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEQ,KAAK,CAAC,WAAW,CAAC,OAAuC;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,2BAA2B,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;YAG5G,OAAO,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,2BAA2B,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAAC,OAAoC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAA;QAEnC,IAAI,CAAC;YAEH,MAAM,2BAA2B,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;YAGzG,OAAO,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGf,IAAI,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9C,MAAM,KAAK,CAAA;YACb,CAAC;YAID,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACtE,MAAM,IAAI,mBAAmB,CAAC,wBAAwB,OAAO,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QAClF,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,20 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Thermostat Cluster Behavior
|
|
3
|
-
*
|
|
4
|
-
* Handles thermostat commands for heating and cooling systems
|
|
5
|
-
*/
|
|
6
1
|
import type { Thermostat } from '@matter/main/clusters';
|
|
7
2
|
import type { BehaviorRegistry } from './BehaviorRegistry.js';
|
|
8
3
|
import { ThermostatServer } from '@matter/main/behaviors/thermostat';
|
|
9
|
-
/**
|
|
10
|
-
* Custom Thermostat Server that calls plugin handlers
|
|
11
|
-
*/
|
|
12
4
|
export declare class HomebridgeThermostatServer extends ThermostatServer {
|
|
13
5
|
#private;
|
|
14
6
|
private static registry;
|
|
15
|
-
/**
|
|
16
|
-
* Set the behavior registry (called once during server initialization)
|
|
17
|
-
*/
|
|
18
7
|
static setRegistry(registry: BehaviorRegistry): void;
|
|
19
8
|
initialize(): void;
|
|
20
9
|
setpointRaiseLower(request: Thermostat.SetpointRaiseLowerRequest): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThermostatBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/ThermostatBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThermostatBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/ThermostatBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AAQpE,qBAAa,0BAA2B,SAAQ,gBAAgB;;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAI3C,UAAU,IAAI,IAAI;IAwGZ,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAiChG"}
|
|
@@ -1,32 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Thermostat Cluster Behavior
|
|
3
|
-
*
|
|
4
|
-
* Handles thermostat commands for heating and cooling systems
|
|
5
|
-
*/
|
|
6
1
|
import { ThermostatServer } from '@matter/main/behaviors/thermostat';
|
|
7
2
|
import { Status, StatusResponseError } from '@matter/main/types';
|
|
8
3
|
import { MatterStatus } from '../errors.js';
|
|
9
|
-
/**
|
|
10
|
-
* Custom Thermostat Server that calls plugin handlers
|
|
11
|
-
*/
|
|
12
4
|
export class HomebridgeThermostatServer extends ThermostatServer {
|
|
13
5
|
static registry;
|
|
14
|
-
/**
|
|
15
|
-
* Set the behavior registry (called once during server initialization)
|
|
16
|
-
*/
|
|
17
6
|
static setRegistry(registry) {
|
|
18
7
|
this.registry = registry;
|
|
19
8
|
}
|
|
20
9
|
initialize() {
|
|
21
10
|
super.initialize();
|
|
22
|
-
// React to systemMode attribute changes (off, heat, cool, auto, etc.)
|
|
23
11
|
this.reactTo(this.events.systemMode$Changed, this.#handleSystemModeChange);
|
|
24
|
-
// React to occupiedHeatingSetpoint attribute changes (target heating temperature)
|
|
25
12
|
const events = this.events;
|
|
26
13
|
if (events.occupiedHeatingSetpoint$Changing) {
|
|
27
14
|
this.reactTo(events.occupiedHeatingSetpoint$Changing, this.#handleOccupiedHeatingSetpointChanging);
|
|
28
15
|
}
|
|
29
|
-
// React to occupiedCoolingSetpoint attribute changes (target cooling temperature)
|
|
30
16
|
if (events.occupiedCoolingSetpoint$Changing) {
|
|
31
17
|
this.reactTo(events.occupiedCoolingSetpoint$Changing, this.#handleOccupiedCoolingSetpointChanging);
|
|
32
18
|
}
|
|
@@ -34,19 +20,13 @@ export class HomebridgeThermostatServer extends ThermostatServer {
|
|
|
34
20
|
async #handleSystemModeChange(value, oldValue) {
|
|
35
21
|
const endpointId = this.endpoint.id;
|
|
36
22
|
try {
|
|
37
|
-
// Execute user handler
|
|
38
23
|
await HomebridgeThermostatServer.registry.executeHandler(endpointId, 'thermostat', 'systemModeChange', { systemMode: value, oldSystemMode: oldValue });
|
|
39
|
-
// Sync state to cache
|
|
40
24
|
HomebridgeThermostatServer.registry.syncStateToCache(endpointId, 'thermostat', { systemMode: value });
|
|
41
25
|
}
|
|
42
26
|
catch (error) {
|
|
43
|
-
// If user handler already threw a StatusResponseError, propagate it as-is
|
|
44
|
-
// This sends a proper Matter protocol error response to the controller
|
|
45
27
|
if (MatterStatus.isMatterProtocolError(error)) {
|
|
46
28
|
throw error;
|
|
47
29
|
}
|
|
48
|
-
// For other errors, wrap in appropriate StatusResponseError
|
|
49
|
-
// This prevents the endpoint from crashing and keeps the device online
|
|
50
30
|
const message = error instanceof Error ? error.message : String(error);
|
|
51
31
|
throw new StatusResponseError(`Failed to change system mode: ${message}`, Status.Failure);
|
|
52
32
|
}
|
|
@@ -55,19 +35,13 @@ export class HomebridgeThermostatServer extends ThermostatServer {
|
|
|
55
35
|
const endpointId = this.endpoint.id;
|
|
56
36
|
const oldValue = this.state.occupiedHeatingSetpoint;
|
|
57
37
|
try {
|
|
58
|
-
// Execute user handler
|
|
59
38
|
await HomebridgeThermostatServer.registry.executeHandler(endpointId, 'thermostat', 'occupiedHeatingSetpointChange', { occupiedHeatingSetpoint: value, oldOccupiedHeatingSetpoint: oldValue });
|
|
60
|
-
// Sync state to cache
|
|
61
39
|
HomebridgeThermostatServer.registry.syncStateToCache(endpointId, 'thermostat', { occupiedHeatingSetpoint: value });
|
|
62
40
|
}
|
|
63
41
|
catch (error) {
|
|
64
|
-
// If user handler already threw a StatusResponseError, propagate it as-is
|
|
65
|
-
// This sends a proper Matter protocol error response to the controller
|
|
66
42
|
if (MatterStatus.isMatterProtocolError(error)) {
|
|
67
43
|
throw error;
|
|
68
44
|
}
|
|
69
|
-
// For other errors, wrap in appropriate StatusResponseError
|
|
70
|
-
// This prevents the endpoint from crashing and keeps the device online
|
|
71
45
|
const message = error instanceof Error ? error.message : String(error);
|
|
72
46
|
throw new StatusResponseError(`Failed to change heating setpoint: ${message}`, Status.Failure);
|
|
73
47
|
}
|
|
@@ -76,19 +50,13 @@ export class HomebridgeThermostatServer extends ThermostatServer {
|
|
|
76
50
|
const endpointId = this.endpoint.id;
|
|
77
51
|
const oldValue = this.state.occupiedCoolingSetpoint;
|
|
78
52
|
try {
|
|
79
|
-
// Execute user handler
|
|
80
53
|
await HomebridgeThermostatServer.registry.executeHandler(endpointId, 'thermostat', 'occupiedCoolingSetpointChange', { occupiedCoolingSetpoint: value, oldOccupiedCoolingSetpoint: oldValue });
|
|
81
|
-
// Sync state to cache
|
|
82
54
|
HomebridgeThermostatServer.registry.syncStateToCache(endpointId, 'thermostat', { occupiedCoolingSetpoint: value });
|
|
83
55
|
}
|
|
84
56
|
catch (error) {
|
|
85
|
-
// If user handler already threw a StatusResponseError, propagate it as-is
|
|
86
|
-
// This sends a proper Matter protocol error response to the controller
|
|
87
57
|
if (MatterStatus.isMatterProtocolError(error)) {
|
|
88
58
|
throw error;
|
|
89
59
|
}
|
|
90
|
-
// For other errors, wrap in appropriate StatusResponseError
|
|
91
|
-
// This prevents the endpoint from crashing and keeps the device online
|
|
92
60
|
const message = error instanceof Error ? error.message : String(error);
|
|
93
61
|
throw new StatusResponseError(`Failed to change cooling setpoint: ${message}`, Status.Failure);
|
|
94
62
|
}
|
|
@@ -96,11 +64,8 @@ export class HomebridgeThermostatServer extends ThermostatServer {
|
|
|
96
64
|
async setpointRaiseLower(request) {
|
|
97
65
|
const endpointId = this.endpoint.id;
|
|
98
66
|
try {
|
|
99
|
-
// Execute user handler
|
|
100
67
|
await HomebridgeThermostatServer.registry.executeHandler(endpointId, 'thermostat', 'setpointRaiseLower', request);
|
|
101
|
-
// Only reached if handler succeeded - update Matter state
|
|
102
68
|
await super.setpointRaiseLower(request);
|
|
103
|
-
// Sync thermostat setpoints to cache
|
|
104
69
|
const currentState = this.state;
|
|
105
70
|
const stateUpdate = {};
|
|
106
71
|
if (currentState.occupiedCoolingSetpoint !== undefined) {
|
|
@@ -112,13 +77,9 @@ export class HomebridgeThermostatServer extends ThermostatServer {
|
|
|
112
77
|
HomebridgeThermostatServer.registry.syncStateToCache(endpointId, 'thermostat', stateUpdate);
|
|
113
78
|
}
|
|
114
79
|
catch (error) {
|
|
115
|
-
// If user handler already threw a StatusResponseError, propagate it as-is
|
|
116
|
-
// This sends a proper Matter protocol error response to the controller
|
|
117
80
|
if (MatterStatus.isMatterProtocolError(error)) {
|
|
118
81
|
throw error;
|
|
119
82
|
}
|
|
120
|
-
// For other errors, wrap in appropriate StatusResponseError
|
|
121
|
-
// This prevents the endpoint from crashing and keeps the device online
|
|
122
83
|
const message = error instanceof Error ? error.message : String(error);
|
|
123
84
|
throw new StatusResponseError(`Failed to adjust setpoint: ${message}`, Status.Failure);
|
|
124
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThermostatBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/ThermostatBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThermostatBehavior.js","sourceRoot":"","sources":["../../../src/matter/behaviors/ThermostatBehavior.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WindowCovering Cluster Behavior
|
|
3
|
-
*
|
|
4
|
-
* Handles window covering commands for blinds, shades, and curtains
|
|
5
|
-
*/
|
|
6
1
|
import type { WindowCovering } from '@matter/main/clusters';
|
|
7
2
|
import type { BehaviorRegistry } from './BehaviorRegistry.js';
|
|
8
3
|
import { WindowCoveringBaseServer } from '@matter/main/behaviors/window-covering';
|
|
9
|
-
/**
|
|
10
|
-
* Custom WindowCovering Server that calls plugin handlers
|
|
11
|
-
*/
|
|
12
4
|
export declare class HomebridgeWindowCoveringServer extends WindowCoveringBaseServer {
|
|
13
5
|
private static registry;
|
|
14
|
-
/**
|
|
15
|
-
* Set the behavior registry (called once during server initialization)
|
|
16
|
-
*/
|
|
17
6
|
static setRegistry(registry: BehaviorRegistry): void;
|
|
18
|
-
/**
|
|
19
|
-
* Sync window covering position state to cache
|
|
20
|
-
* @param endpointId - The endpoint ID
|
|
21
|
-
* @param targetProperty - Target position property name (e.g., 'targetPositionLiftPercent100ths')
|
|
22
|
-
* @param currentProperty - Current position property name (e.g., 'currentPositionLiftPercent100ths')
|
|
23
|
-
*/
|
|
24
7
|
private syncPositionStateToCache;
|
|
25
8
|
upOrOpen(): Promise<void>;
|
|
26
9
|
downOrClose(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowCoveringBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/WindowCoveringBehavior.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WindowCoveringBehavior.d.ts","sourceRoot":"","sources":["../../../src/matter/behaviors/WindowCoveringBehavior.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AAmBjF,qBAAa,8BAA+B,SAAQ,wBAAwB;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IAKzC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAUpD,OAAO,CAAC,wBAAwB;IAmBjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B5B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B3B,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCpF,kBAAkB,CAAC,OAAO,EAAE,cAAc,CAAC,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkCpG"}
|