matterbridge 3.0.3-dev-20250520-e6e7257 → 3.0.3

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 (162) hide show
  1. package/dist/cli.d.ts +29 -0
  2. package/dist/cli.d.ts.map +1 -0
  3. package/dist/cli.js +37 -2
  4. package/dist/cli.js.map +1 -0
  5. package/dist/cluster/export.d.ts +2 -0
  6. package/dist/cluster/export.d.ts.map +1 -0
  7. package/dist/cluster/export.js +2 -0
  8. package/dist/cluster/export.js.map +1 -0
  9. package/dist/defaultConfigSchema.d.ts +27 -0
  10. package/dist/defaultConfigSchema.d.ts.map +1 -0
  11. package/dist/defaultConfigSchema.js +23 -0
  12. package/dist/defaultConfigSchema.js.map +1 -0
  13. package/dist/deviceManager.d.ts +114 -0
  14. package/dist/deviceManager.d.ts.map +1 -0
  15. package/dist/deviceManager.js +94 -1
  16. package/dist/deviceManager.js.map +1 -0
  17. package/dist/frontend.d.ts +241 -0
  18. package/dist/frontend.d.ts.map +1 -0
  19. package/dist/frontend.js +333 -15
  20. package/dist/frontend.js.map +1 -0
  21. package/dist/helpers.d.ts +47 -0
  22. package/dist/helpers.d.ts.map +1 -0
  23. package/dist/helpers.js +50 -0
  24. package/dist/helpers.js.map +1 -0
  25. package/dist/index.d.ts +35 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +27 -1
  28. package/dist/index.js.map +1 -0
  29. package/dist/logger/export.d.ts +2 -0
  30. package/dist/logger/export.d.ts.map +1 -0
  31. package/dist/logger/export.js +1 -0
  32. package/dist/logger/export.js.map +1 -0
  33. package/dist/matter/behaviors.d.ts +2 -0
  34. package/dist/matter/behaviors.d.ts.map +1 -0
  35. package/dist/matter/behaviors.js +2 -0
  36. package/dist/matter/behaviors.js.map +1 -0
  37. package/dist/matter/clusters.d.ts +2 -0
  38. package/dist/matter/clusters.d.ts.map +1 -0
  39. package/dist/matter/clusters.js +2 -0
  40. package/dist/matter/clusters.js.map +1 -0
  41. package/dist/matter/devices.d.ts +2 -0
  42. package/dist/matter/devices.d.ts.map +1 -0
  43. package/dist/matter/devices.js +2 -0
  44. package/dist/matter/devices.js.map +1 -0
  45. package/dist/matter/endpoints.d.ts +2 -0
  46. package/dist/matter/endpoints.d.ts.map +1 -0
  47. package/dist/matter/endpoints.js +2 -0
  48. package/dist/matter/endpoints.js.map +1 -0
  49. package/dist/matter/export.d.ts +5 -0
  50. package/dist/matter/export.d.ts.map +1 -0
  51. package/dist/matter/export.js +2 -0
  52. package/dist/matter/export.js.map +1 -0
  53. package/dist/matter/types.d.ts +3 -0
  54. package/dist/matter/types.d.ts.map +1 -0
  55. package/dist/matter/types.js +2 -0
  56. package/dist/matter/types.js.map +1 -0
  57. package/dist/matterbridge.d.ts +445 -0
  58. package/dist/matterbridge.d.ts.map +1 -0
  59. package/dist/matterbridge.js +747 -47
  60. package/dist/matterbridge.js.map +1 -0
  61. package/dist/matterbridgeAccessoryPlatform.d.ts +40 -0
  62. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
  63. package/dist/matterbridgeAccessoryPlatform.js +34 -0
  64. package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
  65. package/dist/matterbridgeBehaviors.d.ts +1201 -0
  66. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  67. package/dist/matterbridgeBehaviors.js +60 -4
  68. package/dist/matterbridgeBehaviors.js.map +1 -0
  69. package/dist/matterbridgeDeviceTypes.d.ts +629 -0
  70. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  71. package/dist/matterbridgeDeviceTypes.js +563 -15
  72. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  73. package/dist/matterbridgeDynamicPlatform.d.ts +40 -0
  74. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
  75. package/dist/matterbridgeDynamicPlatform.js +34 -0
  76. package/dist/matterbridgeDynamicPlatform.js.map +1 -0
  77. package/dist/matterbridgeEndpoint.d.ts +967 -0
  78. package/dist/matterbridgeEndpoint.d.ts.map +1 -0
  79. package/dist/matterbridgeEndpoint.js +807 -11
  80. package/dist/matterbridgeEndpoint.js.map +1 -0
  81. package/dist/matterbridgeEndpointHelpers.d.ts +2728 -0
  82. package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
  83. package/dist/matterbridgeEndpointHelpers.js +149 -10
  84. package/dist/matterbridgeEndpointHelpers.js.map +1 -0
  85. package/dist/matterbridgePlatform.d.ts +294 -0
  86. package/dist/matterbridgePlatform.d.ts.map +1 -0
  87. package/dist/matterbridgePlatform.js +225 -7
  88. package/dist/matterbridgePlatform.js.map +1 -0
  89. package/dist/matterbridgeTypes.d.ts +188 -0
  90. package/dist/matterbridgeTypes.d.ts.map +1 -0
  91. package/dist/matterbridgeTypes.js +24 -0
  92. package/dist/matterbridgeTypes.js.map +1 -0
  93. package/dist/pluginManager.d.ts +273 -0
  94. package/dist/pluginManager.d.ts.map +1 -0
  95. package/dist/pluginManager.js +264 -3
  96. package/dist/pluginManager.js.map +1 -0
  97. package/dist/roboticVacuumCleaner.d.ts +82 -0
  98. package/dist/roboticVacuumCleaner.d.ts.map +1 -0
  99. package/dist/roboticVacuumCleaner.js +78 -3
  100. package/dist/roboticVacuumCleaner.js.map +1 -0
  101. package/dist/shelly.d.ts +153 -0
  102. package/dist/shelly.d.ts.map +1 -0
  103. package/dist/shelly.js +155 -7
  104. package/dist/shelly.js.map +1 -0
  105. package/dist/storage/export.d.ts +2 -0
  106. package/dist/storage/export.d.ts.map +1 -0
  107. package/dist/storage/export.js +1 -0
  108. package/dist/storage/export.js.map +1 -0
  109. package/dist/update.d.ts +58 -0
  110. package/dist/update.d.ts.map +1 -0
  111. package/dist/update.js +53 -0
  112. package/dist/update.js.map +1 -0
  113. package/dist/utils/colorUtils.d.ts +61 -0
  114. package/dist/utils/colorUtils.d.ts.map +1 -0
  115. package/dist/utils/colorUtils.js +205 -2
  116. package/dist/utils/colorUtils.js.map +1 -0
  117. package/dist/utils/commandLine.d.ts +58 -0
  118. package/dist/utils/commandLine.d.ts.map +1 -0
  119. package/dist/utils/commandLine.js +53 -0
  120. package/dist/utils/commandLine.js.map +1 -0
  121. package/dist/utils/copyDirectory.d.ts +32 -0
  122. package/dist/utils/copyDirectory.d.ts.map +1 -0
  123. package/dist/utils/copyDirectory.js +37 -1
  124. package/dist/utils/copyDirectory.js.map +1 -0
  125. package/dist/utils/createZip.d.ts +38 -0
  126. package/dist/utils/createZip.d.ts.map +1 -0
  127. package/dist/utils/createZip.js +42 -2
  128. package/dist/utils/createZip.js.map +1 -0
  129. package/dist/utils/deepCopy.d.ts +31 -0
  130. package/dist/utils/deepCopy.d.ts.map +1 -0
  131. package/dist/utils/deepCopy.js +38 -0
  132. package/dist/utils/deepCopy.js.map +1 -0
  133. package/dist/utils/deepEqual.d.ts +53 -0
  134. package/dist/utils/deepEqual.d.ts.map +1 -0
  135. package/dist/utils/deepEqual.js +71 -1
  136. package/dist/utils/deepEqual.js.map +1 -0
  137. package/dist/utils/export.d.ts +11 -0
  138. package/dist/utils/export.d.ts.map +1 -0
  139. package/dist/utils/export.js +1 -0
  140. package/dist/utils/export.js.map +1 -0
  141. package/dist/utils/hex.d.ts +48 -0
  142. package/dist/utils/hex.d.ts.map +1 -0
  143. package/dist/utils/hex.js +57 -0
  144. package/dist/utils/hex.js.map +1 -0
  145. package/dist/utils/isvalid.d.ts +102 -0
  146. package/dist/utils/isvalid.d.ts.map +1 -0
  147. package/dist/utils/isvalid.js +100 -0
  148. package/dist/utils/isvalid.js.map +1 -0
  149. package/dist/utils/network.d.ts +69 -0
  150. package/dist/utils/network.d.ts.map +1 -0
  151. package/dist/utils/network.js +76 -5
  152. package/dist/utils/network.js.map +1 -0
  153. package/dist/utils/wait.d.ts +52 -0
  154. package/dist/utils/wait.d.ts.map +1 -0
  155. package/dist/utils/wait.js +58 -9
  156. package/dist/utils/wait.js.map +1 -0
  157. package/dist/waterHeater.d.ts +75 -0
  158. package/dist/waterHeater.d.ts.map +1 -0
  159. package/dist/waterHeater.js +52 -0
  160. package/dist/waterHeater.js.map +1 -0
  161. package/npm-shrinkwrap.json +2 -2
  162. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgeBehaviors.d.ts","sourceRoot":"","sources":["../src/matterbridgeBehaviors.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,31 @@
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
1
27
  import { Behavior } from '@matter/main';
