matterbridge 2.0.0-edge1 → 2.1.0-dev.1

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 (82) hide show
  1. package/CHANGELOG.md +36 -3
  2. package/README.md +1 -1
  3. package/dist/cli.js +0 -26
  4. package/dist/cluster/export.js +0 -2
  5. package/dist/defaultConfigSchema.js +0 -23
  6. package/dist/deviceManager.js +2 -27
  7. package/dist/frontend.js +99 -245
  8. package/dist/index.js +2 -33
  9. package/dist/logger/export.js +0 -1
  10. package/dist/matter/export.js +0 -7
  11. package/dist/matterbridge.js +99 -710
  12. package/dist/matterbridgeAccessoryPlatform.js +0 -33
  13. package/dist/matterbridgeBehaviors.js +42 -32
  14. package/dist/matterbridgeDeviceTypes.js +90 -84
  15. package/dist/matterbridgeDynamicPlatform.js +0 -33
  16. package/dist/matterbridgeEndpoint.js +992 -2454
  17. package/dist/matterbridgePlatform.js +11 -130
  18. package/dist/matterbridgeTypes.js +0 -25
  19. package/dist/pluginManager.js +7 -251
  20. package/dist/storage/export.js +0 -1
  21. package/dist/utils/colorUtils.js +2 -205
  22. package/dist/utils/export.js +0 -1
  23. package/dist/utils/utils.js +10 -255
  24. package/frontend/build/asset-manifest.json +3 -3
  25. package/frontend/build/index.html +1 -1
  26. package/frontend/build/static/js/{main.ea28015b.js → main.26dbf9b9.js} +3 -3
  27. package/frontend/build/static/js/main.26dbf9b9.js.map +1 -0
  28. package/npm-shrinkwrap.json +97 -79
  29. package/package.json +2 -4
  30. package/dist/cli.d.ts.map +0 -1
  31. package/dist/cli.js.map +0 -1
  32. package/dist/cluster/export.d.ts.map +0 -1
  33. package/dist/cluster/export.js.map +0 -1
  34. package/dist/defaultConfigSchema.d.ts.map +0 -1
  35. package/dist/defaultConfigSchema.js.map +0 -1
  36. package/dist/deviceManager.d.ts +0 -46
  37. package/dist/deviceManager.d.ts.map +0 -1
  38. package/dist/deviceManager.js.map +0 -1
  39. package/dist/frontend.d.ts +0 -98
  40. package/dist/frontend.d.ts.map +0 -1
  41. package/dist/frontend.js.map +0 -1
  42. package/dist/index.d.ts.map +0 -1
  43. package/dist/index.js.map +0 -1
  44. package/dist/logger/export.d.ts.map +0 -1
  45. package/dist/logger/export.js.map +0 -1
  46. package/dist/matter/export.d.ts.map +0 -1
  47. package/dist/matter/export.js.map +0 -1
  48. package/dist/matterbridge.d.ts +0 -357
  49. package/dist/matterbridge.d.ts.map +0 -1
  50. package/dist/matterbridge.js.map +0 -1
  51. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  52. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  53. package/dist/matterbridgeBehaviors.d.ts +0 -123
  54. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  55. package/dist/matterbridgeBehaviors.js.map +0 -1
  56. package/dist/matterbridgeDeviceTypes.d.ts +0 -109
  57. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  58. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  59. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  60. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  61. package/dist/matterbridgeEndpoint.d.ts +0 -1167
  62. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  63. package/dist/matterbridgeEndpoint.js.map +0 -1
  64. package/dist/matterbridgePlatform.d.ts +0 -154
  65. package/dist/matterbridgePlatform.d.ts.map +0 -1
  66. package/dist/matterbridgePlatform.js.map +0 -1
  67. package/dist/matterbridgeTypes.d.ts.map +0 -1
  68. package/dist/matterbridgeTypes.js.map +0 -1
  69. package/dist/pluginManager.d.ts +0 -238
  70. package/dist/pluginManager.d.ts.map +0 -1
  71. package/dist/pluginManager.js.map +0 -1
  72. package/dist/storage/export.d.ts.map +0 -1
  73. package/dist/storage/export.js.map +0 -1
  74. package/dist/utils/colorUtils.d.ts.map +0 -1
  75. package/dist/utils/colorUtils.js.map +0 -1
  76. package/dist/utils/export.d.ts.map +0 -1
  77. package/dist/utils/export.js.map +0 -1
  78. package/dist/utils/utils.d.ts +0 -221
  79. package/dist/utils/utils.d.ts.map +0 -1
  80. package/dist/utils/utils.js.map +0 -1
  81. package/frontend/build/static/js/main.ea28015b.js.map +0 -1
  82. /package/frontend/build/static/js/{main.ea28015b.js.LICENSE.txt → main.26dbf9b9.js.LICENSE.txt} +0 -0
