matterbridge 3.0.5 → 3.0.6-dev-20250611-6f49811

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 (174) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +1 -1
  3. package/dist/cli.js +2 -62
  4. package/dist/cluster/export.js +0 -2
  5. package/dist/defaultConfigSchema.js +0 -23
  6. package/dist/deviceManager.js +1 -94
  7. package/dist/evse.js +16 -67
  8. package/dist/frontend.js +22 -379
  9. package/dist/helpers.js +0 -51
  10. package/dist/index.js +1 -28
  11. package/dist/laundryWasher.js +7 -92
  12. package/dist/logger/export.js +0 -1
  13. package/dist/matter/behaviors.js +0 -2
  14. package/dist/matter/clusters.js +0 -2
  15. package/dist/matter/devices.js +0 -2
  16. package/dist/matter/endpoints.js +0 -2
  17. package/dist/matter/export.js +0 -2
  18. package/dist/matter/types.js +0 -2
  19. package/dist/matterbridge.js +103 -879
  20. package/dist/matterbridgeAccessoryPlatform.js +0 -34
  21. package/dist/matterbridgeBehaviors.js +1 -49
  22. package/dist/matterbridgeDeviceTypes.js +15 -578
  23. package/dist/matterbridgeDynamicPlatform.js +0 -34
  24. package/dist/matterbridgeEndpoint.js +30 -930
  25. package/dist/matterbridgeEndpointHelpers.js +10 -172
  26. package/dist/matterbridgePlatform.js +7 -225
  27. package/dist/matterbridgeTypes.js +0 -24
  28. package/dist/pluginManager.js +5 -272
  29. package/dist/roboticVacuumCleaner.js +6 -81
  30. package/dist/shelly.js +8 -156
  31. package/dist/storage/export.js +0 -1
  32. package/dist/update.js +0 -53
  33. package/dist/utils/colorUtils.js +2 -205
  34. package/dist/utils/commandLine.js +0 -53
  35. package/dist/utils/copyDirectory.js +16 -37
  36. package/dist/utils/createDirectory.js +21 -0
  37. package/dist/utils/createZip.js +2 -42
  38. package/dist/utils/deepCopy.js +0 -38
  39. package/dist/utils/deepEqual.js +1 -71
  40. package/dist/utils/export.js +1 -1
  41. package/dist/utils/hex.js +0 -57
  42. package/dist/utils/isvalid.js +0 -100
  43. package/dist/utils/network.js +5 -76
  44. package/dist/utils/spawn.js +68 -0
  45. package/dist/utils/wait.js +11 -59
  46. package/dist/waterHeater.js +2 -62
  47. package/npm-shrinkwrap.json +2 -2
  48. package/package.json +1 -2
  49. package/dist/cli.d.ts +0 -29
  50. package/dist/cli.d.ts.map +0 -1
  51. package/dist/cli.js.map +0 -1
  52. package/dist/cluster/export.d.ts +0 -2
  53. package/dist/cluster/export.d.ts.map +0 -1
  54. package/dist/cluster/export.js.map +0 -1
  55. package/dist/defaultConfigSchema.d.ts +0 -27
  56. package/dist/defaultConfigSchema.d.ts.map +0 -1
  57. package/dist/defaultConfigSchema.js.map +0 -1
  58. package/dist/deviceManager.d.ts +0 -114
  59. package/dist/deviceManager.d.ts.map +0 -1
  60. package/dist/deviceManager.js.map +0 -1
  61. package/dist/evse.d.ts +0 -63
  62. package/dist/evse.d.ts.map +0 -1
  63. package/dist/evse.js.map +0 -1
  64. package/dist/frontend.d.ts +0 -256
  65. package/dist/frontend.d.ts.map +0 -1
  66. package/dist/frontend.js.map +0 -1
  67. package/dist/helpers.d.ts +0 -47
  68. package/dist/helpers.d.ts.map +0 -1
  69. package/dist/helpers.js.map +0 -1
  70. package/dist/index.d.ts +0 -37
  71. package/dist/index.d.ts.map +0 -1
  72. package/dist/index.js.map +0 -1
  73. package/dist/laundryWasher.d.ts +0 -243
  74. package/dist/laundryWasher.d.ts.map +0 -1
  75. package/dist/laundryWasher.js.map +0 -1
  76. package/dist/logger/export.d.ts +0 -2
  77. package/dist/logger/export.d.ts.map +0 -1
  78. package/dist/logger/export.js.map +0 -1
  79. package/dist/matter/behaviors.d.ts +0 -2
  80. package/dist/matter/behaviors.d.ts.map +0 -1
  81. package/dist/matter/behaviors.js.map +0 -1
  82. package/dist/matter/clusters.d.ts +0 -2
  83. package/dist/matter/clusters.d.ts.map +0 -1
  84. package/dist/matter/clusters.js.map +0 -1
  85. package/dist/matter/devices.d.ts +0 -2
  86. package/dist/matter/devices.d.ts.map +0 -1
  87. package/dist/matter/devices.js.map +0 -1
  88. package/dist/matter/endpoints.d.ts +0 -2
  89. package/dist/matter/endpoints.d.ts.map +0 -1
  90. package/dist/matter/endpoints.js.map +0 -1
  91. package/dist/matter/export.d.ts +0 -5
  92. package/dist/matter/export.d.ts.map +0 -1
  93. package/dist/matter/export.js.map +0 -1
  94. package/dist/matter/types.d.ts +0 -3
  95. package/dist/matter/types.d.ts.map +0 -1
  96. package/dist/matter/types.js.map +0 -1
  97. package/dist/matterbridge.d.ts +0 -449
  98. package/dist/matterbridge.d.ts.map +0 -1
  99. package/dist/matterbridge.js.map +0 -1
  100. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -40
  101. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  102. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  103. package/dist/matterbridgeBehaviors.d.ts +0 -1379
  104. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  105. package/dist/matterbridgeBehaviors.js.map +0 -1
  106. package/dist/matterbridgeDeviceTypes.d.ts +0 -644
  107. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  108. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  109. package/dist/matterbridgeDynamicPlatform.d.ts +0 -40
  110. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  111. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  112. package/dist/matterbridgeEndpoint.d.ts +0 -1079
  113. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  114. package/dist/matterbridgeEndpoint.js.map +0 -1
  115. package/dist/matterbridgeEndpointHelpers.d.ts +0 -2749
  116. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  117. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  118. package/dist/matterbridgePlatform.d.ts +0 -294
  119. package/dist/matterbridgePlatform.d.ts.map +0 -1
  120. package/dist/matterbridgePlatform.js.map +0 -1
  121. package/dist/matterbridgeTypes.d.ts +0 -196
  122. package/dist/matterbridgeTypes.d.ts.map +0 -1
  123. package/dist/matterbridgeTypes.js.map +0 -1
  124. package/dist/pluginManager.d.ts +0 -273
  125. package/dist/pluginManager.d.ts.map +0 -1
  126. package/dist/pluginManager.js.map +0 -1
  127. package/dist/roboticVacuumCleaner.d.ts +0 -102
  128. package/dist/roboticVacuumCleaner.d.ts.map +0 -1
  129. package/dist/roboticVacuumCleaner.js.map +0 -1
  130. package/dist/shelly.d.ts +0 -153
  131. package/dist/shelly.d.ts.map +0 -1
  132. package/dist/shelly.js.map +0 -1
  133. package/dist/storage/export.d.ts +0 -2
  134. package/dist/storage/export.d.ts.map +0 -1
  135. package/dist/storage/export.js.map +0 -1
  136. package/dist/update.d.ts +0 -58
  137. package/dist/update.d.ts.map +0 -1
  138. package/dist/update.js.map +0 -1
  139. package/dist/utils/colorUtils.d.ts +0 -61
  140. package/dist/utils/colorUtils.d.ts.map +0 -1
  141. package/dist/utils/colorUtils.js.map +0 -1
  142. package/dist/utils/commandLine.d.ts +0 -58
  143. package/dist/utils/commandLine.d.ts.map +0 -1
  144. package/dist/utils/commandLine.js.map +0 -1
  145. package/dist/utils/copyDirectory.d.ts +0 -32
  146. package/dist/utils/copyDirectory.d.ts.map +0 -1
  147. package/dist/utils/copyDirectory.js.map +0 -1
  148. package/dist/utils/createZip.d.ts +0 -38
  149. package/dist/utils/createZip.d.ts.map +0 -1
  150. package/dist/utils/createZip.js.map +0 -1
  151. package/dist/utils/deepCopy.d.ts +0 -31
  152. package/dist/utils/deepCopy.d.ts.map +0 -1
  153. package/dist/utils/deepCopy.js.map +0 -1
  154. package/dist/utils/deepEqual.d.ts +0 -53
  155. package/dist/utils/deepEqual.d.ts.map +0 -1
  156. package/dist/utils/deepEqual.js.map +0 -1
  157. package/dist/utils/export.d.ts +0 -11
  158. package/dist/utils/export.d.ts.map +0 -1
  159. package/dist/utils/export.js.map +0 -1
  160. package/dist/utils/hex.d.ts +0 -48
  161. package/dist/utils/hex.d.ts.map +0 -1
  162. package/dist/utils/hex.js.map +0 -1
  163. package/dist/utils/isvalid.d.ts +0 -102
  164. package/dist/utils/isvalid.d.ts.map +0 -1
  165. package/dist/utils/isvalid.js.map +0 -1
  166. package/dist/utils/network.d.ts +0 -69
  167. package/dist/utils/network.d.ts.map +0 -1
  168. package/dist/utils/network.js.map +0 -1
  169. package/dist/utils/wait.d.ts +0 -52
  170. package/dist/utils/wait.d.ts.map +0 -1
  171. package/dist/utils/wait.js.map +0 -1
  172. package/dist/waterHeater.d.ts +0 -90
  173. package/dist/waterHeater.d.ts.map +0 -1
  174. package/dist/waterHeater.js.map +0 -1
