matterbridge 3.0.2 → 3.0.3-dev-20250517-bcc5d13

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 (159) hide show
  1. package/CHANGELOG.md +20 -3
  2. package/dist/cli.js +2 -37
  3. package/dist/cluster/export.js +0 -2
  4. package/dist/defaultConfigSchema.js +0 -23
  5. package/dist/deviceManager.js +1 -94
  6. package/dist/frontend.js +62 -369
  7. package/dist/helpers.js +0 -49
  8. package/dist/index.js +2 -31
  9. package/dist/logger/export.js +0 -1
  10. package/dist/matter/behaviors.js +0 -2
  11. package/dist/matter/clusters.js +0 -2
  12. package/dist/matter/devices.js +0 -2
  13. package/dist/matter/endpoints.js +0 -2
  14. package/dist/matter/export.js +0 -2
  15. package/dist/matter/types.js +0 -2
  16. package/dist/matterbridge.js +134 -873
  17. package/dist/matterbridgeAccessoryPlatform.js +0 -34
  18. package/dist/matterbridgeBehaviors.js +4 -53
  19. package/dist/matterbridgeDeviceTypes.js +12 -431
  20. package/dist/matterbridgeDynamicPlatform.js +0 -34
  21. package/dist/matterbridgeEndpoint.js +11 -807
  22. package/dist/matterbridgeEndpointHelpers.js +9 -147
  23. package/dist/matterbridgePlatform.js +7 -225
  24. package/dist/matterbridgeTypes.js +0 -24
  25. package/dist/pluginManager.js +3 -264
  26. package/dist/roboticVacuumCleaner.js +3 -39
  27. package/dist/shelly.js +7 -155
  28. package/dist/storage/export.js +0 -1
  29. package/dist/update.js +0 -53
  30. package/dist/utils/colorUtils.js +2 -205
  31. package/dist/utils/commandLine.js +0 -53
  32. package/dist/utils/copyDirectory.js +1 -37
  33. package/dist/utils/createZip.js +2 -42
  34. package/dist/utils/deepCopy.js +0 -38
  35. package/dist/utils/deepEqual.js +1 -71
  36. package/dist/utils/export.js +0 -1
  37. package/dist/utils/hex.js +0 -57
  38. package/dist/utils/isvalid.js +0 -100
  39. package/dist/utils/network.js +5 -76
  40. package/dist/utils/wait.js +20 -56
  41. package/npm-shrinkwrap.json +2 -2
  42. package/package.json +1 -2
  43. package/dist/cli.d.ts +0 -29
  44. package/dist/cli.d.ts.map +0 -1
  45. package/dist/cli.js.map +0 -1
  46. package/dist/cluster/export.d.ts +0 -2
  47. package/dist/cluster/export.d.ts.map +0 -1
  48. package/dist/cluster/export.js.map +0 -1
  49. package/dist/defaultConfigSchema.d.ts +0 -27
  50. package/dist/defaultConfigSchema.d.ts.map +0 -1
  51. package/dist/defaultConfigSchema.js.map +0 -1
  52. package/dist/deviceManager.d.ts +0 -114
  53. package/dist/deviceManager.d.ts.map +0 -1
  54. package/dist/deviceManager.js.map +0 -1
  55. package/dist/frontend.d.ts +0 -241
  56. package/dist/frontend.d.ts.map +0 -1
  57. package/dist/frontend.js.map +0 -1
  58. package/dist/helpers.d.ts +0 -46
  59. package/dist/helpers.d.ts.map +0 -1
  60. package/dist/helpers.js.map +0 -1
  61. package/dist/index.d.ts +0 -36
  62. package/dist/index.d.ts.map +0 -1
  63. package/dist/index.js.map +0 -1
  64. package/dist/logger/export.d.ts +0 -2
  65. package/dist/logger/export.d.ts.map +0 -1
  66. package/dist/logger/export.js.map +0 -1
  67. package/dist/matter/behaviors.d.ts +0 -2
  68. package/dist/matter/behaviors.d.ts.map +0 -1
  69. package/dist/matter/behaviors.js.map +0 -1
  70. package/dist/matter/clusters.d.ts +0 -2
  71. package/dist/matter/clusters.d.ts.map +0 -1
  72. package/dist/matter/clusters.js.map +0 -1
  73. package/dist/matter/devices.d.ts +0 -2
  74. package/dist/matter/devices.d.ts.map +0 -1
  75. package/dist/matter/devices.js.map +0 -1
  76. package/dist/matter/endpoints.d.ts +0 -2
  77. package/dist/matter/endpoints.d.ts.map +0 -1
  78. package/dist/matter/endpoints.js.map +0 -1
  79. package/dist/matter/export.d.ts +0 -5
  80. package/dist/matter/export.d.ts.map +0 -1
  81. package/dist/matter/export.js.map +0 -1
  82. package/dist/matter/types.d.ts +0 -3
  83. package/dist/matter/types.d.ts.map +0 -1
  84. package/dist/matter/types.js.map +0 -1
  85. package/dist/matterbridge.d.ts +0 -435
  86. package/dist/matterbridge.d.ts.map +0 -1
  87. package/dist/matterbridge.js.map +0 -1
  88. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -40
  89. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  90. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  91. package/dist/matterbridgeBehaviors.d.ts +0 -1188
  92. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  93. package/dist/matterbridgeBehaviors.js.map +0 -1
  94. package/dist/matterbridgeDeviceTypes.d.ts +0 -494
  95. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  96. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  97. package/dist/matterbridgeDynamicPlatform.d.ts +0 -40
  98. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  99. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  100. package/dist/matterbridgeEndpoint.d.ts +0 -965
  101. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  102. package/dist/matterbridgeEndpoint.js.map +0 -1
  103. package/dist/matterbridgeEndpointHelpers.d.ts +0 -2728
  104. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  105. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  106. package/dist/matterbridgePlatform.d.ts +0 -294
  107. package/dist/matterbridgePlatform.d.ts.map +0 -1
  108. package/dist/matterbridgePlatform.js.map +0 -1
  109. package/dist/matterbridgeTypes.d.ts +0 -187
  110. package/dist/matterbridgeTypes.d.ts.map +0 -1
  111. package/dist/matterbridgeTypes.js.map +0 -1
  112. package/dist/pluginManager.d.ts +0 -273
  113. package/dist/pluginManager.d.ts.map +0 -1
  114. package/dist/pluginManager.js.map +0 -1
  115. package/dist/roboticVacuumCleaner.d.ts +0 -43
  116. package/dist/roboticVacuumCleaner.d.ts.map +0 -1
  117. package/dist/roboticVacuumCleaner.js.map +0 -1
  118. package/dist/shelly.d.ts +0 -153
  119. package/dist/shelly.d.ts.map +0 -1
  120. package/dist/shelly.js.map +0 -1
  121. package/dist/storage/export.d.ts +0 -2
  122. package/dist/storage/export.d.ts.map +0 -1
  123. package/dist/storage/export.js.map +0 -1
  124. package/dist/update.d.ts +0 -58
  125. package/dist/update.d.ts.map +0 -1
  126. package/dist/update.js.map +0 -1
  127. package/dist/utils/colorUtils.d.ts +0 -61
  128. package/dist/utils/colorUtils.d.ts.map +0 -1
  129. package/dist/utils/colorUtils.js.map +0 -1
  130. package/dist/utils/commandLine.d.ts +0 -58
  131. package/dist/utils/commandLine.d.ts.map +0 -1
  132. package/dist/utils/commandLine.js.map +0 -1
  133. package/dist/utils/copyDirectory.d.ts +0 -32
  134. package/dist/utils/copyDirectory.d.ts.map +0 -1
  135. package/dist/utils/copyDirectory.js.map +0 -1
  136. package/dist/utils/createZip.d.ts +0 -38
  137. package/dist/utils/createZip.d.ts.map +0 -1
  138. package/dist/utils/createZip.js.map +0 -1
  139. package/dist/utils/deepCopy.d.ts +0 -31
  140. package/dist/utils/deepCopy.d.ts.map +0 -1
  141. package/dist/utils/deepCopy.js.map +0 -1
  142. package/dist/utils/deepEqual.d.ts +0 -53
  143. package/dist/utils/deepEqual.d.ts.map +0 -1
  144. package/dist/utils/deepEqual.js.map +0 -1
  145. package/dist/utils/export.d.ts +0 -11
  146. package/dist/utils/export.d.ts.map +0 -1
  147. package/dist/utils/export.js.map +0 -1
  148. package/dist/utils/hex.d.ts +0 -48
  149. package/dist/utils/hex.d.ts.map +0 -1
  150. package/dist/utils/hex.js.map +0 -1
  151. package/dist/utils/isvalid.d.ts +0 -102
  152. package/dist/utils/isvalid.d.ts.map +0 -1
  153. package/dist/utils/isvalid.js.map +0 -1
  154. package/dist/utils/network.d.ts +0 -69
  155. package/dist/utils/network.d.ts.map +0 -1
  156. package/dist/utils/network.js.map +0 -1
  157. package/dist/utils/wait.d.ts +0 -51
  158. package/dist/utils/wait.d.ts.map +0 -1
  159. package/dist/utils/wait.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 class MatterbridgeEndpoint that extends the Endpoint class from the Matter.js library.