28
+ // @matter clusters
2
29
  import { BooleanStateConfiguration } from '@matter/main/clusters/boolean-state-configuration';
3
30
  import { ColorControl } from '@matter/main/clusters/color-control';
4
31
  import { FanControl } from '@matter/main/clusters/fan-control';
@@ -13,6 +40,7 @@ import { RvcRunMode } from '@matter/main/clusters/rvc-run-mode';
13
40
  import { RvcOperationalState } from '@matter/main/clusters/rvc-operational-state';
14
41
  import { ServiceArea } from '@matter/main/clusters/service-area';
15
42
  import { WaterHeaterManagement } from '@matter/main/clusters/water-heater-management';
43
+ // @matter behaviors
16
44
  import { IdentifyServer } from '@matter/main/behaviors/identify';
17
45
  import { OnOffServer } from '@matter/main/behaviors/on-off';
18
46
  import { LevelControlServer } from '@matter/main/behaviors/level-control';
@@ -35,7 +63,7 @@ import { WaterHeaterManagementServer } from '@matter/main/behaviors/water-heater
35
63
  export class MatterbridgeServerDevice {
36
64
  log;
37
65
  commandHandler;
38
- device;
66
+ device; // Will be a plugin device
39
67
  endpointId = undefined;
40
68
  endpointNumber = undefined;
41
69
  constructor(log, commandHandler, device) {
@@ -307,6 +335,7 @@ export class MatterbridgeWindowCoveringServer extends WindowCoveringServer.with(
307
335
  super.goToLiftPercentage({ liftPercent100thsValue });
308
336
  }
309
337
  async handleMovement(type, reversed, direction, targetPercent100ths) {
338
+ // Do nothing here, as the device will handle the movement
310
339
  }
311
340
  }
312
341
  export class MatterbridgeDoorLockServer extends DoorLockServer {
@@ -353,6 +382,8 @@ export class MatterbridgeFanControlServer extends FanControlServer.with(FanContr
353
382
  this.state.percentCurrent = Math.max(this.state.percentCurrent - 10, lowestOff ? 0 : 10);
354
383
  }
355
384
  device.log.debug('Set percentCurrent to:', this.state.percentCurrent);
385
+ // step is not implemented in matter.js
386
+ // super.step();
356
387
  }
357
388
  }
