matterbridge 3.1.5 → 3.1.6-dev-20250720-88d6141

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.
Files changed (213) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cli.js +2 -91
  3. package/dist/cliEmitter.js +0 -30
  4. package/dist/clusters/export.js +0 -2
  5. package/dist/defaultConfigSchema.js +0 -24
  6. package/dist/deviceManager.js +1 -94
  7. package/dist/devices/batteryStorage.js +1 -48
  8. package/dist/devices/dishwasher.js +90 -0
  9. package/dist/devices/evse.js +10 -74
  10. package/dist/devices/export.js +2 -2
  11. package/dist/devices/extractorHood.js +35 -0
  12. package/dist/devices/heatPump.js +2 -50
  13. package/dist/devices/laundryDryer.js +6 -83
  14. package/dist/devices/laundryWasher.js +7 -91
  15. package/dist/devices/roboticVacuumCleaner.js +7 -93
  16. package/dist/devices/solarPower.js +0 -38
  17. package/dist/devices/waterHeater.js +2 -82
  18. package/dist/frontend.js +21 -429
  19. package/dist/globalMatterbridge.js +0 -47
  20. package/dist/helpers.js +0 -53
  21. package/dist/index.js +1 -30
  22. package/dist/logger/export.js +0 -1
  23. package/dist/matter/behaviors.js +0 -2
  24. package/dist/matter/clusters.js +0 -2
  25. package/dist/matter/devices.js +0 -2
  26. package/dist/matter/endpoints.js +0 -2
  27. package/dist/matter/export.js +0 -3
  28. package/dist/matter/types.js +0 -3
  29. package/dist/matterbridge.js +79 -802
  30. package/dist/matterbridgeAccessoryPlatform.js +0 -36
  31. package/dist/matterbridgeBehaviors.js +21 -61
  32. package/dist/matterbridgeDeviceTypes.js +15 -579
  33. package/dist/matterbridgeDynamicPlatform.js +0 -36
  34. package/dist/matterbridgeEndpoint.js +47 -1113
  35. package/dist/matterbridgeEndpointHelpers.js +12 -322
  36. package/dist/matterbridgePlatform.js +0 -233
  37. package/dist/matterbridgeTypes.js +0 -25
  38. package/dist/pluginManager.js +3 -249
  39. package/dist/shelly.js +7 -168
  40. package/dist/storage/export.js +0 -1
  41. package/dist/update.js +0 -54
  42. package/dist/utils/colorUtils.js +2 -263
  43. package/dist/utils/commandLine.js +0 -54
  44. package/dist/utils/copyDirectory.js +1 -38
  45. package/dist/utils/createDirectory.js +0 -33
  46. package/dist/utils/createZip.js +2 -47
  47. package/dist/utils/deepCopy.js +0 -39
  48. package/dist/utils/deepEqual.js +1 -72
  49. package/dist/utils/error.js +0 -41
  50. package/dist/utils/export.js +0 -1
  51. package/dist/utils/hex.js +0 -58
  52. package/dist/utils/isvalid.js +0 -101
  53. package/dist/utils/network.js +5 -81
  54. package/dist/utils/spawn.js +0 -40
  55. package/dist/utils/wait.js +9 -62
  56. package/npm-shrinkwrap.json +9 -9
  57. package/package.json +2 -3
  58. package/dist/cli.d.ts +0 -26
  59. package/dist/cli.d.ts.map +0 -1
  60. package/dist/cli.js.map +0 -1
  61. package/dist/cliEmitter.d.ts +0 -34
  62. package/dist/cliEmitter.d.ts.map +0 -1
  63. package/dist/cliEmitter.js.map +0 -1
  64. package/dist/clusters/export.d.ts +0 -2
  65. package/dist/clusters/export.d.ts.map +0 -1
  66. package/dist/clusters/export.js.map +0 -1
  67. package/dist/defaultConfigSchema.d.ts +0 -28
  68. package/dist/defaultConfigSchema.d.ts.map +0 -1
  69. package/dist/defaultConfigSchema.js.map +0 -1
  70. package/dist/deviceManager.d.ts +0 -112
  71. package/dist/deviceManager.d.ts.map +0 -1
  72. package/dist/deviceManager.js.map +0 -1
  73. package/dist/devices/batteryStorage.d.ts +0 -48
  74. package/dist/devices/batteryStorage.d.ts.map +0 -1
  75. package/dist/devices/batteryStorage.js.map +0 -1
  76. package/dist/devices/evse.d.ts +0 -75
  77. package/dist/devices/evse.d.ts.map +0 -1
  78. package/dist/devices/evse.js.map +0 -1
  79. package/dist/devices/export.d.ts +0 -9
  80. package/dist/devices/export.d.ts.map +0 -1
  81. package/dist/devices/export.js.map +0 -1
  82. package/dist/devices/heatPump.d.ts +0 -47
  83. package/dist/devices/heatPump.d.ts.map +0 -1
  84. package/dist/devices/heatPump.js.map +0 -1
  85. package/dist/devices/laundryDryer.d.ts +0 -87
  86. package/dist/devices/laundryDryer.d.ts.map +0 -1
  87. package/dist/devices/laundryDryer.js.map +0 -1
  88. package/dist/devices/laundryWasher.d.ts +0 -242
  89. package/dist/devices/laundryWasher.d.ts.map +0 -1
  90. package/dist/devices/laundryWasher.js.map +0 -1
  91. package/dist/devices/roboticVacuumCleaner.d.ts +0 -112
  92. package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
  93. package/dist/devices/roboticVacuumCleaner.js.map +0 -1
  94. package/dist/devices/solarPower.d.ts +0 -40
  95. package/dist/devices/solarPower.d.ts.map +0 -1
  96. package/dist/devices/solarPower.js.map +0 -1
  97. package/dist/devices/waterHeater.d.ts +0 -111
  98. package/dist/devices/waterHeater.d.ts.map +0 -1
  99. package/dist/devices/waterHeater.js.map +0 -1
  100. package/dist/frontend.d.ts +0 -304
  101. package/dist/frontend.d.ts.map +0 -1
  102. package/dist/frontend.js.map +0 -1
  103. package/dist/globalMatterbridge.d.ts +0 -59
  104. package/dist/globalMatterbridge.d.ts.map +0 -1
  105. package/dist/globalMatterbridge.js.map +0 -1
  106. package/dist/helpers.d.ts +0 -48
  107. package/dist/helpers.d.ts.map +0 -1
  108. package/dist/helpers.js.map +0 -1
  109. package/dist/index.d.ts +0 -33
  110. package/dist/index.d.ts.map +0 -1
  111. package/dist/index.js.map +0 -1
  112. package/dist/logger/export.d.ts +0 -2
  113. package/dist/logger/export.d.ts.map +0 -1
  114. package/dist/logger/export.js.map +0 -1
  115. package/dist/matter/behaviors.d.ts +0 -2
  116. package/dist/matter/behaviors.d.ts.map +0 -1
  117. package/dist/matter/behaviors.js.map +0 -1
  118. package/dist/matter/clusters.d.ts +0 -2
  119. package/dist/matter/clusters.d.ts.map +0 -1
  120. package/dist/matter/clusters.js.map +0 -1
  121. package/dist/matter/devices.d.ts +0 -2
  122. package/dist/matter/devices.d.ts.map +0 -1
  123. package/dist/matter/devices.js.map +0 -1
  124. package/dist/matter/endpoints.d.ts +0 -2
  125. package/dist/matter/endpoints.d.ts.map +0 -1
  126. package/dist/matter/endpoints.js.map +0 -1
  127. package/dist/matter/export.d.ts +0 -5
  128. package/dist/matter/export.d.ts.map +0 -1
  129. package/dist/matter/export.js.map +0 -1
  130. package/dist/matter/types.d.ts +0 -3
  131. package/dist/matter/types.d.ts.map +0 -1
  132. package/dist/matter/types.js.map +0 -1
  133. package/dist/matterbridge.d.ts +0 -447
  134. package/dist/matterbridge.d.ts.map +0 -1
  135. package/dist/matterbridge.js.map +0 -1
  136. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -42
  137. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  138. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  139. package/dist/matterbridgeBehaviors.d.ts +0 -1340
  140. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  141. package/dist/matterbridgeBehaviors.js.map +0 -1
  142. package/dist/matterbridgeDeviceTypes.d.ts +0 -709
  143. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  144. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  145. package/dist/matterbridgeDynamicPlatform.d.ts +0 -42
  146. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  147. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  148. package/dist/matterbridgeEndpoint.d.ts +0 -1250
  149. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  150. package/dist/matterbridgeEndpoint.js.map +0 -1
  151. package/dist/matterbridgeEndpointHelpers.d.ts +0 -3198
  152. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  153. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  154. package/dist/matterbridgePlatform.d.ts +0 -310
  155. package/dist/matterbridgePlatform.d.ts.map +0 -1
  156. package/dist/matterbridgePlatform.js.map +0 -1
  157. package/dist/matterbridgeTypes.d.ts +0 -195
  158. package/dist/matterbridgeTypes.d.ts.map +0 -1
  159. package/dist/matterbridgeTypes.js.map +0 -1
  160. package/dist/pluginManager.d.ts +0 -270
  161. package/dist/pluginManager.d.ts.map +0 -1
  162. package/dist/pluginManager.js.map +0 -1
  163. package/dist/shelly.d.ts +0 -174
  164. package/dist/shelly.d.ts.map +0 -1
  165. package/dist/shelly.js.map +0 -1
  166. package/dist/storage/export.d.ts +0 -2
  167. package/dist/storage/export.d.ts.map +0 -1
  168. package/dist/storage/export.js.map +0 -1
  169. package/dist/update.d.ts +0 -59
  170. package/dist/update.d.ts.map +0 -1
  171. package/dist/update.js.map +0 -1
  172. package/dist/utils/colorUtils.d.ts +0 -117
  173. package/dist/utils/colorUtils.d.ts.map +0 -1
  174. package/dist/utils/colorUtils.js.map +0 -1
  175. package/dist/utils/commandLine.d.ts +0 -59
  176. package/dist/utils/commandLine.d.ts.map +0 -1
  177. package/dist/utils/commandLine.js.map +0 -1
  178. package/dist/utils/copyDirectory.d.ts +0 -33
  179. package/dist/utils/copyDirectory.d.ts.map +0 -1
  180. package/dist/utils/copyDirectory.js.map +0 -1
  181. package/dist/utils/createDirectory.d.ts +0 -34
  182. package/dist/utils/createDirectory.d.ts.map +0 -1
  183. package/dist/utils/createDirectory.js.map +0 -1
  184. package/dist/utils/createZip.d.ts +0 -39
  185. package/dist/utils/createZip.d.ts.map +0 -1
  186. package/dist/utils/createZip.js.map +0 -1
  187. package/dist/utils/deepCopy.d.ts +0 -32
  188. package/dist/utils/deepCopy.d.ts.map +0 -1
  189. package/dist/utils/deepCopy.js.map +0 -1
  190. package/dist/utils/deepEqual.d.ts +0 -54
  191. package/dist/utils/deepEqual.d.ts.map +0 -1
  192. package/dist/utils/deepEqual.js.map +0 -1
  193. package/dist/utils/error.d.ts +0 -44
  194. package/dist/utils/error.d.ts.map +0 -1
  195. package/dist/utils/error.js.map +0 -1
  196. package/dist/utils/export.d.ts +0 -12
  197. package/dist/utils/export.d.ts.map +0 -1
  198. package/dist/utils/export.js.map +0 -1
  199. package/dist/utils/hex.d.ts +0 -49
  200. package/dist/utils/hex.d.ts.map +0 -1
  201. package/dist/utils/hex.js.map +0 -1
  202. package/dist/utils/isvalid.d.ts +0 -103
  203. package/dist/utils/isvalid.d.ts.map +0 -1
  204. package/dist/utils/isvalid.js.map +0 -1
  205. package/dist/utils/network.d.ts +0 -74
  206. package/dist/utils/network.d.ts.map +0 -1
  207. package/dist/utils/network.js.map +0 -1
  208. package/dist/utils/spawn.d.ts +0 -33
  209. package/dist/utils/spawn.d.ts.map +0 -1
  210. package/dist/utils/spawn.js.map +0 -1
  211. package/dist/utils/wait.d.ts +0 -56
  212. package/dist/utils/wait.d.ts.map +0 -1
  213. 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,6 @@ 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