3
- *
4
- * @file matterbridgeBehaviors.ts
5
- * @author Luca Liguori
6
- * @date 2024-11-07
7
- * @version 1.0.0
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';
@@ -39,7 +12,6 @@ import { ModeBase } from '@matter/main/clusters/mode-base';
39
12
  import { RvcRunMode } from '@matter/main/clusters/rvc-run-mode';
40
13
  import { RvcOperationalState } from '@matter/main/clusters/rvc-operational-state';
41
14
  import { ServiceArea } from '@matter/main/clusters/service-area';
42
- // @matter behaviors
43
15
  import { IdentifyServer } from '@matter/main/behaviors/identify';
44
16
  import { OnOffServer } from '@matter/main/behaviors/on-off';
45
17
  import { LevelControlServer } from '@matter/main/behaviors/level-control';
@@ -60,7 +32,7 @@ import { ServiceAreaServer } from '@matter/main/behaviors/service-area';
60
32
  export class MatterbridgeServerDevice {
61
33
  log;
62
34
  commandHandler;
63
- device; // Will be a plugin device
35
+ device;
64
36
  endpointId = undefined;
65
37
  endpointNumber = undefined;
66
38
  constructor(log, commandHandler, device) {
@@ -324,7 +296,6 @@ export class MatterbridgeWindowCoveringServer extends WindowCoveringServer.with(
324
296
  super.goToLiftPercentage({ liftPercent100thsValue });
325
297
  }
326
298
  async handleMovement(type, reversed, direction, targetPercent100ths) {
327
- // Do nothing here, as the device will handle the movement
328
299
  }
329
300
  }
330
301
  export class MatterbridgeDoorLockServer extends DoorLockServer {
@@ -371,8 +342,6 @@ export class MatterbridgeFanControlServer extends FanControlServer.with(FanContr
371
342
  this.state.percentCurrent = Math.max(this.state.percentCurrent - 10, lowestOff ? 0 : 10);
372
343
  }
373
344
  device.log.debug('Set percentCurrent to:', this.state.percentCurrent);
374
- // step is not implemented in matter.js
375
- // super.step();
376
345
  }
377
346
  }