package/CHANGELOG.md CHANGED
@@ -15,17 +15,38 @@ Tamer (https://github.com/tammeryousef1006) has created the Matterbridge Discord
15
15
 
16
16
  ### Breaking Changes
17
17
 
18
- Starting from v. 2.0.0 Matterbridge is running only in mode edge (no parameter needed).
19
- The legacy old api have been completely removed.
18
+ Starting from v. 2.0.0 Matterbridge is running only in mode edge (no parameter needed and no badge in the frontend).
19
+ The legacy old api have been removed.
20
20
 
21
21
  The frontend has a new dark and light mode. The dark mode is now the default mode.
22
22
  It is possible to change the mode (Classic, Dark or Light) in Settings, Matterbridge settings.
23
23
 
24
- ## [2.0.0-edge.1] - 2025-01-14
24
+ ## [2.1.0.dev.1] - 2025-01-26
25
+
26
+ ### Added
27
+
28
+ - [matterbridge]: Add MatterbridgeModeSelectServer.
29
+ - [frontend]: Add api/advertise to turn on matter advertising in bridge mode.
30
+ - [frontend]: Frontend v.2.4.0.
31
+
32
+ ### Changed
33
+
34
+ - [package]: Update dependencies.
35
+ - [package]: Update matter.js to 0.12.0.
36
+ - [package]: Removed legacy imports.
37
+
38
+ ### Fixed
39
+
40
+ <a href="https://www.buymeacoffee.com/luligugithub">
41
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
42
+ </a>
43
+
44
+ ## [2.0.0] - 2025-01-20
25
45
 
26
46
  ### Added
27
47
 
28
48
  - [behavior]: Added MatterbridgeValveConfigurationAndControlServer behavior with open close command.
49
+ - [matterbridge]: Added /memory endpoint for debugging memory use.
29
50
 
30
51
  ### Changed
31
52
 
@@ -33,8 +54,20 @@ It is possible to change the mode (Classic, Dark or Light) in Settings, Matterbr
33
54
  - [factoryreset]: Now it deletes also the backup files and backup directories.
34
55
  - [mattebridge]: Restyled the Matterbridge class and created the Frontend class that manages the frontend express and websocket api calls.
35
56
  - [frontend]: Frontend v.2.3.12.
57
+ - [iconView]: Improved render for energySensor adding voltage, current and power.
58
+ - [iconView]: Improved render for PowerSource adding battery voltage.
59
+ - [jest]: Refactor all tests for edge.
60
+ - [frontend]: WebSocketProvider added a startTimeout of 300 sec. to start ping.
61
+ - [frontend]: WebSocketProvider changed pingIntervalSeconds to 60 sec. and offlineTimeoutSeconds to 50 sec.
62
+ - [frontend]: Search on select is no more case sensitive.
63
+ - [matterbridge]: Deferred memory intensive tasks after initialization.
64
+ - [package]: Optimized all imports from matter.js.
36
65
  - [package]: Update dependencies.
37
66
 
67
+ ### Fixed
68
+
69
+ - [sessions]: Fixed the case when Active session was not reporting correctly.
70
+
38
71
  <a href="https://www.buymeacoffee.com/luligugithub">
39
72
  <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
40
73
  </a>
package/README.md CHANGED
@@ -414,7 +414,7 @@ So far is the only controller supporting some Matter 1.2 and 1.3 device type:
414
414
 
415
415
  Electrical measurements:
416
416
 
417
- - electrical measurements from EveHistoryCluster (used in Matterbridge plugins)
417
+ - electrical measurements from EveHistoryCluster (used in old Matterbridge plugins)
418
418
  - electricalSensor code 0x0510 with clusters: ElectricalPowerMeasurement and ElectricalEnergyMeasurement
419
419
 
420
420
  Other supported cluster:
package/dist/cli.js CHANGED
@@ -1,27 +1,4 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * This file contains the CLI entry point of Matterbridge.
4
- *
5
- * @file cli.ts
6
- * @author Luca Liguori
7
- * @date 2023-12-29
8
- * @version 1.0.11
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
- /* eslint-disable no-console */
25
2
  import { Matterbridge } from './matterbridge.js';
26
3
  let instance;
27
4
  const cli = '\u001B[32m';
@@ -57,13 +34,10 @@ async function restart() {
57
34
  async function update() {
58
35
  if (process.argv.includes('-debug'))
59
36
  console.log(cli + 'CLI: received update event, updating...' + rs);
60
- // TODO: Implement update logic outside of matterbridge
61
37
  instance = await Matterbridge.loadInstance(true);
62
38
  registerHandlers();
63
39
  }
64
40
  process.title = 'matterbridge';
65
- // Run the main function
66
41
  main().catch((error) => {
67
42
  console.error(er + `CLI: Matterbridge.loadInstance() failed with error: ${error}` + rs);
68
43
  });
69
- //# sourceMappingURL=cli.js.map
@@ -1,3 +1 @@
1
1
  export {};
2
- // Nothing to export right now
3
- //# sourceMappingURL=export.js.map
@@ -1,25 +1,3 @@
1
- /**
2
- * This file contains the default config for the plugins.
3
- *
4
- * @file defaultConfigSchema.ts
5
- * @author Luca Liguori
6
- * @date 2024-05-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
1
  export const zigbee2mqtt_config = {
24
2
  name: 'matterbridge-zigbee2mqtt',
25
3
  type: 'DynamicPlatform',
@@ -85,4 +63,3 @@ export const shelly_config = {
85
63
  debugWs: false,
86
64
  unregisterOnShutdown: false,
87
65
  };
88
- //# sourceMappingURL=defaultConfigSchema.js.map
@@ -1,27 +1,4 @@
1
- /**
2
- * This file contains the DeviceManager class.
3
- *
4
- * @file devices.ts
5
- * @author Luca Liguori
6
- * @date 2024-07-26
7
- * @version 1.0.8
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
- // NodeStorage and AnsiLogger modules
24
- import { AnsiLogger, BLUE, er, TimestampFormat } from 'node-ansi-logger';
1
+ import { AnsiLogger, BLUE, er } from './logger/export.js';
25
2
  import { dev } from './matterbridgeTypes.js';
26
3
  export class DeviceManager {
27
4
  _devices = new Map();
@@ -31,7 +8,7 @@ export class DeviceManager {
31
8
  constructor(matterbridge, nodeContext) {
32
9
  this.matterbridge = matterbridge;
33
10
  this.nodeContext = nodeContext;
34
- this.log = new AnsiLogger({ logName: 'DeviceManager', logTimestampFormat: TimestampFormat.TIME_MILLIS, logLevel: matterbridge.log.logLevel });
11
+ this.log = new AnsiLogger({ logName: 'DeviceManager', logTimestampFormat: 4, logLevel: matterbridge.log.logLevel });
35
12
  this.log.debug('Matterbridge device manager starting...');
36
13
  }
37
14
  get length() {
@@ -77,7 +54,6 @@ export class DeviceManager {
77
54
  }
78
55
  catch (error) {
79
56
  this.log.error(`Error processing forEach device ${dev}${device.deviceName}${er} serialNumber ${BLUE}${device.serialNumber}${er} uniqueId: ${BLUE}${device.uniqueId}${er}:`, error);
80
- // throw error;
81
57
  }
82
58
  });
83
59
  await Promise.all(tasks);
@@ -89,4 +65,3 @@ export class DeviceManager {
89
65
  this.log.logLevel = logLevel;
90
66
  }
91
67
  }
92
- //# sourceMappingURL=deviceManager.js.map