- // @matter behaviors
41
13
  import { IdentifyServer } from '@matter/main/behaviors/identify';
42
14
  import { OnOffServer } from '@matter/main/behaviors/on-off';
43
15
  import { LevelControlServer } from '@matter/main/behaviors/level-control';
@@ -54,6 +26,8 @@ import { OperationalStateServer } from '@matter/main/behaviors/operational-state
54
26
  import { ServiceAreaServer } from '@matter/main/behaviors/service-area';
55
27
  import { DeviceEnergyManagementServer } from '@matter/main/behaviors/device-energy-management';
56
28
  import { DeviceEnergyManagementModeServer } from '@matter/main/behaviors/device-energy-management-mode';
29
+ import { HepaFilterMonitoringServer } from '@matter/main/behaviors/hepa-filter-monitoring';
30
+ import { ActivatedCarbonFilterMonitoringServer } from '@matter/main/behaviors/activated-carbon-filter-monitoring';
57
31
  export class MatterbridgeServer extends Behavior {
58
32
  static id = 'matterbridge';
59
33
  initialize() {
@@ -190,7 +164,6 @@ export class MatterbridgeLiftWindowCoveringServer extends WindowCoveringServer.w
190
164
  super.goToLiftPercentage(request);
191
165
  }
192
166
  async handleMovement(type, reversed, direction, targetPercent100ths) {
193
- // Do nothing here, as the device will handle the movement
194
167
  }
195
168
  }