358
389
  export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermostat.Feature.Cooling, Thermostat.Feature.Heating, Thermostat.Feature.AutoMode) {
@@ -373,6 +404,8 @@ export class MatterbridgeThermostatServer extends ThermostatServer.with(Thermost
373
404
  this.state.occupiedCoolingSetpoint = setpoint * 100;
374
405
  device.log.debug(`Set occupiedCoolingSetpoint to ${setpoint}`);
375
406
  }
407
+ // setpointRaiseLower is not implemented in matter.js
408
+ // super.setpointRaiseLower();
376
409
  }
377
410
  }
378
411
  export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigurationAndControlServer.with(ValveConfigurationAndControl.Feature.Level) {
@@ -382,6 +415,8 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
382
415
  device.open({ openDuration, targetLevel });
383
416
  this.state.targetLevel = targetLevel ?? 100;
384
417
  this.state.currentLevel = targetLevel ?? 100;
418
+ // open is not implemented in matter.js
419
+ // super.open();
385
420
  }
386
421
  close() {
387
422
  const device = this.agent.get(MatterbridgeServer).state.deviceCommand;
@@ -389,6 +424,8 @@ export class MatterbridgeValveConfigurationAndControlServer extends ValveConfigu
389
424
  device.close();
390
425
  this.state.targetLevel = 0;
391
426
  this.state.currentLevel = 0;
427
+ // close is not implemented in matter.js
428
+ // super.close();
392
429
  }