378
347
  export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermostat.Feature.Cooling, Thermostat.Feature.Heating, Thermostat.Feature.AutoMode) {
@@ -393,8 +362,6 @@ export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermost
393
362
  this.state.occupiedCoolingSetpoint = setpoint * 100;
394
363
  device.log.debug('Set occupiedCoolingSetpoint to:', setpoint);
395
364
  }
396
- // setpointRaiseLower is not implemented in matter.js
397
- // super.setpointRaiseLower();
398
365
  }
399
366
  }
400
367
  export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigurationAndControlServer.with(ValveConfigurationAndControl.Feature.Level) {
@@ -404,8 +371,6 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
404
371
  device.open({ openDuration, targetLevel });
405
372
  this.state.targetLevel = targetLevel ?? 100;
406
373
  this.state.currentLevel = targetLevel ?? 100;
407
- // open is not implemented in matter.js
408
- // super.open();
409
374
  }
410
375
  close() {
411
376
  const device = this.agent.get(MatterbridgeServer).state.deviceCommand;
@@ -413,8 +378,6 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
413
378
  device.close();
414
379
  this.state.targetLevel = 0;
415
380
  this.state.currentLevel = 0;
416
- // close is not implemented in matter.js
417
- // super.close();
418
381
  }
419
382
  }
420
383
  export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(SmokeCoAlarm.Feature.SmokeAlarm, SmokeCoAlarm.Feature.CoAlarm) {
@@ -422,8 +385,6 @@ export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(Smok
422
385
  const device = this.agent.get(MatterbridgeServer).state.deviceCommand;
423
386
  device.log.debug(`MatterbridgeSmokeCoAlarmServer: selfTestRequest called`);
424
387
  device.selfTestRequest();
425
- // selfTestRequest is not implemented in matter.js
426
- // super.selfTestRequest();
427
388
  }
428
389
  }
429
390
  export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateConfigurationServer.with(BooleanStateConfiguration.Feature.Visual, BooleanStateConfiguration.Feature.Audible, BooleanStateConfiguration.Feature.SensitivityLevel) {
@@ -431,13 +392,10 @@ export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateCon
431
392
  const device = this.agent.get(MatterbridgeServer).state.deviceCommand;
432
393
  device.log.debug(`MatterbridgeBooleanStateConfigurationServer: enableDisableAlarm called`);
433
394
  device.enableDisableAlarm({ alarmsToEnableDisable });
434
- // enableDisableAlarm is not implemented in matter.js
435
- // super.enableDisableAlarm({ alarmsToEnableDisable });
436
395
  }
