matterbridge 1.1.3 → 1.1.5

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 (36) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +33 -14
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +13 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/index.d.ts +0 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +2 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/matterbridge.d.ts +14 -6
  12. package/dist/matterbridge.d.ts.map +1 -1
  13. package/dist/matterbridge.js +351 -216
  14. package/dist/matterbridge.js.map +1 -1
  15. package/dist/matterbridgeAccessoryPlatform.d.ts +7 -13
  16. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -1
  17. package/dist/matterbridgeAccessoryPlatform.js +9 -18
  18. package/dist/matterbridgeAccessoryPlatform.js.map +1 -1
  19. package/dist/matterbridgeDevice.d.ts +10 -0
  20. package/dist/matterbridgeDevice.d.ts.map +1 -1
  21. package/dist/matterbridgeDevice.js +11 -7
  22. package/dist/matterbridgeDevice.js.map +1 -1
  23. package/dist/matterbridgeDynamicPlatform.d.ts +7 -13
  24. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -1
  25. package/dist/matterbridgeDynamicPlatform.js +9 -18
  26. package/dist/matterbridgeDynamicPlatform.js.map +1 -1
  27. package/frontend/build/asset-manifest.json +3 -3
  28. package/frontend/build/index.html +1 -1
  29. package/frontend/build/manifest.json +2 -2
  30. package/frontend/build/matterbridge 32x32.png +0 -0
  31. package/frontend/build/matterbridge 64x64.png +0 -0
  32. package/frontend/build/static/js/{main.b5a876cf.js → main.b6ca1c6b.js} +3 -3
  33. package/frontend/build/static/js/main.b6ca1c6b.js.map +1 -0
  34. package/package.json +4 -3
  35. package/frontend/build/static/js/main.b5a876cf.js.map +0 -1
  36. /package/frontend/build/static/js/{main.b5a876cf.js.LICENSE.txt → main.b6ca1c6b.js.LICENSE.txt} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [1.1.5] - 2024-03-11
6
+
7
+ ### Added
8
+
9
+ - [debug]: Added public property enableDebug to Matterbridge.
10
+ - [debug]: Added parameter -debug to the command line.
11
+
12
+ ### Fixed
13
+
14
+ - [plugin]: Fixed the plugin.paired and plugin.commissioned in bridge mode.
15
+ - [routes]: Fixed the plugin devices route.
16
+ - [bridge]: Fixed the BasicInformationCluster in bridge mode.
17
+
18
+ ## [1.1.4] - 2024-03-10
19
+
20
+ ### Changed
21
+
22
+ - [cli]: Updated the loading from cli.
23
+
24
+
5
25
  ## [1.1.3] - 2024-03-10
6
26
 
7
27
  ### Added