393
430
  }
394
431
  export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(SmokeCoAlarm.Feature.SmokeAlarm, SmokeCoAlarm.Feature.CoAlarm) {
@@ -396,6 +433,8 @@ export class MatterbridgeSmokeCoAlarmServer extends SmokeCoAlarmServer.with(Smok
396
433
  const device = this.agent.get(MatterbridgeServer).state.deviceCommand;
397
434
  device.log.debug(`MatterbridgeSmokeCoAlarmServer: selfTestRequest called`);
398
435
  device.selfTestRequest();
436
+ // selfTestRequest is not implemented in matter.js
437
+ // super.selfTestRequest();
399
438
  }
400
439
  }
401
440
  export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateConfigurationServer.with(BooleanStateConfiguration.Feature.Visual, BooleanStateConfiguration.Feature.Audible, BooleanStateConfiguration.Feature.SensitivityLevel) {
@@ -403,10 +442,13 @@ export class MatterbridgeBooleanStateConfigurationServer extends BooleanStateCon
403
442
  const device = this.agent.get(MatterbridgeServer).state.deviceCommand;
404
443
  device.log.debug(`MatterbridgeBooleanStateConfigurationServer: enableDisableAlarm called`);
405
444
  device.enableDisableAlarm({ alarmsToEnableDisable });
445
+ // enableDisableAlarm is not implemented in matter.js
446
+ // super.enableDisableAlarm({ alarmsToEnableDisable });
406
447
  }
407
448
  }
408
449
  export class MatterbridgeSwitchServer extends SwitchServer {
409
450
  initialize() {
451
+ // 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
410
452
  }
411
453
  }