@@ -1,38 +1,5 @@
1
- /**
2
- * This file contains the class MatterbridgeAccessoryPlatform.
3
- *
4
- * @file matterbridgeAccessoryPlatform.ts
5
- * @author Luca Liguori
6
- * @date 2023-12-29
7
- * @version 1.0.5
8
- *
9
- * Copyright 2023, 2024, 2025 Luca Liguori.
10
- *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
12
- * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
15
- * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License. *
22
- */
23
1
  import { MatterbridgePlatform } from './matterbridgePlatform.js';
24
- /**
25
- * Represents a Matterbridge accessory platform.
26
- *
27
- * This class extends the MatterbridgePlatform class.
28
- */
29
2
  export class MatterbridgeAccessoryPlatform extends MatterbridgePlatform {
30
- /**
31
- * Creates an instance of MatterbridgeAccessoryPlatform.
32
- * @param {Matterbridge} matterbridge - The Matterbridge instance.
33
- * @param {AnsiLogger} log - The logger instance.
34
- * @param {PlatformConfig} config - The platform configuration.
35
- */
36
3
  constructor(matterbridge, log, config) {
37
4
  super(matterbridge, log, config);
38
5
  this.type = 'AccessoryPlatform';
@@ -40,4 +7,3 @@ export class MatterbridgeAccessoryPlatform extends MatterbridgePlatform {
40
7
  this.log.debug(`Matterbridge${this.type} loaded`);
41
8
  }
42
9
  }
43
- //# 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
- * @date 2024-11-07
7
- * @version 1.0.1
8
- *
9
- * Copyright 2024, 2025, 2026 Luca Liguori.
10
- *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
12
- * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
15
- * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License. *
22
- */
23
- /* eslint-disable @typescript-eslint/no-namespace */
24
- /* eslint-disable @typescript-eslint/no-unused-vars */
25
- /* eslint-disable @typescript-eslint/no-explicit-any */
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';
@@ -56,7 +28,7 @@ import { DeviceEnergyManagementModeServer } from '@matter/main/behaviors/device-
56
28
  export class MatterbridgeServerDevice {
57
29
  log;
58
30
  commandHandler;
59
- device; // Will be a plugin device
31
+ device;
60
32
  endpointId = undefined;
61
33
  endpointNumber = undefined;
62
34
  constructor(log, commandHandler, device) {
@@ -340,7 +312,6 @@ export class MatterbridgeLiftWindowCoveringServer extends WindowCoveringServer.w
340
312
  super.goToLiftPercentage({ liftPercent100thsValue });
341
313
  }
342
314
  async handleMovement(type, reversed, direction, targetPercent100ths) {
343
- // Do nothing here, as the device will handle the movement
344
315
  }
345
316
  }
346
317
  export class MatterbridgeLiftTiltWindowCoveringServer extends WindowCoveringServer.with(WindowCovering.Feature.Lift, WindowCovering.Feature.PositionAwareLift, WindowCovering.Feature.Tilt, WindowCovering.Feature.PositionAwareTilt) {
@@ -375,7 +346,6 @@ export class MatterbridgeLiftTiltWindowCoveringServer extends WindowCoveringServ
375
346
  super.goToTiltPercentage({ tiltPercent100thsValue });
376
347
  }
377
348
  async handleMovement(type, reversed, direction, targetPercent100ths) {
378
- // Do nothing here, as the device will handle the movement
379
349
  }
380
350
  }
