matterbridge 3.1.5 → 3.1.6-dev-20250721-75fab6b
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/CHANGELOG.md +18 -0
- package/dist/cli.js +2 -91
- package/dist/cliEmitter.js +0 -30
- package/dist/clusters/export.js +0 -2
- package/dist/defaultConfigSchema.js +0 -24
- package/dist/deviceManager.js +1 -94
- package/dist/devices/batteryStorage.js +1 -48
- package/dist/devices/dishwasher.js +90 -0
- package/dist/devices/evse.js +10 -74
- package/dist/devices/export.js +2 -2
- package/dist/devices/extractorHood.js +35 -0
- package/dist/devices/heatPump.js +2 -50
- package/dist/devices/laundryDryer.js +6 -83
- package/dist/devices/laundryWasher.js +7 -91
- package/dist/devices/roboticVacuumCleaner.js +7 -93
- package/dist/devices/solarPower.js +0 -38
- package/dist/devices/waterHeater.js +2 -82
- package/dist/frontend.js +21 -429
- package/dist/globalMatterbridge.js +0 -47
- package/dist/helpers.js +0 -53
- package/dist/index.js +1 -30
- package/dist/logger/export.js +0 -1
- package/dist/matter/behaviors.js +0 -2
- package/dist/matter/clusters.js +0 -2
- package/dist/matter/devices.js +0 -2
- package/dist/matter/endpoints.js +0 -2
- package/dist/matter/export.js +0 -3
- package/dist/matter/types.js +0 -3
- package/dist/matterbridge.js +79 -802
- package/dist/matterbridgeAccessoryPlatform.js +0 -36
- package/dist/matterbridgeBehaviors.js +24 -61
- package/dist/matterbridgeDeviceTypes.js +15 -579
- package/dist/matterbridgeDynamicPlatform.js +0 -36
- package/dist/matterbridgeEndpoint.js +64 -1113
- package/dist/matterbridgeEndpointHelpers.js +12 -322
- package/dist/matterbridgePlatform.js +0 -233
- package/dist/matterbridgeTypes.js +0 -25
- package/dist/pluginManager.js +3 -249
- package/dist/shelly.js +7 -168
- package/dist/storage/export.js +0 -1
- package/dist/update.js +0 -54
- package/dist/utils/colorUtils.js +2 -263
- package/dist/utils/commandLine.js +0 -54
- package/dist/utils/copyDirectory.js +1 -38
- package/dist/utils/createDirectory.js +0 -33
- package/dist/utils/createZip.js +2 -47
- package/dist/utils/deepCopy.js +0 -39
- package/dist/utils/deepEqual.js +1 -72
- package/dist/utils/error.js +0 -41
- package/dist/utils/export.js +0 -1
- package/dist/utils/hex.js +0 -58
- package/dist/utils/isvalid.js +0 -101
- package/dist/utils/network.js +5 -81
- package/dist/utils/spawn.js +0 -40
- package/dist/utils/wait.js +9 -62
- package/npm-shrinkwrap.json +9 -9
- package/package.json +2 -3
- package/dist/cli.d.ts +0 -26
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/cliEmitter.d.ts +0 -34
- package/dist/cliEmitter.d.ts.map +0 -1
- package/dist/cliEmitter.js.map +0 -1
- package/dist/clusters/export.d.ts +0 -2
- package/dist/clusters/export.d.ts.map +0 -1
- package/dist/clusters/export.js.map +0 -1
- package/dist/defaultConfigSchema.d.ts +0 -28
- package/dist/defaultConfigSchema.d.ts.map +0 -1
- package/dist/defaultConfigSchema.js.map +0 -1
- package/dist/deviceManager.d.ts +0 -112
- package/dist/deviceManager.d.ts.map +0 -1
- package/dist/deviceManager.js.map +0 -1
- package/dist/devices/batteryStorage.d.ts +0 -48
- package/dist/devices/batteryStorage.d.ts.map +0 -1
- package/dist/devices/batteryStorage.js.map +0 -1
- package/dist/devices/evse.d.ts +0 -75
- package/dist/devices/evse.d.ts.map +0 -1
- package/dist/devices/evse.js.map +0 -1
- package/dist/devices/export.d.ts +0 -9
- package/dist/devices/export.d.ts.map +0 -1
- package/dist/devices/export.js.map +0 -1
- package/dist/devices/heatPump.d.ts +0 -47
- package/dist/devices/heatPump.d.ts.map +0 -1
- package/dist/devices/heatPump.js.map +0 -1
- package/dist/devices/laundryDryer.d.ts +0 -87
- package/dist/devices/laundryDryer.d.ts.map +0 -1
- package/dist/devices/laundryDryer.js.map +0 -1
- package/dist/devices/laundryWasher.d.ts +0 -242
- package/dist/devices/laundryWasher.d.ts.map +0 -1
- package/dist/devices/laundryWasher.js.map +0 -1
- package/dist/devices/roboticVacuumCleaner.d.ts +0 -112
- package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
- package/dist/devices/roboticVacuumCleaner.js.map +0 -1
- package/dist/devices/solarPower.d.ts +0 -40
- package/dist/devices/solarPower.d.ts.map +0 -1
- package/dist/devices/solarPower.js.map +0 -1
- package/dist/devices/waterHeater.d.ts +0 -111
- package/dist/devices/waterHeater.d.ts.map +0 -1
- package/dist/devices/waterHeater.js.map +0 -1
- package/dist/frontend.d.ts +0 -304
- package/dist/frontend.d.ts.map +0 -1
- package/dist/frontend.js.map +0 -1
- package/dist/globalMatterbridge.d.ts +0 -59
- package/dist/globalMatterbridge.d.ts.map +0 -1
- package/dist/globalMatterbridge.js.map +0 -1
- package/dist/helpers.d.ts +0 -48
- package/dist/helpers.d.ts.map +0 -1
- package/dist/helpers.js.map +0 -1
- package/dist/index.d.ts +0 -33
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger/export.d.ts +0 -2
- package/dist/logger/export.d.ts.map +0 -1
- package/dist/logger/export.js.map +0 -1
- package/dist/matter/behaviors.d.ts +0 -2
- package/dist/matter/behaviors.d.ts.map +0 -1
- package/dist/matter/behaviors.js.map +0 -1
- package/dist/matter/clusters.d.ts +0 -2
- package/dist/matter/clusters.d.ts.map +0 -1
- package/dist/matter/clusters.js.map +0 -1
- package/dist/matter/devices.d.ts +0 -2
- package/dist/matter/devices.d.ts.map +0 -1
- package/dist/matter/devices.js.map +0 -1
- package/dist/matter/endpoints.d.ts +0 -2
- package/dist/matter/endpoints.d.ts.map +0 -1
- package/dist/matter/endpoints.js.map +0 -1
- package/dist/matter/export.d.ts +0 -5
- package/dist/matter/export.d.ts.map +0 -1
- package/dist/matter/export.js.map +0 -1
- package/dist/matter/types.d.ts +0 -3
- package/dist/matter/types.d.ts.map +0 -1
- package/dist/matter/types.js.map +0 -1
- package/dist/matterbridge.d.ts +0 -447
- package/dist/matterbridge.d.ts.map +0 -1
- package/dist/matterbridge.js.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.d.ts +0 -42
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
- package/dist/matterbridgeBehaviors.d.ts +0 -1340
- package/dist/matterbridgeBehaviors.d.ts.map +0 -1
- package/dist/matterbridgeBehaviors.js.map +0 -1
- package/dist/matterbridgeDeviceTypes.d.ts +0 -709
- package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
- package/dist/matterbridgeDeviceTypes.js.map +0 -1
- package/dist/matterbridgeDynamicPlatform.d.ts +0 -42
- package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
- package/dist/matterbridgeDynamicPlatform.js.map +0 -1
- package/dist/matterbridgeEndpoint.d.ts +0 -1250
- package/dist/matterbridgeEndpoint.d.ts.map +0 -1
- package/dist/matterbridgeEndpoint.js.map +0 -1
- package/dist/matterbridgeEndpointHelpers.d.ts +0 -3198
- package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
- package/dist/matterbridgeEndpointHelpers.js.map +0 -1
- package/dist/matterbridgePlatform.d.ts +0 -310
- package/dist/matterbridgePlatform.d.ts.map +0 -1
- package/dist/matterbridgePlatform.js.map +0 -1
- package/dist/matterbridgeTypes.d.ts +0 -195
- package/dist/matterbridgeTypes.d.ts.map +0 -1
- package/dist/matterbridgeTypes.js.map +0 -1
- package/dist/pluginManager.d.ts +0 -270
- package/dist/pluginManager.d.ts.map +0 -1
- package/dist/pluginManager.js.map +0 -1
- package/dist/shelly.d.ts +0 -174
- package/dist/shelly.d.ts.map +0 -1
- package/dist/shelly.js.map +0 -1
- package/dist/storage/export.d.ts +0 -2
- package/dist/storage/export.d.ts.map +0 -1
- package/dist/storage/export.js.map +0 -1
- package/dist/update.d.ts +0 -59
- package/dist/update.d.ts.map +0 -1
- package/dist/update.js.map +0 -1
- package/dist/utils/colorUtils.d.ts +0 -117
- package/dist/utils/colorUtils.d.ts.map +0 -1
- package/dist/utils/colorUtils.js.map +0 -1
- package/dist/utils/commandLine.d.ts +0 -59
- package/dist/utils/commandLine.d.ts.map +0 -1
- package/dist/utils/commandLine.js.map +0 -1
- package/dist/utils/copyDirectory.d.ts +0 -33
- package/dist/utils/copyDirectory.d.ts.map +0 -1
- package/dist/utils/copyDirectory.js.map +0 -1
- package/dist/utils/createDirectory.d.ts +0 -34
- package/dist/utils/createDirectory.d.ts.map +0 -1
- package/dist/utils/createDirectory.js.map +0 -1
- package/dist/utils/createZip.d.ts +0 -39
- package/dist/utils/createZip.d.ts.map +0 -1
- package/dist/utils/createZip.js.map +0 -1
- package/dist/utils/deepCopy.d.ts +0 -32
- package/dist/utils/deepCopy.d.ts.map +0 -1
- package/dist/utils/deepCopy.js.map +0 -1
- package/dist/utils/deepEqual.d.ts +0 -54
- package/dist/utils/deepEqual.d.ts.map +0 -1
- package/dist/utils/deepEqual.js.map +0 -1
- package/dist/utils/error.d.ts +0 -44
- package/dist/utils/error.d.ts.map +0 -1
- package/dist/utils/error.js.map +0 -1
- package/dist/utils/export.d.ts +0 -12
- package/dist/utils/export.d.ts.map +0 -1
- package/dist/utils/export.js.map +0 -1
- package/dist/utils/hex.d.ts +0 -49
- package/dist/utils/hex.d.ts.map +0 -1
- package/dist/utils/hex.js.map +0 -1
- package/dist/utils/isvalid.d.ts +0 -103
- package/dist/utils/isvalid.d.ts.map +0 -1
- package/dist/utils/isvalid.js.map +0 -1
- package/dist/utils/network.d.ts +0 -74
- package/dist/utils/network.d.ts.map +0 -1
- package/dist/utils/network.js.map +0 -1
- package/dist/utils/spawn.d.ts +0 -33
- package/dist/utils/spawn.d.ts.map +0 -1
- package/dist/utils/spawn.js.map +0 -1
- package/dist/utils/wait.d.ts +0 -56
- package/dist/utils/wait.d.ts.map +0 -1
- package/dist/utils/wait.js.map +0 -1
|
@@ -1,40 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file contains the class MatterbridgeAccessoryPlatform.
|
|
3
|
-
*
|
|
4
|
-
* @file matterbridgeAccessoryPlatform.ts
|
|
5
|
-
* @author Luca Liguori
|
|
6
|
-
* @created 2023-12-29
|
|
7
|
-
* @version 1.0.5
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2023, 2024, 2025 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License.
|
|
23
|
-
*/
|
|
24
1
|
import { MatterbridgePlatform } from './matterbridgePlatform.js';
|
|
25
|
-
/**
|
|
26
|
-
* Represents a Matterbridge accessory platform.
|
|
27
|
-
*
|
|
28
|
-
* This class extends the MatterbridgePlatform class.
|
|
29
|
-
*/
|
|
30
2
|
export class MatterbridgeAccessoryPlatform extends MatterbridgePlatform {
|
|
31
|
-
/**
|
|
32
|
-
* Creates an instance of MatterbridgeAccessoryPlatform.
|
|
33
|
-
*
|
|
34
|
-
* @param {Matterbridge} matterbridge - The Matterbridge instance.
|
|
35
|
-
* @param {AnsiLogger} log - The logger instance.
|
|
36
|
-
* @param {PlatformConfig} config - The platform configuration.
|
|
37
|
-
*/
|
|
38
3
|
constructor(matterbridge, log, config) {
|
|
39
4
|
super(matterbridge, log, config);
|
|
40
5
|
this.type = 'AccessoryPlatform';
|
|
@@ -42,4 +7,3 @@ export class MatterbridgeAccessoryPlatform extends MatterbridgePlatform {
|
|
|
42
7
|
this.log.debug(`Matterbridge${this.type} loaded`);
|
|
43
8
|
}
|
|
44
9
|
}
|
|
45
|
-
//# sourceMappingURL=matterbridgeAccessoryPlatform.js.map
|
|
@@ -1,31 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file contains the behavior classes of Matterbridge.
|
|
3
|
-
*
|
|
4
|
-
* @file matterbridgeBehaviors.ts
|
|
5
|
-
* @author Luca Liguori
|
|
6
|
-
* @created 2024-11-07
|
|
7
|
-
* @version 1.3.0
|
|
8
|
-
* @license Apache-2.0
|
|
9
|
-
*
|
|
10
|
-
* Copyright 2024, 2025, 2026 Luca Liguori.
|
|
11
|
-
*
|
|
12
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
13
|
-
* you may not use this file except in compliance with the License.
|
|
14
|
-
* You may obtain a copy of the License at
|
|
15
|
-
*
|
|
16
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
-
*
|
|
18
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
-
* See the License for the specific language governing permissions and
|
|
22
|
-
* limitations under the License.
|
|
23
|
-
*/
|
|
24
|
-
/* eslint-disable @typescript-eslint/no-namespace */
|
|
25
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
26
|
-
// @matter
|
|
27
1
|
import { Behavior } from '@matter/main';
|
|
28
|
-
// @matter clusters
|
|
29
2
|
import { BooleanStateConfiguration } from '@matter/main/clusters/boolean-state-configuration';
|
|
30
3
|
import { ColorControl } from '@matter/main/clusters/color-control';
|
|
31
4
|
import { FanControl } from '@matter/main/clusters/fan-control';
|
|
@@ -37,7 +10,7 @@ import { BooleanStateConfigurationServer } from '@matter/main/behaviors/boolean-
|
|
|
37
10
|
import { OperationalState } from '@matter/main/clusters/operational-state';
|
|
38
11
|
import { ModeBase } from '@matter/main/clusters/mode-base';
|
|
39
12
|
import { ServiceArea } from '@matter/main/clusters/service-area';
|
|
40
|
-
|
|
13
|
+
import { ResourceMonitoring } from '@matter/types/clusters/resource-monitoring';
|
|
41
14
|
import { IdentifyServer } from '@matter/main/behaviors/identify';
|
|
42
15
|
import { OnOffServer } from '@matter/main/behaviors/on-off';
|
|
43
16
|
import { LevelControlServer } from '@matter/main/behaviors/level-control';
|
|
@@ -54,6 +27,8 @@ import { OperationalStateServer } from '@matter/main/behaviors/operational-state
|
|
|
54
27
|
import { ServiceAreaServer } from '@matter/main/behaviors/service-area';
|
|
55
28
|
import { DeviceEnergyManagementServer } from '@matter/main/behaviors/device-energy-management';
|
|
56
29
|
import { DeviceEnergyManagementModeServer } from '@matter/main/behaviors/device-energy-management-mode';
|
|
30
|
+
import { HepaFilterMonitoringServer } from '@matter/main/behaviors/hepa-filter-monitoring';
|
|
31
|
+
import { ActivatedCarbonFilterMonitoringServer } from '@matter/main/behaviors/activated-carbon-filter-monitoring';
|
|
57
32
|
export class MatterbridgeServer extends Behavior {
|
|
58
33
|
static id = 'matterbridge';
|
|
59
34
|
initialize() {
|
|
@@ -190,7 +165,6 @@ export class MatterbridgeLiftWindowCoveringServer extends WindowCoveringServer.w
|
|
|
190
165
|
super.goToLiftPercentage(request);
|
|
191
166
|
}
|
|
192
167
|
async handleMovement(type, reversed, direction, targetPercent100ths) {
|
|
193
|
-
// Do nothing here, as the device will handle the movement
|
|
194
168
|
}
|
|
195
169
|
}
|
|
196
170
|
export class MatterbridgeLiftTiltWindowCoveringServer extends WindowCoveringServer.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift, WindowCovering.Feature.Tilt, WindowCovering.Feature.PositionAwareTilt) {
|
|
@@ -230,7 +204,6 @@ export class MatterbridgeLiftTiltWindowCoveringServer extends WindowCoveringServ
|
|
|
230
204
|
super.goToTiltPercentage(request);
|
|
231
205
|
}
|
|
232
206
|
async handleMovement(type, reversed, direction, targetPercent100ths) {
|
|
233
|
-
// Do nothing here, as the device will handle the movement
|
|
234
207
|
}
|
|
235
208
|
}
|
|
236
209
|
export class MatterbridgeDoorLockServer extends DoorLockServer {
|
|
@@ -272,8 +245,6 @@ export class MatterbridgeFanControlServer extends FanControlServer.with(FanContr
|
|
|
272
245
|
this.state.percentCurrent = Math.max(this.state.percentCurrent - 10, request.lowestOff ? 0 : 10);
|
|
273
246
|
}
|
|
274
247
|
device.log.debug('Set percentCurrent to:', this.state.percentCurrent);
|
|
275
|
-
// step is not implemented in matter.js
|
|
276
|
-
// super.step(request);
|
|
277
248
|
}
|
|
278
249
|
}
|
|
279
250
|
export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermostat.Feature.Cooling, Thermostat.Feature.Heating, Thermostat.Feature.AutoMode) {
|
|
@@ -297,8 +268,6 @@ export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermost
|
|
|
297
268
|
this.state.occupiedCoolingSetpoint = setpoint * 100;
|
|
298
269
|
device.log.debug(`Set occupiedCoolingSetpoint to ${setpoint}`);
|
|
299
270
|
}
|
|
300
|
-
// setpointRaiseLower is not implemented in matter.js
|
|
301
|
-
// super.setpointRaiseLower(request);
|
|
302
271
|
}
|
|
303
272
|
}
|
|
304
273
|
export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigurationAndControlServer.with(ValveConfigurationAndControl.Feature.Level) {
|
|
@@ -314,8 +283,6 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
|
|
|
314
283
|
this.state.openDuration = request.openDuration ?? this.state.defaultOpenDuration;
|
|
315
284
|
if (this.state.openDuration === null)
|
|
316
285
|
this.state.remainingDuration = null;
|
|
317
|
-
// open is not implemented in matter.js
|
|
318
|
-
// super.open(request);
|
|
319
286
|
}
|
|
320
287
|
close() {
|
|
321
288
|
const device = this.endpoint.stateOf(MatterbridgeServer);
|
|
@@ -328,8 +295,6 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
|
|
|
328
295
|
this.state.currentLevel = 0;
|
|
329
296
|
this.state.openDuration = null;
|
|
330
297
|
this.state.remainingDuration = null;
|
|
331
|
-
// close is not implemented in matter.js
|
|
332
|
-
// super.close();
|
|
333
298
|
}
|
|
334
299
|
}
|
|
335
300
|
export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(SmokeCoAlarm.Feature.SmokeAlarm, SmokeCoAlarm.Feature.CoAlarm) {
|
|
@@ -338,8 +303,6 @@ export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(Smok
|
|
|
338
303
|
device.log.info(`Testing SmokeCOAlarm (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
|
|
339
304
|
device.commandHandler.executeHandler('selfTestRequest', { request: {}, cluster: SmokeCoAlarmServer.id, attributes: this.state, endpoint: this.endpoint });
|
|
340
305
|
device.log.debug(`MatterbridgeSmokeCoAlarmServer: selfTestRequest called`);
|
|
341
|
-
// selfTestRequest is not implemented in matter.js
|
|
342
|
-
// super.selfTestRequest();
|
|
343
306
|
}
|
|
344
307
|
}
|
|
345
308
|
export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateConfigurationServer.with(BooleanStateConfiguration.Feature.Visual, BooleanStateConfiguration.Feature.Audible, BooleanStateConfiguration.Feature.SensitivityLevel) {
|
|
@@ -348,13 +311,10 @@ export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateCon
|
|
|
348
311
|
device.log.info(`Enabling/disabling alarm ${request.alarmsToEnableDisable} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
|
|
349
312
|
device.commandHandler.executeHandler('enableDisableAlarm', { request, cluster: BooleanStateConfigurationServer.id, attributes: this.state, endpoint: this.endpoint });
|
|
350
313
|
device.log.debug(`MatterbridgeBooleanStateConfigurationServer: enableDisableAlarm called`);
|
|
351
|
-
// enableDisableAlarm is not implemented in matter.js
|
|
352
|
-
// super.enableDisableAlarm(request);
|
|
353
314
|
}
|
|
354
315
|
}
|
|
355
316
|
export class MatterbridgeSwitchServer extends SwitchServer {
|
|
356
317
|
initialize() {
|
|
357
|
-
// Do nothing here, as the device will handle the switch logic: we need to convert something like "single" into the appropriate sequence of state changes and events
|
|
358
318
|
}
|
|
359
319
|
}
|
|
360
320
|
export class MatterbridgeOperationalStateServer extends OperationalStateServer {
|
|
@@ -363,7 +323,7 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
|
|
|
363
323
|
device.log.debug('MatterbridgeOperationalStateServer initialized: setting operational state to Stopped');
|
|
364
324
|
this.state.operationalState = OperationalState.OperationalStateEnum.Stopped;
|
|
365
325
|
this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
|
|
366
|
-
super.initialize();
|
|
326
|
+
super.initialize();
|
|
367
327
|
}
|
|
368
328
|
pause() {
|
|
369
329
|
const device = this.endpoint.stateOf(MatterbridgeServer);
|
|
@@ -372,8 +332,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
|
|
|
372
332
|
device.log.debug('MatterbridgeOperationalStateServer: pause called setting operational state to Paused');
|
|
373
333
|
this.state.operationalState = OperationalState.OperationalStateEnum.Paused;
|
|
374
334
|
this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
|
|
375
|
-
// pause is not implemented in matter.js
|
|
376
|
-
// return super.pause();
|
|
377
335
|
return {
|
|
378
336
|
commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
|
|
379
337
|
};
|
|
@@ -385,8 +343,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
|
|
|
385
343
|
device.log.debug('MatterbridgeOperationalStateServer: stop called setting operational state to Stopped');
|
|
386
344
|
this.state.operationalState = OperationalState.OperationalStateEnum.Stopped;
|
|
387
345
|
this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
|
|
388
|
-
// stop is not implemented in matter.js
|
|
389
|
-
// return super.stop();
|
|
390
346
|
return {
|
|
391
347
|
commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
|
|
392
348
|
};
|
|
@@ -398,8 +354,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
|
|
|
398
354
|
device.log.debug('MatterbridgeOperationalStateServer: start called setting operational state to Running');
|
|
399
355
|
this.state.operationalState = OperationalState.OperationalStateEnum.Running;
|
|
400
356
|
this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
|
|
401
|
-
// start is not implemented in matter.js
|
|
402
|
-
// return super.start();
|
|
403
357
|
return {
|
|
404
358
|
commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
|
|
405
359
|
};
|
|
@@ -411,8 +365,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
|
|
|
411
365
|
device.log.debug('MatterbridgeOperationalStateServer: resume called setting operational state to Running');
|
|
412
366
|
this.state.operationalState = OperationalState.OperationalStateEnum.Running;
|
|
413
367
|
this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
|
|
414
|
-
// resume is not implemented in matter.js
|
|
415
|
-
// return super.resume();
|
|
416
368
|
return {
|
|
417
369
|
commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
|
|
418
370
|
};
|
|
@@ -433,7 +385,6 @@ export class MatterbridgeServiceAreaServer extends ServiceAreaServer {
|
|
|
433
385
|
this.state.selectedAreas = request.newAreas;
|
|
434
386
|
device.log.debug(`MatterbridgeServiceAreaServer selectAreas called with: ${request.newAreas.map((area) => area.toString()).join(', ')}`);
|
|
435
387
|
return super.selectAreas(request);
|
|
436
|
-
// return { status: ServiceArea.SelectAreasStatus.Success, statusText: 'Succesfully selected new areas' };
|
|
437
388
|
}
|
|
438
389
|
}
|
|
439
390
|
export class MatterbridgeModeSelectServer extends ModeSelectServer {
|
|
@@ -445,24 +396,38 @@ export class MatterbridgeModeSelectServer extends ModeSelectServer {
|
|
|
445
396
|
super.changeToMode(request);
|
|
446
397
|
}
|
|
447
398
|
}
|
|
399
|
+
export class MatterbridgeHepaFilterMonitoringServer extends HepaFilterMonitoringServer.with(ResourceMonitoring.Feature.Condition) {
|
|
400
|
+
resetCondition() {
|
|
401
|
+
const device = this.endpoint.stateOf(MatterbridgeServer);
|
|
402
|
+
device.log.info(`Resetting condition (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
|
|
403
|
+
device.commandHandler.executeHandler('resetCondition', { cluster: MatterbridgeHepaFilterMonitoringServer.id, attributes: this.state, endpoint: this.endpoint });
|
|
404
|
+
this.state.condition = 100;
|
|
405
|
+
this.state.lastChangedTime = Math.floor(new Date().getTime() / 1000);
|
|
406
|
+
device.log.debug(`MatterbridgeHepaFilterMonitoringServer: resetCondition called`);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
export class MatterbridgeActivatedCarbonFilterMonitoringServer extends ActivatedCarbonFilterMonitoringServer.with(ResourceMonitoring.Feature.Condition) {
|
|
410
|
+
resetCondition() {
|
|
411
|
+
const device = this.endpoint.stateOf(MatterbridgeServer);
|
|
412
|
+
device.log.info(`Resetting condition (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
|
|
413
|
+
device.commandHandler.executeHandler('resetCondition', { cluster: MatterbridgeActivatedCarbonFilterMonitoringServer.id, attributes: this.state, endpoint: this.endpoint });
|
|
414
|
+
this.state.condition = 100;
|
|
415
|
+
this.state.lastChangedTime = Math.floor(new Date().getTime() / 1000);
|
|
416
|
+
device.log.debug(`MatterbridgeActivatedCarbonFilterMonitoringServer: resetCondition called`);
|
|
417
|
+
}
|
|
418
|
+
}
|
|
448
419
|
export class MatterbridgeDeviceEnergyManagementServer extends DeviceEnergyManagementServer {
|
|
449
420
|
powerAdjustRequest(request) {
|
|
450
421
|
const device = this.endpoint.stateOf(MatterbridgeServer);
|
|
451
422
|
device.log.info(`Adjusting power to ${request.power} duration ${request.duration} cause ${request.cause} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
|
|
452
423
|
device.commandHandler.executeHandler('powerAdjustRequest', { request, cluster: DeviceEnergyManagementServer.id, attributes: this.state, endpoint: this.endpoint });
|
|
453
424
|
device.log.debug(`MatterbridgeDeviceEnergyManagementServer powerAdjustRequest called with power ${request.power} duration ${request.duration} cause ${request.cause}`);
|
|
454
|
-
// The implementation is responsible for setting the device accordingly with the powerAdjustRequest command
|
|
455
|
-
// powerAdjustRequest is not implemented in matter.js
|
|
456
|
-
// return super.powerAdjustRequest();
|
|
457
425
|
}
|
|
458
426
|
cancelPowerAdjustRequest() {
|
|
459
427
|
const device = this.endpoint.stateOf(MatterbridgeServer);
|
|
460
428
|
device.log.info(`Cancelling power adjustment (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
|
|
461
429
|
device.commandHandler.executeHandler('cancelPowerAdjustRequest', { cluster: DeviceEnergyManagementServer.id, attributes: this.state, endpoint: this.endpoint });
|
|
462
430
|
device.log.debug(`MatterbridgeDeviceEnergyManagementServer cancelPowerAdjustRequest called`);
|
|
463
|
-
// The implementation is responsible for setting the device accordingly with the cancelPowerAdjustRequest command
|
|
464
|
-
// cancelPowerAdjustRequest is not implemented in matter.js
|
|
465
|
-
// return super.cancelPowerAdjustRequest();
|
|
466
431
|
}
|
|
467
432
|
}
|
|
468
433
|
export class MatterbridgeDeviceEnergyManagementModeServer extends DeviceEnergyManagementModeServer {
|
|
@@ -478,7 +443,5 @@ export class MatterbridgeDeviceEnergyManagementModeServer extends DeviceEnergyMa
|
|
|
478
443
|
this.state.currentMode = request.newMode;
|
|
479
444
|
device.log.debug(`MatterbridgeDeviceEnergyManagementModeServer changeToMode called with newMode ${request.newMode} => ${supported.label}`);
|
|
480
445
|
return super.changeToMode(request);
|
|
481
|
-
// return { status: ModeBase.ModeChangeStatus.Success, statusText: 'Success' };
|
|
482
446
|
}
|
|
483
447
|
}
|
|
484
|
-
//# sourceMappingURL=matterbridgeBehaviors.js.map
|