matterbridge 1.1.2 → 1.1.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [1.1.3] - 2024-03-10
6
+
7
+ ### Added
8
+
9
+ - [onMatterStarted]: onMatterStarted() is called after matter server started.
10
+ - [onConfigure]: onConfigure() is called after the platform controller is commissioned.
11
+
12
+ ### Changed
13
+
14
+ - [dependencies]: Updated dependencies.
15
+
16
+ ### Fixed
17
+
18
+ - [Plugin route]: Fixed the plugin device route in frontend.
19
+
5
20
  ## [1.1.2] - 2024-03-08
6
21
 
7
22
  ### Added
package/README.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Matterbridge
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/matterbridge.svg)](https://www.npmjs.com/package/matterbridge)
4
+ [![npm downloads](https://img.shields.io/npm/dt/matterbridge.svg)](https://www.npmjs.com/package/matterbridge)
5
+
6
+
7
+ [![power by](https://img.shields.io/badge/powered%20by-node--ansi--logger-blue)](https://www.npmjs.com/package/node-ansi-logger)
8
+
9
+ [![power by](https://img.shields.io/badge/powered%20by-node--persist--manager-blue)](https://www.npmjs.com/package/node-persist-manager)
10
+
11
+ ---
12
+
13
+
3
14
  Matterbridge is a Matter.js plugin manager.
4
15
 
5
16
  It allows you to have all your Matter devices up and running in a couple of minutes without
@@ -24,10 +35,14 @@ Follow these steps to install Matterbridge:
24
35
  ```
25
36
  npm install -g matterbridge
26
37
  ```
38
+ or
39
+ ```
40
+ sudo npm install -g matterbridge
41
+ ```
27
42
 
28
43
  Test the installation with:
29
44
  ```
30
- matterbridge
45
+ matterbridge -bridge
31
46
  ```
32
47
  Now it is possible to open the frontend at the link provided (default: http://localhost:3000)
33
48
 
@@ -60,7 +75,7 @@ matterbridge -help
60
75
 
61
76
  Matterbridge has a frontend (currently under development) available http://localhost:3000
62
77
 
63
- You can change the port by adding the frontend parameter when you launch it.
78
+ You can change the default port by adding the frontend parameter when you launch it.
64
79
  Here's how to specify a different port number:
65
80
  ```
66
81
  matterbridge -bridge -frontend [port number]
@@ -95,10 +110,65 @@ Matterbridge can run as many plugins as you want.
95
110
 
96
111
  [See the plugin homepage here](https://github.com/Luligu/matterbridge-example-dynamic-platform)
97
112
 
98
- ### Example plugins to show the usage of history
113
+ ### Example plugins to show the usage of history in matter
99
114
 
100
115
  [Contact plugin with history](https://github.com/Luligu/matterbridge-eve-door)
101
116
 
102
117
  [Motion plugin with history](https://github.com/Luligu/matterbridge-eve-motion)
103
118
 
104
119
  [Energy plugin with history](https://github.com/Luligu/matterbridge-eve-energy)
120
+
121
+ [Weather plugin with history](https://github.com/Luligu/matterbridge-eve-weather)
122
+
123
+ [Room plugin with history](https://github.com/Luligu/matterbridge-eve-room)
124
+
125
+ ## How to install a plugin
126
+
127
+ To install i.e. https://github.com/Luligu/matterbridge-example-accessory-platform
128
+ ```
129
+ git clone https://github.com/Luligu/matterbridge-example-accessory-platform
130
+ cd matterbridge-example-accessory-platform
131
+ npm install
132
+ ```
133
+
134
+ Then add the plugin to Matterbridge
135
+ ```
136
+ matterbridge -add .\
137
+ ```
138
+
139
+ If you want to remove the plugin from Matterbridge
140
+ ```
141
+ matterbridge -remove .\
142
+ ```
143
+
144
+ If you want to disable the plugin
145
+ ```
146
+ matterbridge -disable .\
147
+ ```
148
+
149
+ If you want to enable the plugin
150
+ ```
151
+ matterbridge -enable .\
152
+ ```
153
+
154
+ ## How to create your plugin
155
+
156
+ The easiest way is to clone:
157
+
158
+ - https://github.com/Luligu/matterbridge-example-accessory-platform if you want to create an Accessory Platform Plugin.
159
+
160
+
161
+ - https://github.com/Luligu/matterbridge-example-dynamic-platform if you want to create a Dynamic Platform Plugin.
162
+
163
+ Then change the name, version, description and author in the package.json.
164
+
165
+ Add your plugin logic in platform.ts:
166
+
167
+ ### 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.
169
+
170
+ ### onConfigure()
171
+ The method onConfigure() is where you can configure or initialize your device. The method is called when the platform is already commissioned.
172
+
173
+ ### 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.
Binary file
Binary file
@@ -148,6 +148,7 @@ export declare class Matterbridge {
148
148
  * @returns {Promise<void>} A promise that resolves when the Matterbridge is started.
149
149
  */
150
150
  private startMatterBridge;
151
+ private startMatterServer;
151
152
  /**
152
153
  * Imports the commissioning server context for a specific plugin and device.
153
154
  * @param pluginName - The name of the plugin.
@@ -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;AAuG7D,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;IA2D9B;;;;;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;IAyH/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;IAwGhC;;;;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;IAkH5D;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAsBjC"}
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"}
@@ -184,6 +184,8 @@ export class Matterbridge {
184
184
  }
185
185
  // Start the storage (we need it now for frontend and later for matterbridge)
186
186
  await this.startStorage('json', path.join(this.matterbridgeDirectory, 'matterbridge.json'));
187
+ this.log.debug(`Creating commissioning server context for ${plg}Matterbridge${db}`);
188
+ this.matterbridgeContext = this.createCommissioningServerContext('Matterbridge', 'Matterbridge', DeviceTypes.AGGREGATOR.code, 0xfff1, 'Matterbridge', 0x8000, 'Matterbridge aggregator');
187
189
  // Initialize frontend
188
190
  await this.initializeFrontend(getIntParameter('frontend'));
189
191
  if (hasParameter('childbridge')) {
@@ -517,23 +519,26 @@ export class Matterbridge {
517
519
  */
518
520
  async startMatterBridge() {
519
521
  this.log.debug('Starting matterbridge in mode', this.bridgeMode);
520
- await this.createMatterServer(this.storageManager);
522
+ this.createMatterServer(this.storageManager);
521
523
  if (this.bridgeMode === 'bridge') {
522
524
  // Plugins are loaded by loadPlugin on startup and plugin.loaded is set to true
523
525
  // Plugins are started by callback when Matterbridge is commissioned and plugin.started is set to true
524
- this.log.debug('Creating commissioning server context for Matterbridge');
525
- this.matterbridgeContext = this.createCommissioningServerContext('Matterbridge', 'Matterbridge', DeviceTypes.AGGREGATOR.code, 0xfff1, 'Matterbridge', 0x8000, 'Matterbridge aggragator');
526
- this.log.debug('Creating commissioning server for Matterbridge');
526
+ this.log.debug(`Creating commissioning server context for ${plg}Matterbridge${db}`);
527
+ this.matterbridgeContext = this.createCommissioningServerContext('Matterbridge', 'Matterbridge', DeviceTypes.AGGREGATOR.code, 0xfff1, 'Matterbridge', 0x8000, 'Matterbridge aggregator');
528
+ this.log.debug(`Creating commissioning server for ${plg}Matterbridge${db}`);
527
529
  this.commissioningServer = this.createCommisioningServer(this.matterbridgeContext, 'Matterbridge');
528
- this.log.debug('Creating matter aggregator for matterbridge');
530
+ this.log.debug(`Creating matter aggregator for ${plg}Matterbridge${db}`);
529
531
  this.matterAggregator = this.createMatterAggregator(this.matterbridgeContext);
530
- this.log.debug('Adding matterbridge aggregator to matterbridge commissioning server');
532
+ this.log.debug('Adding matterbridge aggregator to commissioning server');
531
533
  this.commissioningServer.addDevice(this.matterAggregator);
532
534
  this.log.debug('Adding matterbridge commissioning server to matter server');
533
535
  await this.matterServer.addCommissioningServer(this.commissioningServer, { uniqueStorageKey: 'Matterbridge' });
534
536
  this.log.debug('Starting matter server');
535
- await this.matterServer.start();
536
- this.log.debug('Started matter server');
537
+ await this.startMatterServer();
538
+ this.registeredPlugins.forEach(async (plugin) => {
539
+ if (plugin.platform)
540
+ await plugin.platform.onMatterStarted();
541
+ });
537
542
  this.showCommissioningQRCode(this.commissioningServer, this.matterbridgeContext, 'Matterbridge');
538
543
  }
539
544
  if (this.bridgeMode === 'childbridge') {
@@ -626,9 +631,10 @@ export class Matterbridge {
626
631
  });
627
632
  });
628
633
  this.log.debug('Starting matter server');
629
- await this.matterServer.start();
630
- this.log.debug('Started matter server');
634
+ await this.startMatterServer();
631
635
  this.registeredPlugins.forEach(async (plugin) => {
636
+ if (plugin.platform)
637
+ await plugin.platform.onMatterStarted();
632
638
  this.showCommissioningQRCode(plugin.commissioningServer, plugin.storageContext, plugin.name);
633
639
  });
634
640
  Logger.defaultLogLevel = Level.DEBUG;
@@ -637,6 +643,10 @@ export class Matterbridge {
637
643
  return;
638
644
  }
639
645
  }
646
+ async startMatterServer() {
647
+ await this.matterServer.start();
648
+ this.log.debug('Started matter server');
649
+ }
640
650
  /**
641
651
  * Imports the commissioning server context for a specific plugin and device.
642
652
  * @param pluginName - The name of the plugin.
@@ -829,6 +839,10 @@ export class Matterbridge {
829
839
  });
830
840
  Logger.defaultLogLevel = Level.DEBUG;
831
841
  }
842
+ this.registeredPlugins.forEach(async (plugin) => {
843
+ if (plugin.name === name && plugin.platform)
844
+ plugin.platform.onConfigure();
845
+ });
832
846
  //logEndpoint(commissioningServer.getRootEndpoint());
833
847
  }, 2000);
834
848
  }
@@ -998,24 +1012,22 @@ export class Matterbridge {
998
1012
  * @param port The port number to run the frontend server on. Default is 3000.
999
1013
  */
1000
1014
  async initializeFrontend(port = 3000) {
1001
- this.log.debug(`Initializing the frontend on port ${YELLOW}${port}${db} static ${UNDERLINE}${path.join(this.rootDirectory, 'frontend/build')}${rs}`);
1015
+ this.log.debug(`Initializing the frontend on port ${YELLOW}${port}${db} static ${UNDERLINE}${path.join(this.rootDirectory, 'frontend/build')}${UNDERLINEOFF}${rs}`);
1002
1016
  this.app = express();
1003
1017
  // Serve React build directory
1004
1018
  this.app.use(express.static(path.join(this.rootDirectory, 'frontend/build')));
1005
1019
  // Endpoint to provide QR pairing code
1006
1020
  this.app.get('/api/qr-code', (req, res) => {
1007
1021
  this.log.debug('The frontend sent /api/qr-code');
1008
- if (this.bridgeMode === 'childbridge') {
1009
- this.log.debug('qrPairingCode for /api/qr-code not available in childbridge mode');
1010
- res.json({});
1011
- return;
1012
- }
1022
+ if (!this.matterbridgeContext)
1023
+ this.matterbridgeContext = this.createCommissioningServerContext('Matterbridge', 'Matterbridge', DeviceTypes.AGGREGATOR.code, 0xfff1, 'Matterbridge', 0x8000, 'Matterbridge aggregator');
1013
1024
  try {
1014
1025
  const qrData = { qrPairingCode: this.matterbridgeContext.get('qrPairingCode'), manualPairingCode: this.matterbridgeContext.get('manualPairingCode') };
1015
1026
  res.json(qrData);
1016
1027
  }
1017
1028
  catch (error) {
1018
- this.log.error('qrPairingCode for /api/qr-code not found');
1029
+ if (this.bridgeMode === 'bridge')
1030
+ this.log.error('qrPairingCode for /api/qr-code not found');
1019
1031
  res.json({});
1020
1032
  }
1021
1033
  });
@@ -1058,10 +1070,11 @@ export class Matterbridge {
1058
1070
  res.json(data);
1059
1071
  });
1060
1072
  // Endpoint to provide the cluster servers of the devices
1061
- this.app.get('/api/devices_clusters/:selectedPluginName', (req, res) => {
1073
+ this.app.get('/api/devices_clusters/:selectedPluginName/:selectedDeviceEndpoint', (req, res) => {
1062
1074
  const selectedPluginName = req.params.selectedPluginName;
1063
- this.log.debug('The frontend sent /api/devices_clusters', selectedPluginName);
1064
- if (selectedPluginName === 'none') {
1075
+ const selectedDeviceEndpoint = req.params.selectedDeviceEndpoint;
1076
+ this.log.debug(`The frontend sent /api/devices_clusters plugin:${selectedPluginName} endpoint:${selectedDeviceEndpoint}`);
1077
+ if (selectedPluginName === 'none' /* || selectedDeviceEndpoint === 'none'*/) {
1065
1078
  res.json([]);
1066
1079
  return;
1067
1080
  }
@@ -1105,9 +1118,9 @@ export class Matterbridge {
1105
1118
  res.sendFile(path.join(this.rootDirectory, 'frontend/build/index.html'));
1106
1119
  });
1107
1120
  this.app.listen(port, () => {
1108
- this.log.info(`The frontend is running on ${UNDERLINE}http://localhost:${port}${rs}`);
1121
+ this.log.info(`The frontend is running on ${UNDERLINE}http://localhost:${port}${UNDERLINEOFF}${rs}`);
1109
1122
  });
1110
- this.log.debug(`Frontend initialized on port ${YELLOW}${port}${db} static ${UNDERLINE}${path.join(this.rootDirectory, 'frontend/build')}${rs}`);
1123
+ this.log.debug(`Frontend initialized on port ${YELLOW}${port}${db} static ${UNDERLINE}${path.join(this.rootDirectory, 'frontend/build')}${UNDERLINEOFF}${rs}`);
1111
1124
  }
1112
1125
  /**
1113
1126
  * Retrieves the cluster text from a given device.
@@ -1151,6 +1164,28 @@ export class Matterbridge {
1151
1164
  }
1152
1165
  }
1153
1166
  /*
1167
+ TO IMPLEMENT
1168
+ import * as WebSocket from 'ws';
1169
+
1170
+ const wss = new WebSocket.Server({ port: 8080 });
1171
+
1172
+ wss.on('connection', ws => {
1173
+ ws.on('message', message => {
1174
+ console.log(`Received message => ${message}`)
1175
+ });
1176
+
1177
+ // Send a message to the frontend
1178
+ ws.send('Hello from backend!');
1179
+ });
1180
+
1181
+ const ws = new WebSocket('ws://localhost:8080');
1182
+
1183
+ ws.onmessage = (event) => {
1184
+ console.log(`Received message => ${event.data}`);
1185
+ };
1186
+
1187
+ */
1188
+ /*
1154
1189
  npx create-react-app matterbridge-frontend
1155
1190
  cd matterbridge-frontend
1156
1191
  npm install react-router-dom
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridge.js","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matterbridge.js","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}
@@ -40,16 +40,31 @@ export declare class MatterbridgeAccessoryPlatform {
40
40
  constructor(matterbridge: Matterbridge, log: AnsiLogger);
41
41
  /**
42
42
  * This method must be overridden in the extended class.
43
+ * It is called when the platform is started.
44
+ * Use this method to create the MatterbridgeDevice and call this.registerDevice().
43
45
  * @param {string} [reason] - The reason for starting.
44
46
  * @throws {Error} - Throws an error if the method is not overridden.
45
47
  */
46
48
  onStart(reason?: string): Promise<void>;
47
49
  /**
48
50
  * This method must be overridden in the extended class.
51
+ * It is called when the platform is shutting down.
52
+ * Use this method to clean up any resources.
49
53
  * @param {string} [reason] - The reason for shutting down.
50
54
  * @throws {Error} - Throws an error if the method is not overridden.
51
55
  */
52
56
  onShutdown(reason?: string): Promise<void>;
57
+ /**
58
+ * This method can be overridden in the extended class.
59
+ * It is called after matter server started.
60
+ */
61
+ onMatterStarted(): Promise<void>;
62
+ /**
63
+ * This method can be overridden in the extended class.
64
+ * It is called after the platform has been commissioned.
65
+ * Use this method to perform any configuration of your devices.
66
+ */
67
+ onConfigure(): Promise<void>;
53
68
  /**
54
69
  * Registers a device with the Matterbridge platform.
55
70
  * @param {MatterbridgeDevice} device - The device to register.
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridgeAccessoryPlatform.d.ts","sourceRoot":"","sources":["../src/matterbridgeAccessoryPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;GAGG;AACH,qBAAa,6BAA6B;IACxC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,IAAI,CAAuB;IAEnC;;;;OAIG;gBACS,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU;IAOvD;;;;OAIG;IACG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IAK7B;;;;OAIG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;IAKhC;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;CAGhD"}
1
+ {"version":3,"file":"matterbridgeAccessoryPlatform.d.ts","sourceRoot":"","sources":["../src/matterbridgeAccessoryPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;GAGG;AACH,qBAAa,6BAA6B;IACxC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IACrC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC;IAC1B,OAAO,CAAC,IAAI,CAAM;IAClB,OAAO,CAAC,IAAI,CAAuB;IAEnC;;;;OAIG;gBACS,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU;IAOvD;;;;;;OAMG;IACG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IAK7B;;;;;;OAMG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;IAKhC;;;OAGG;IACG,eAAe;IAIrB;;;;OAIG;IACG,WAAW;IAIjB;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB;CAGhD"}
@@ -41,6 +41,8 @@ export class MatterbridgeAccessoryPlatform {
41
41
  }
42
42
  /**
43
43
  * This method must be overridden in the extended class.
44
+ * It is called when the platform is started.
45
+ * Use this method to create the MatterbridgeDevice and call this.registerDevice().
44
46
  * @param {string} [reason] - The reason for starting.
45
47
  * @throws {Error} - Throws an error if the method is not overridden.
46
48
  */
@@ -50,6 +52,8 @@ export class MatterbridgeAccessoryPlatform {
50
52
  }
51
53
  /**
52
54
  * This method must be overridden in the extended class.
55
+ * It is called when the platform is shutting down.
56
+ * Use this method to clean up any resources.
53
57
  * @param {string} [reason] - The reason for shutting down.
54
58
  * @throws {Error} - Throws an error if the method is not overridden.
55
59
  */
@@ -57,6 +61,21 @@ export class MatterbridgeAccessoryPlatform {
57
61
  this.log.error('Plugins must override onShutdown.', reason);
58
62
  throw new Error('Plugins must override onShutdown.');
59
63
  }
64
+ /**
65
+ * This method can be overridden in the extended class.
66
+ * It is called after matter server started.
67
+ */
68
+ async onMatterStarted() {
69
+ this.log.debug("The plugin doesn't override onMatterStarted.");
70
+ }
71
+ /**
72
+ * This method can be overridden in the extended class.
73
+ * It is called after the platform has been commissioned.
74
+ * Use this method to perform any configuration of your devices.
75
+ */
76
+ async onConfigure() {
77
+ this.log.debug("The plugin doesn't override onConfigure.");
78
+ }
60
79
  /**
61
80
  * Registers a device with the Matterbridge platform.
62
81
  * @param {MatterbridgeDevice} device - The device to register.
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridgeAccessoryPlatform.js","sourceRoot":"","sources":["../src/matterbridgeAccessoryPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH;;;GAGG;AACH,MAAM,OAAO,6BAA6B;IAC9B,YAAY,CAAe;IAC3B,GAAG,CAAa;IAClB,IAAI,GAAG,EAAE,CAAC,CAAC,uEAAuE;IAClF,IAAI,GAAG,mBAAmB,CAAC;IAEnC;;;;OAIG;IACH,YAAY,YAA0B,EAAE,GAAe;QACrD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAEf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAe;QAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAe;QAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,MAA0B;QAC7C,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;CACF"}
1
+ {"version":3,"file":"matterbridgeAccessoryPlatform.js","sourceRoot":"","sources":["../src/matterbridgeAccessoryPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH;;;GAGG;AACH,MAAM,OAAO,6BAA6B;IAC9B,YAAY,CAAe;IAC3B,GAAG,CAAa;IAClB,IAAI,GAAG,EAAE,CAAC,CAAC,uEAAuE;IAClF,IAAI,GAAG,mBAAmB,CAAC;IAEnC;;;;OAIG;IACH,YAAY,YAA0B,EAAE,GAAe;QACrD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAEf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,MAAe;QAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,MAAe;QAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,MAA0B;QAC7C,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=matterbridgeController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgeController.d.ts","sourceRoot":"","sources":["../src/matterbridgeController.ts"],"names":[],"mappings":""}