381
351
  export class MatterbridgeDoorLockServer extends DoorLockServer {
@@ -422,8 +392,6 @@ export class MatterbridgeFanControlServer extends FanControlServer.with(FanContr
422
392
  this.state.percentCurrent = Math.max(this.state.percentCurrent - 10, lowestOff ? 0 : 10);
423
393
  }
424
394
  device.log.debug('Set percentCurrent to:', this.state.percentCurrent);
425
- // step is not implemented in matter.js
426
- // super.step();
427
395
  }
428
396
  }
429
397
  export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermostat.Feature.Cooling, Thermostat.Feature.Heating, Thermostat.Feature.AutoMode) {
@@ -444,8 +412,6 @@ export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermost
444
412
  this.state.occupiedCoolingSetpoint = setpoint * 100;
445
413
  device.log.debug(`Set occupiedCoolingSetpoint to ${setpoint}`);
446
414
  }
447
- // setpointRaiseLower is not implemented in matter.js
448
- // super.setpointRaiseLower();
449
415
  }
450
416
  }
451
417
  export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigurationAndControlServer.with(ValveConfigurationAndControl.Feature.Level) {
@@ -455,8 +421,6 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
455
421
  device.open({ openDuration, targetLevel });
456
422
  this.state.targetLevel = targetLevel ?? 100;
457
423
  this.state.currentLevel = targetLevel ?? 100;
458
- // open is not implemented in matter.js
459
- // super.open();
460
424
  }