437
396
  }
438
397
  export class MatterbridgeSwitchServer extends SwitchServer {
439
398
  initialize() {
440
- // 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
441
399
  }
442
400
  }
443
401
  export class MatterbridgeOperationalStateServer extends OperationalStateServer {
@@ -453,7 +411,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
453
411
  device.pause();
454
412
  this.state.operationalState = OperationalState.OperationalStateEnum.Paused;
455
413
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
456
- // pause is not implemented in matter.js
457
414
  return {
458
415
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
459
416
  };
@@ -464,7 +421,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
464
421
  device.stop();
465
422
  this.state.operationalState = OperationalState.OperationalStateEnum.Stopped;
466
423
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
467
- // stop is not implemented in matter.js
468
424
  return {
469
425
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
470
426
  };
@@ -475,7 +431,6 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
475
431
  device.start();
476
432
  this.state.operationalState = OperationalState.OperationalStateEnum.Running;
477
433
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
478
- // start is not implemented in matter.js
479
434
  return {
480
435
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
481
436
  };
@@ -486,13 +441,11 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
486
441
  device.resume();
487
442
  this.state.operationalState = OperationalState.OperationalStateEnum.Running;
488
443
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
489
- // resume is not implemented in matter.js
490
444
  return {
491
445
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
492
446
  };
493
447
  }
494
448
  }
495
- /** ********************************************* RVC **********************************************************/
496
449
  export class MatterbridgeRvcRunModeServer extends RvcRunModeServer {
497
450
  changeToMode({ newMode }) {
498
451
  const device = this.endpoint.stateOf(MatterbridgeServer).deviceCommand;
@@ -537,7 +490,7 @@ export class MatterbridgeRvcOperationalStateServer extends RvcOperationalStateSe
537
490
  const device = this.endpoint.stateOf(MatterbridgeServer).deviceCommand;
538
491
  device.log.info('MatterbridgeRvcOperationalStateServer: pause called setting operational state to Paused and currentMode to Idle');
539
492
  device.pause();
540
- this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 1; // RvcRunMode.ModeTag.Idle
493
+ this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 1;
541
494
  this.state.operationalState = RvcOperationalState.OperationalState.Paused;
542
495
  this.state.operationalError = { errorStateId: RvcOperationalState.ErrorState.NoError, errorStateLabel: 'No Error', errorStateDetails: 'Fully operational' };
543
496
  return {
@@ -548,7 +501,7 @@ export class MatterbridgeRvcOperationalStateServer extends RvcOperationalStateSe
548
501
  const device = this.endpoint.stateOf(MatterbridgeServer).deviceCommand;
549
502
  device.log.info('MatterbridgeRvcOperationalStateServer: resume called setting operational state to Running and currentMode to Cleaning');
550
503
  device.resume();
551
- this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 2; // RvcRunMode.ModeTag.Cleaning
504
+ this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 2;
552
505
  this.state.operationalState = RvcOperationalState.OperationalState.Running;
553
506
  this.state.operationalError = { errorStateId: RvcOperationalState.ErrorState.NoError, errorStateLabel: 'No Error', errorStateDetails: 'Fully operational' };
554
507
  return {
@@ -556,11 +509,10 @@ export class MatterbridgeRvcOperationalStateServer extends RvcOperationalStateSe
556
509
  };
557
510
  }
558
511
  goHome() {
559
- // const device = this.agent.get(MatterbridgeServer).state.deviceCommand;
560
512
  const device = this.endpoint.stateOf(MatterbridgeServer).deviceCommand;
561
513
  device.log.info('MatterbridgeRvcOperationalStateServer: goHome called setting operational state to Docked and currentMode to Idle');
562
514
  device.goHome();
563
- this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 1; // RvcRunMode.ModeTag.Idle
515
+ this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 1;
564
516
  this.state.operationalState = RvcOperationalState.OperationalState.Docked;
565
517
  this.state.operationalError = { errorStateId: RvcOperationalState.ErrorState.NoError, errorStateLabel: 'No Error', errorStateDetails: 'Fully operational' };
566
518
  return {
@@ -586,4 +538,3 @@ export class MatterbridgeServiceAreaServer extends ServiceAreaServer {
586
538
  return { status: ServiceArea.SelectAreasStatus.Success, statusText: 'Succesfully selected new areas' };
587
539
  }
588
540
  }
589
- //# sourceMappingURL=matterbridgeBehaviors.js.map