196
169
  export class MatterbridgeLiftTiltWindowCoveringServer extends WindowCoveringServer.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift, WindowCovering.Feature.Tilt, WindowCovering.Feature.PositionAwareTilt) {
@@ -230,7 +203,6 @@ export class MatterbridgeLiftTiltWindowCoveringServer extends WindowCoveringServ
230
203
  super.goToTiltPercentage(request);
231
204
  }
232
205
  async handleMovement(type, reversed, direction, targetPercent100ths) {
233
- // Do nothing here, as the device will handle the movement
234
206
  }
235
207
  }
236
208
  export class MatterbridgeDoorLockServer extends DoorLockServer {
@@ -272,8 +244,6 @@ export class MatterbridgeFanControlServer extends FanControlServer.with(FanContr
272
244
  this.state.percentCurrent = Math.max(this.state.percentCurrent - 10, request.lowestOff ? 0 : 10);
273
245
  }
274
246
  device.log.debug('Set percentCurrent to:', this.state.percentCurrent);
275
- // step is not implemented in matter.js
276
- // super.step(request);
277
247
  }
278
248
  }
279
249
  export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermostat.Feature.Cooling, Thermostat.Feature.Heating, Thermostat.Feature.AutoMode) {
@@ -297,8 +267,6 @@ export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermost
297
267
  this.state.occupiedCoolingSetpoint = setpoint * 100;
298
268
  device.log.debug(`Set occupiedCoolingSetpoint to ${setpoint}`);
299
269
  }