412
454
  export class MatterbridgeOperationalStateServer extends OperationalStateServer {
@@ -422,6 +464,7 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
422
464
  device.pause();
423
465
  this.state.operationalState = OperationalState.OperationalStateEnum.Paused;
424
466
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
467
+ // pause is not implemented in matter.js
425
468
  return {
426
469
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
427
470
  };
@@ -432,6 +475,7 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
432
475
  device.stop();
433
476
  this.state.operationalState = OperationalState.OperationalStateEnum.Stopped;
434
477
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
478
+ // stop is not implemented in matter.js
435
479
  return {
436
480
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
437
481
  };
@@ -442,6 +486,7 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
442
486
  device.start();
443
487
  this.state.operationalState = OperationalState.OperationalStateEnum.Running;
444
488
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
489
+ // start is not implemented in matter.js
445
490
  return {
446
491
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
447
492
  };
@@ -452,11 +497,13 @@ export class MatterbridgeOperationalStateServer extends OperationalStateServer {
452
497
  device.resume();
453
498
  this.state.operationalState = OperationalState.OperationalStateEnum.Running;
454
499
  this.state.operationalError = { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' };
500
+ // resume is not implemented in matter.js
455
501
  return {
456
502
  commandResponseState: { errorStateId: OperationalState.ErrorState.NoError, errorStateLabel: 'No error', errorStateDetails: 'Fully operational' },
457
503
  };
458
504
  }
459
505
  }
506
+ /** ********************************************* roboticVacuumCleaner **********************************************************/
460
507
  export class MatterbridgeRvcRunModeServer extends RvcRunModeServer {
461
508
  changeToMode({ newMode }) {
462
509
  const device = this.endpoint.stateOf(MatterbridgeServer).deviceCommand;
@@ -501,7 +548,7 @@ export class MatterbridgeRvcOperationalStateServer extends RvcOperationalStateSe
501
548
  const device = this.endpoint.stateOf(MatterbridgeServer).deviceCommand;
502
549
  device.log.info('MatterbridgeRvcOperationalStateServer: pause called setting operational state to Paused and currentMode to Idle');
503
550
  device.pause();
504
- this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 1;
551
+ this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 1; // RvcRunMode.ModeTag.Idle
505
552
  this.state.operationalState = RvcOperationalState.OperationalState.Paused;
506
553
  this.state.operationalError = { errorStateId: RvcOperationalState.ErrorState.NoError, errorStateLabel: 'No Error', errorStateDetails: 'Fully operational' };
507
554
  return {
@@ -512,7 +559,7 @@ export class MatterbridgeRvcOperationalStateServer extends RvcOperationalStateSe
512
559
  const device = this.endpoint.stateOf(MatterbridgeServer).deviceCommand;
513
560
  device.log.info('MatterbridgeRvcOperationalStateServer: resume called setting operational state to Running and currentMode to Cleaning');
514
561
  device.resume();
515
- this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 2;
562
+ this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 2; // RvcRunMode.ModeTag.Cleaning
516
563
  this.state.operationalState = RvcOperationalState.OperationalState.Running;
517
564
  this.state.operationalError = { errorStateId: RvcOperationalState.ErrorState.NoError, errorStateLabel: 'No Error', errorStateDetails: 'Fully operational' };
518
565
  return {
@@ -520,10 +567,11 @@ export class MatterbridgeRvcOperationalStateServer extends RvcOperationalStateSe
520
567
  };
521
568
  }
522
569
  goHome() {
570
+ // const device = this.agent.get(MatterbridgeServer).state.deviceCommand;
523
571
  const device = this.endpoint.stateOf(MatterbridgeServer).deviceCommand;
524
572
  device.log.info('MatterbridgeRvcOperationalStateServer: goHome called setting operational state to Docked and currentMode to Idle');
525
573
  device.goHome();
526
- this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 1;
574
+ this.agent.get(MatterbridgeRvcRunModeServer).state.currentMode = 1; // RvcRunMode.ModeTag.Idle
527
575
  this.state.operationalState = RvcOperationalState.OperationalState.Docked;
528
576
  this.state.operationalError = { errorStateId: RvcOperationalState.ErrorState.NoError, errorStateLabel: 'No Error', errorStateDetails: 'Fully operational' };
529
577
  return {
@@ -549,18 +597,25 @@ export class MatterbridgeServiceAreaServer extends ServiceAreaServer {
549
597
  return { status: ServiceArea.SelectAreasStatus.Success, statusText: 'Succesfully selected new areas' };
550
598
  }
551
599
  }
600
+ /** ********************************************* waterHeater **********************************************************/
552
601
  export class MatterbridgeWaterHeaterManagementServer extends WaterHeaterManagementServer {
553
602
  boost({ boostInfo }) {
554
603
  const device = this.endpoint.stateOf(MatterbridgeServer).deviceCommand;
555
604
  device.boost({ boostInfo });
556
605
  device.log.info(`MatterbridgeWaterHeaterManagementServer boost called with: ${JSON.stringify(boostInfo)}`);
557
606
  this.state.boostState = WaterHeaterManagement.BoostState.Active;
607
+ // The plugin is responsible for setting the device accordingly with the boostInfo of the boost command
608
+ // super.boost({ boostInfo });
609
+ // boost is not implemented in matter.js
558
610
  }
559
611
  cancelBoost() {
560
612
  const device = this.endpoint.stateOf(MatterbridgeServer).deviceCommand;
561
613
  device.cancelBoost();
562
614
  device.log.info(`MatterbridgeWaterHeaterManagementServer cancelBoost called`);
563
615
  this.state.boostState = WaterHeaterManagement.BoostState.Inactive;
616
+ // The plugin is responsible for setting the device accordingly with the cancelBoost command
617
+ // super.cancelBoost();
618
+ // cancelBoost is not implemented in matter.js
564
619
  }
565
620
  }
566
621
  export class MatterbridgeWaterHeaterModeServer extends WaterHeaterModeServer {
@@ -577,3 +632,4 @@ export class MatterbridgeWaterHeaterModeServer extends WaterHeaterModeServer {
577
632
  return { status: ModeBase.ModeChangeStatus.Success, statusText: 'Success' };
578
633
  }
579
634
  }
635
+ //# sourceMappingURL=matterbridgeBehaviors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgeBehaviors.js","sourceRoot":"","sources":["../src/matterbridgeBehaviors.ts"],"names":[],"mappings":"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"}