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.
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 +24 -61
  32. package/dist/matterbridgeDeviceTypes.js +15 -579
  33. package/dist/matterbridgeDynamicPlatform.js +0 -36
  34. package/dist/matterbridgeEndpoint.js +64 -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,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
- // @matter behaviors
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(); // Error handling logic is handled in matter.js
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