300
- // setpointRaiseLower is not implemented in matter.js
301
- // super.setpointRaiseLower(request);
302
270
  }
303
271
  }
304
272
  export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigurationAndControlServer.with(ValveConfigurationAndControl.Feature.Level) {
@@ -314,8 +282,6 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
314
282
  this.state.openDuration = request.openDuration ?? this.state.defaultOpenDuration;
315
283
  if (this.state.openDuration === null)
316
284
  this.state.remainingDuration = null;
317
- // open is not implemented in matter.js
318
- // super.open(request);
319
285
  }
320
286
  close() {
321
287
  const device = this.endpoint.stateOf(MatterbridgeServer);
@@ -328,8 +294,6 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
328
294
  this.state.currentLevel = 0;
329
295
  this.state.openDuration = null;
330
296
  this.state.remainingDuration = null;
331
- // close is not implemented in matter.js
332
- // super.close();
333
297
  }
334
298
  }
335
299
  export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(SmokeCoAlarm.Feature.SmokeAlarm, SmokeCoAlarm.Feature.CoAlarm) {
@@ -338,8 +302,6 @@ export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(Smok
338
302
  device.log.info(`Testing SmokeCOAlarm (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
339
303
  device.commandHandler.executeHandler('selfTestRequest', { request: {}, cluster: SmokeCoAlarmServer.id, attributes: this.state, endpoint: this.endpoint });
340
304
  device.log.debug(`MatterbridgeSmokeCoAlarmServer: selfTestRequest called`);
341
- // selfTestRequest is not implemented in matter.js
342
- // super.selfTestRequest();
343
305
  }
344
306
  }
345
307
  export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateConfigurationServer.with(BooleanStateConfiguration.Feature.Visual, BooleanStateConfiguration.Feature.Audible, BooleanStateConfiguration.Feature.SensitivityLevel) {
@@ -348,13 +310,10 @@ export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateCon
348
310
  device.log.info(`Enabling/disabling alarm ${request.alarmsToEnableDisable} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
349
311
  device.commandHandler.executeHandler('enableDisableAlarm', { request, cluster: BooleanStateConfigurationServer.id, attributes: this.state, endpoint: this.endpoint });
350
312
  device.log.debug(`MatterbridgeBooleanStateConfigurationServer: enableDisableAlarm called`);
351
- // enableDisableAlarm is not implemented in matter.js
352
- // super.enableDisableAlarm(request);
353
313
  }
354
314
  }
355
315
  export class MatterbridgeSwitchServer extends SwitchServer {
356
316
  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
317
  }
359
318
  }