package/README.md CHANGED
@@ -1,11 +1,9 @@
1
- # Matterbridge
1
+ # <img src="https://github.com/Luligu/matterbridge/blob/main/frontend/public/matterbridge%2064x64.png" alt="Matterbridge Logo" width="64px" height="64px">&nbsp;&nbsp;&nbsp;Matterbridge
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/matterbridge.svg)](https://www.npmjs.com/package/matterbridge)
4
4
  [![npm downloads](https://img.shields.io/npm/dt/matterbridge.svg)](https://www.npmjs.com/package/matterbridge)
5
5
 
6
-
7
6
  [![power by](https://img.shields.io/badge/powered%20by-node--ansi--logger-blue)](https://www.npmjs.com/package/node-ansi-logger)
8
-
9
7
  [![power by](https://img.shields.io/badge/powered%20by-node--persist--manager-blue)](https://www.npmjs.com/package/node-persist-manager)
10
8
 
11
9
  ---
@@ -27,16 +25,19 @@ any other ecosystem supporting Matter.
27
25
 
28
26
  The project is build on top of https://github.com/project-chip/matter.js.
29
27
 
30
- A special thank to Apollon77 for is incredible work.
28
+ A special thank to Apollon77 for his incredible work.
31
29
 
32
30
  ## Installation
33
31
 
34
32
  Follow these steps to install Matterbridge:
35
- ```
33
+
34
+ on Windows:
35
+ ``` powershell
36
36
  npm install -g matterbridge
37
37
  ```
38
- or
39
- ```
38
+
39
+ on Linux (you need the necessary permissions):
40
+ ``` bash
40
41
  sudo npm install -g matterbridge
41
42
  ```
42
43
 
@@ -73,7 +74,7 @@ matterbridge -help
73
74
 
74
75
  ## Frontend
75
76
 
76
- Matterbridge has a frontend (currently under development) available http://localhost:3000
77
+ Matterbridge has a frontend available on http://localhost:3000
77
78
 
78
79
  You can change the default port by adding the frontend parameter when you launch it.
79
80
  Here's how to specify a different port number:
@@ -125,6 +126,7 @@ Matterbridge can run as many plugins as you want.
125
126
  ## How to install a plugin
126
127
 
127
128
  To install i.e. https://github.com/Luligu/matterbridge-example-accessory-platform
129
+
128
130
  ```
129
131
  git clone https://github.com/Luligu/matterbridge-example-accessory-platform
130
132
  cd matterbridge-example-accessory-platform
@@ -136,17 +138,26 @@ Then add the plugin to Matterbridge
136
138
  matterbridge -add .\
137
139
  ```
138
140
 
139
- If you want to remove the plugin from Matterbridge
141
+ ### How to add a plugin to Matterbridge
142
+
143
+ ```
144
+ matterbridge -add .\
145
+ ```
146
+
147
+ ### How to remove a plugin from Matterbridge
148
+
140
149
  ```
141
150
  matterbridge -remove .\
142
151
  ```
143
152
 
144
- If you want to disable the plugin
153
+ ### How to disable a registerd plugin
154
+
145
155
  ```
146
156
  matterbridge -disable .\
147
157
  ```
148
158
 
149
- If you want to enable the plugin
159
+ ### How to enable a registerd plugin
160
+
150
161
  ```
151
162
  matterbridge -enable .\
152
163
  ```
@@ -165,10 +176,18 @@ Then change the name, version, description and author in the package.json.
165
176
  Add your plugin logic in platform.ts:
166
177
 
167
178
  ### onStart(reason?: string)
168
- The method onStart() is where you have to create your MatterbridgeDevice and add all needed clusters and command handlers. The method is called when Matterbridge load the plugin.
179
+ The method onStart() is where you have to create your MatterbridgeDevice and add all needed clusters and command handlers.
180
+
181
+ The MatterbridgeDevice class has the create cluster methods already done and all command handlers needed (see plugin examples).
182
+
183
+ The method is called when Matterbridge load the plugin.
169
184
 
170
185
  ### onConfigure()
171
- The method onConfigure() is where you can configure or initialize your device. The method is called when the platform is already commissioned.
186
+ The method onConfigure() is where you can configure or initialize your device.
187
+
188
+ The method is called when the platform is commissioned.
172
189
 
173
190
  ### onShutdown(reason?: string)
174
- The method onShutdown() is where you have to eventually cleanup some resources. The method is called when Matterbridge is shutting down.
191
+ The method onShutdown() is where you have to eventually cleanup some resources.
192
+
193
+ The method is called when Matterbridge is shutting down.
package/dist/cli.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
package/dist/cli.js ADDED
@@ -0,0 +1,13 @@
1
+ #!/usr/bin/env node
2
+ import { Matterbridge } from './matterbridge.js';
3
+ async function main() {
4
+ // eslint-disable-next-line no-console
5
+ console.log('Loading Matterbridge from cli');
6
+ await Matterbridge.loadInstance(true);
7
+ }
8
+ process.title = 'matterbridge';
9
+ main().catch((error) => {
10
+ // eslint-disable-next-line no-console
11
+ console.error(`Failed to initialize Matterbridge from cli: ${error}`);
12
+ });
13
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,KAAK,UAAU,IAAI;IACjB,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC;AAE/B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,+CAA+C,KAAK,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env node
2
1
  /**
3
2
  * This file contains the entry point of Matterbridge.
4
3
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,8BAA8B,CAAC;AAGtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,8BAA8B,CAAC;AAGtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env node
2
1
  /**
3
2
  * This file contains the entry point of Matterbridge.
4
3
  *
@@ -36,6 +35,8 @@ export * from './AirQualityCluster.js';
36
35
  export * from './ColorControlServer.js';
37
36
  export * from './TvocCluster.js';
38
37
  async function main() {
38
+ // eslint-disable-next-line no-console
39
+ console.log('Loading Matterbridge instance');
39
40
  await Matterbridge.loadInstance();
40
41
  }
41
42
  main().catch((error) => {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AAEjC,KAAK,UAAU,IAAI;IACjB,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;AACpC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AAEtD,cAAc,gBAAgB,CAAC;AAE/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AAEjC,KAAK,UAAU,IAAI;IACjB,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;AACpC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
@@ -42,7 +42,9 @@ export declare class Matterbridge {
42
42
  homeDirectory: string;
43
43
  rootDirectory: string;
44
44
  matterbridgeDirectory: string;
45
+ matterbridgeVersion: string;
45
46
  bridgeMode: 'bridge' | 'childbridge' | 'controller' | '';
47
+ debugEnabled: boolean;
46
48
  private log;
47
49
  private hasCleanupStarted;
48
50
  private registeredPlugins;
@@ -61,11 +63,10 @@ export declare class Matterbridge {
61
63
  private constructor();
62
64
  /**
63
65
  * Loads an instance of the Matterbridge class.
64
- * If an instance already exists, an error will be thrown.
66
+ * If an instance already exists, return that instance.
65
67
  * @returns The loaded instance of the Matterbridge class.
66
- * @throws Error if an instance of Matterbridge already exists.
67
68
  */
68
- static loadInstance(): Promise<Matterbridge>;
69
+ static loadInstance(cli?: boolean): Promise<Matterbridge>;
69
70
  /**
70
71
  * Initializes the Matterbridge application.
71
72
  *
@@ -86,10 +87,10 @@ export declare class Matterbridge {
86
87
  /**
87
88
  * Loads a plugin from the specified package.json file path.
88
89
  * @param packageJsonPath - The path to the package.json file of the plugin.
89
- * @param mode - The mode of operation. Possible values are 'load', 'add', 'remove', 'enable', 'disable'.
90
+ * @param mode - The mode of operation. Possible values are 'add', 'remove', 'enable', 'disable'.
90
91
  * @returns A Promise that resolves when the plugin is loaded successfully, or rejects with an error if loading fails.
91
92
  */
92
- private loadPlugin;
93
+ private executeCommandLine;
93
94
  /**
94
95
  * Registers the signal handlers for SIGINT and SIGTERM.
95
96
  * When either of these signals are received, the cleanup method is called with an appropriate message.
@@ -111,12 +112,14 @@ export declare class Matterbridge {
111
112
  * Adds a device to the Matterbridge.
112
113
  * @param pluginName - The name of the plugin.
113
114
  * @param device - The device to be added.
115
+ * @returns A Promise that resolves when the device is added successfully.
114
116
  */
115
117
  addDevice(pluginName: string, device: MatterbridgeDevice): Promise<void>;
116
118
  /**
117
119
  * Adds a bridged device to the Matterbridge.
118
120
  * @param pluginName - The name of the plugin.
119
121
  * @param device - The bridged device to add.
122
+ * @returns {Promise<void>} - A promise that resolves when the storage process is started.
120
123
  */
121
124
  addBridgedDevice(pluginName: string, device: MatterbridgeDevice): Promise<void>;
122
125
  /**
@@ -138,6 +141,10 @@ export declare class Matterbridge {
138
141
  * @returns {Promise<void>} A promise that resolves when the storage is stopped.
139
142
  */
140
143
  private stopStorage;
144
+ private testStartMatterBridge;
145
+ private startPlugin;
146
+ private configurePlugin;
147
+ private loadPlugin;
141
148
  /**
142
149
  * Starts the Matterbridge based on the bridge mode.
143
150
  * If the bridge mode is 'bridge', it creates a commissioning server, matter aggregator,
@@ -223,7 +230,8 @@ export declare class Matterbridge {
223
230
  * Logs the node and system information.
224
231
  */
225
232
  private logNodeAndSystemInfo;
226
- private getBaseRegisteredPlugin;
233
+ private getBaseRegisteredPlugins;
234
+ private getBaseRegisteredDevices;
227
235
  /**
228
236
  * Initializes the frontend of Matterbridge.
229
237
  *
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAsE7D,UAAU,iBAAiB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAKD;;GAEG;AACH,qBAAa,YAAY;IAChB,iBAAiB,EAAE,iBAAiB,CAYzC;IACK,aAAa,EAAG,MAAM,CAAC;IACvB,aAAa,EAAG,MAAM,CAAC;IACvB,qBAAqB,EAAG,MAAM,CAAC;IAE/B,UAAU,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,GAAG,EAAE,CAAM;IAErE,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,GAAG,CAAmB;IAE9B,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,uBAAuB,CAAkB;IAEjD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,uBAAuB,CAA2B;IAE1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IAEtC,OAAO;IAIP;;;;;OAKG;WACU,YAAY;IAUzB;;;;;;;;;OASG;IACU,UAAU;IAoDvB;;;;OAIG;YACW,gBAAgB;IA6D9B;;;;;OAKG;YACW,UAAU;IA4FxB;;;OAGG;YACW,sBAAsB;IAUpC;;;OAGG;YACW,OAAO;IA6CrB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;;;OAIG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;IAyC9D;;;;OAIG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB;IA2BrE;;;;;OAKG;YACW,YAAY;IAyB1B;;;;;OAKG;YACW,iBAAiB;IAkB/B;;;OAGG;YACW,WAAW;IAMzB;;;;;;;;OAQG;YACW,iBAAiB;YA2HjB,iBAAiB;IAK/B;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAwBxC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,gCAAgC;IAmCxC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IASlB;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IA2GhC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAuC9B;;OAEG;YACW,UAAU;IAUxB;;OAEG;YACW,oBAAoB;IA+ElC,OAAO,CAAC,uBAAuB;IAkB/B;;;;OAIG;IACG,kBAAkB,CAAC,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgH5D;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAsBjC"}
1
+ {"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}