461
425
  close() {
462
426
  const device = this.agent.get(MatterbridgeServer).state.deviceCommand;
@@ -464,8 +428,6 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
464
428
  device.close();
465
429
  this.state.targetLevel = 0;
466
430
  this.state.currentLevel = 0;
467
- // close is not implemented in matter.js
468
- // super.close();
469
431
  }
470
432
  }
471
433
  export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(SmokeCoAlarm.Feature.SmokeAlarm, SmokeCoAlarm.Feature.CoAlarm) {
@@ -473,8 +435,6 @@ export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(Smok
473
435
  const device = this.agent.get(MatterbridgeServer).state.deviceCommand;
474
436
  device.log.debug(`MatterbridgeSmokeCoAlarmServer: selfTestRequest called`);
475
437
  device.selfTestRequest();
476
- // selfTestRequest is not implemented in matter.js
477
- // super.selfTestRequest();
478
438
  }
479
439
  }
480
440
  export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateConfigurationServer.with(BooleanStateConfiguration.Feature.Visual, BooleanStateConfiguration.Feature.Audible, BooleanStateConfiguration.Feature.SensitivityLevel) {
@@ -482,13 +442,10 @@ export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateCon
482
442
  const device = this.agent.get(MatterbridgeServer).state.deviceCommand;
483
443
  device.log.debug(`MatterbridgeBooleanStateConfigurationServer: enableDisableAlarm called`);
484
444
  device.enableDisableAlarm({ alarmsToEnableDisable });
485
- // enableDisableAlarm is not implemented in matter.js
486
- // super.enableDisableAlarm({ alarmsToEnableDisable });
487
445
  }
488
446
  }
489
447
  export class MatterbridgeSwitchServer extends SwitchServer {
490
448
  initialize() {
491
- // Do nothing here, as the device will handle the switch logic: we need to convert something like "single" into the oppropriate states and events sequences
492
449
  }
493
450
  }
494
451
  export class MatterbridgeOperationalStateServer extends OperationalStateServer {
@@ -504,7 +461,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
504
461
  device.pause();
505
462
  this.state.operationalState = OperationalState.OperationalStateEnum.Paused;
506
463
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
507
- // pause is not implemented in matter.js
508
464
  return {
509
465
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
510
466
  };
@@ -515,7 +471,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
515
471
  device.stop();
516
472
  this.state.operationalState = OperationalState.OperationalStateEnum.Stopped;
517
473
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
518
- // stop is not implemented in matter.js
519
474
  return {
520
475
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
521
476
  };
@@ -526,7 +481,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
526
481
  device.start();
527
482
  this.state.operationalState = OperationalState.OperationalStateEnum.Running;
528
483
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
529
- // start is not implemented in matter.js
530
484
  return {
531
485
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
532
486
  };
@@ -537,7 +491,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
537
491
  device.resume();
538
492
  this.state.operationalState = OperationalState.OperationalStateEnum.Running;
539
493
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
540
- // resume is not implemented in matter.js
541
494
  return {
542
495
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
543
496
  };
@@ -573,4 +526,3 @@ export class MatterbridgeDeviceEnergyManagementModeServer extends DeviceEnergyMa
573
526
  return { status: ModeBase.ModeChangeStatus.Success, statusText: 'Success' };
574
527
  }
575
528
  }
576
- //# sourceMappingURL=matterbridgeBehaviors.js.map