360
319
  export class MatterbridgeOperationalStateServer extends OperationalStateServer {
@@ -363,7 +322,7 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
363
322
  device.log.debug('MatterbridgeOperationalStateServer initialized: setting operational state to Stopped');
364
323
  this.state.operationalState = OperationalState.OperationalStateEnum.Stopped;
365
324
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
366
- super.initialize(); // Error handling logic is handled in matter.js
325
+ super.initialize();
367
326
  }
368
327
  pause() {
369
328
  const device = this.endpoint.stateOf(MatterbridgeServer);
@@ -372,8 +331,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
372
331
  device.log.debug('MatterbridgeOperationalStateServer: pause called setting operational state to Paused');
373
332
  this.state.operationalState = OperationalState.OperationalStateEnum.Paused;
374
333
  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
334
  return {
378
335
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
379
336
  };
@@ -385,8 +342,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
385
342
  device.log.debug('MatterbridgeOperationalStateServer: stop called setting operational state to Stopped');
386
343
  this.state.operationalState = OperationalState.OperationalStateEnum.Stopped;
387
344
  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
345
  return {
391
346
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
392
347
  };
@@ -398,8 +353,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
398
353
  device.log.debug('MatterbridgeOperationalStateServer: start called setting operational state to Running');
399
354
  this.state.operationalState = OperationalState.OperationalStateEnum.Running;
400
355
  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
356
  return {
404
357
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
405
358
  };
@@ -411,8 +364,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
411
364
  device.log.debug('MatterbridgeOperationalStateServer: resume called setting operational state to Running');
412
365
  this.state.operationalState = OperationalState.OperationalStateEnum.Running;
413
366
  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
367
  return {
417
368
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
418
369
  };
@@ -433,7 +384,6 @@ export class MatterbridgeServiceAreaServer extends ServiceAreaServer {
433
384
  this.state.selectedAreas = request.newAreas;
434
385
  device.log.debug(`MatterbridgeServiceAreaServer selectAreas called with: ${request.newAreas.map((area) => area.toString()).join(', ')}`);
435
386
  return super.selectAreas(request);
436
- // return { status: ServiceArea.SelectAreasStatus.Success, statusText: 'Succesfully selected new areas' };
437
387
  }
438
388
  }
439
389
  export class MatterbridgeModeSelectServer extends ModeSelectServer {
@@ -445,24 +395,36 @@ export class MatterbridgeModeSelectServer extends ModeSelectServer {
445
395
  super.changeToMode(request);
446
396
  }
447
397
  }
398
+ export class MatterbridgeHepaFilterMonitoringServer extends HepaFilterMonitoringServer {
399
+ resetCondition() {
400
+ const device = this.endpoint.stateOf(MatterbridgeServer);
401
+ device.log.info(`Resetting condition (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
402
+ device.commandHandler.executeHandler('resetCondition', { cluster: MatterbridgeHepaFilterMonitoringServer.id, attributes: this.state, endpoint: this.endpoint });
403
+ this.state.lastChangedTime = Math.floor(new Date().getTime() / 1000);
404
+ device.log.debug(`MatterbridgeHepaFilterMonitoringServer: resetCondition called`);
405
+ }
406
+ }
407
+ export class MatterbridgeActivatedCarbonFilterMonitoringServer extends ActivatedCarbonFilterMonitoringServer {
408
+ resetCondition() {
409
+ const device = this.endpoint.stateOf(MatterbridgeServer);
410
+ device.log.info(`Resetting condition (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
411
+ device.commandHandler.executeHandler('resetCondition', { cluster: MatterbridgeActivatedCarbonFilterMonitoringServer.id, attributes: this.state, endpoint: this.endpoint });
412
+ this.state.lastChangedTime = Math.floor(new Date().getTime() / 1000);
413
+ device.log.debug(`MatterbridgeActivatedCarbonFilterMonitoringServer: resetCondition called`);
414
+ }
415
+ }
448
416
  export class MatterbridgeDeviceEnergyManagementServer extends DeviceEnergyManagementServer {
449
417
  powerAdjustRequest(request) {
450
418
  const device = this.endpoint.stateOf(MatterbridgeServer);
451
419
  device.log.info(`Adjusting power to ${request.power} duration ${request.duration} cause ${request.cause} (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
452
420
  device.commandHandler.executeHandler('powerAdjustRequest', { request, cluster: DeviceEnergyManagementServer.id, attributes: this.state, endpoint: this.endpoint });
453
421
  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
422
  }
458
423
  cancelPowerAdjustRequest() {
459
424
  const device = this.endpoint.stateOf(MatterbridgeServer);
460
425
  device.log.info(`Cancelling power adjustment (endpoint ${this.endpoint.maybeId}.${this.endpoint.maybeNumber})`);
461
426
  device.commandHandler.executeHandler('cancelPowerAdjustRequest', { cluster: DeviceEnergyManagementServer.id, attributes: this.state, endpoint: this.endpoint });
462
427
  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
428
  }
467
429
  }
468
430
  export class MatterbridgeDeviceEnergyManagementModeServer extends DeviceEnergyManagementModeServer {
@@ -478,7 +440,5 @@ export class MatterbridgeDeviceEnergyManagementModeServer extends DeviceEnergyMa
478
440
  this.state.currentMode = request.newMode;
479
441
  device.log.debug(`MatterbridgeDeviceEnergyManagementModeServer changeToMode called with newMode ${request.newMode} => ${supported.label}`);
480
442
  return super.changeToMode(request);
481
- // return { status: ModeBase.ModeChangeStatus.Success, statusText: 'Success' };
482
443
  }
483
444
  }
484
- //# sourceMappingURL=matterbridgeBehaviors.js.map