matterbridge 1.1.12 → 1.2.0

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 (43) hide show
  1. package/CHANGELOG.md +7 -3
  2. package/README.md +4 -4
  3. package/dist/AirQualityCluster.d.ts.map +1 -1
  4. package/dist/AirQualityCluster.js +1 -10
  5. package/dist/AirQualityCluster.js.map +1 -1
  6. package/dist/index.d.ts +0 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +0 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/matterbridge.d.ts +89 -13
  11. package/dist/matterbridge.d.ts.map +1 -1
  12. package/dist/matterbridge.js +154 -29
  13. package/dist/matterbridge.js.map +1 -1
  14. package/dist/matterbridgeAccessoryPlatform.d.ts +3 -2
  15. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -1
  16. package/dist/matterbridgeAccessoryPlatform.js +3 -2
  17. package/dist/matterbridgeAccessoryPlatform.js.map +1 -1
  18. package/dist/matterbridgeDevice.d.ts +60 -0
  19. package/dist/matterbridgeDevice.d.ts.map +1 -1
  20. package/dist/matterbridgeDevice.js +60 -0
  21. package/dist/matterbridgeDevice.js.map +1 -1
  22. package/dist/matterbridgeDynamicPlatform.d.ts +3 -2
  23. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -1
  24. package/dist/matterbridgeDynamicPlatform.js +3 -2
  25. package/dist/matterbridgeDynamicPlatform.js.map +1 -1
  26. package/dist/matterbridgePlatform.d.ts +10 -11
  27. package/dist/matterbridgePlatform.d.ts.map +1 -1
  28. package/dist/matterbridgePlatform.js +10 -58
  29. package/dist/matterbridgePlatform.js.map +1 -1
  30. package/frontend/build/asset-manifest.json +6 -6
  31. package/frontend/build/index.html +1 -1
  32. package/frontend/build/static/css/{main.70102d98.css → main.b996bc4e.css} +2 -2
  33. package/frontend/build/static/css/main.b996bc4e.css.map +1 -0
  34. package/frontend/build/static/js/{main.5d39b100.js → main.657bca15.js} +3 -3
  35. package/frontend/build/static/js/main.657bca15.js.map +1 -0
  36. package/package.json +5 -3
  37. package/dist/ColorControlServer.d.ts +0 -86
  38. package/dist/ColorControlServer.d.ts.map +0 -1
  39. package/dist/ColorControlServer.js +0 -102
  40. package/dist/ColorControlServer.js.map +0 -1
  41. package/frontend/build/static/css/main.70102d98.css.map +0 -1
  42. package/frontend/build/static/js/main.5d39b100.js.map +0 -1
  43. /package/frontend/build/static/js/{main.5d39b100.js.LICENSE.txt → main.657bca15.js.LICENSE.txt} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,12 +2,16 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- ## [1.1.12] - 2024-03-22
5
+ ## [1.2.0] - 2024-03-23
6
+
7
+ ### Breaking change on plugin default entry point and platform constructor!
8
+ - [plugin default entry point]: export default function initializePlugin(matterbridge: Matterbridge, log: AnsiLogger, config: PlatformConfig)
9
+ - [platform constructor]: constructor(matterbridge: Matterbridge, log: AnsiLogger, config: PlatformConfig)
6
10
 
7
11
  ### Added
8
12
 
9
- - [platform]: Added async loadConfig() and async saveConfig() to store plugin config.
10
- - [platform]: Added a config: Config (JSON) property to platforms to store plugin config.
13
+ - [platform]: Added async loadPluginConfig() and async savePluginConfig() to store plugin config.
14
+ - [platform]: Added: config: PlatformConfig (JSON) property to platforms to store plugin config.
11
15
 
12
16
  ### Changed
13
17
 
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
  ---
11
11
 
12
12
 
13
- Matterbridge is a Matter.js plugin manager.
13
+ Matterbridge is a matter.js plugin manager.
14
14
 
15
15
  It allows you to have all your Matter devices up and running in a couple of minutes without
16
16
  having to deal with the pairing process of each single device.
@@ -98,7 +98,7 @@ Devices page:
98
98
 
99
99
  This an example of an accessory platform plugin.
100
100
 
101
- It exposes a cover device that continouosly moves position and shows how to use the command handlers (you can control the device).
101
+ It exposes a cover device that continuously moves position and shows how to use the command handlers (you can control the device).
102
102
 
103
103
  An Accessory platform plugin only exposes one device.
104
104
 
@@ -110,7 +110,7 @@ This an example of a dynamic platform plugin.
110
110
 
111
111
  It exposes a switch with onOff, a light with onOff-levelControl-colorControl, an outlet with onOff and a cover device.
112
112
 
113
- All these devices continouosly change state and position. The plugin also shows how to use all the command handlers (you can control all the devices).
113
+ All these devices continuously change state and position. The plugin also shows how to use all the command handlers (you can control all the devices).
114
114
 
115
115
  A Dynamic platform plugin exposes as many devices as you need (the limit for the Home app is 150 accessories for bridge).
116
116
 
@@ -221,7 +221,7 @@ The plugin name.
221
221
  The plugin platform type.
222
222
 
223
223
  ### config: object
224
- The plugin config (loaded before onStart() is called and save after onShutdown() is called).
224
+ The plugin config (loaded before onStart() is called and saved after onShutdown() is called).
225
225
 
226
226
  ### async onStart(reason?: string)
227
227
  The method onStart() is where you have to create your MatterbridgeDevice and add all needed clusters and command handlers.
@@ -1 +1 @@
1
- {"version":3,"file":"AirQualityCluster.d.ts","sourceRoot":"","sources":["../src/AirQualityCluster.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAGlG,yBAAiB,UAAU,CAAC;IAC1B,KAAY,OAAO;QACjB,cAAc,mBAAmB;QACjC,kBAAkB,uBAAuB;QACzC,kBAAkB,uBAAuB;QACzC,uBAAuB,4BAA4B;KACpD;IAED,KAAY,cAAc;QACxB,OAAO,IAAI;QACX,IAAI,IAAI;QACR,IAAI,IAAI;QACR,QAAQ,IAAI;QACZ,IAAI,IAAI;QACR,QAAQ,IAAI;QACZ,aAAa,IAAI;KAClB;IAEM,MAAM,IAAI;;;;;;;;;;;;;MAef,CAAC;IAEI,MAAM,uBAAuB,mCAA+B,CAAC;IAC7D,MAAM,2BAA2B,mCAA+B,CAAC;IACjE,MAAM,2BAA2B,mCAA+B,CAAC;IACjE,MAAM,gCAAgC,mCAA+B,CAAC;IAEtE,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuBnB,CAAC;IAEF,KAAY,SAAS,CAAC,EAAE,SAAS,wBAAwB,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,mBAAmB,CAAC,GAAG;QAAE,iBAAiB,EAAE,EAAE,CAAA;KAAE,GAAG,CAAC,EAAE,SAAS;QAChK,cAAc,EAAE,IAAI,CAAC;KACtB,GACG,OAAO,uBAAuB,GAC9B,EAAE,CAAC,GACP,CAAC,EAAE,SAAS;QAAE,kBAAkB,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,2BAA2B,GAAG,EAAE,CAAC,GACnF,CAAC,EAAE,SAAS;QAAE,kBAAkB,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,2BAA2B,GAAG,EAAE,CAAC,GACnF,CAAC,EAAE,SAAS;QAAE,uBAAuB,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,gCAAgC,GAAG,EAAE,CAAC,CAAC;CACjG;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,UAAU,CAAC,OAAO,CAAC;AAC1D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAqB,CAAC"}
1
+ {"version":3,"file":"AirQualityCluster.d.ts","sourceRoot":"","sources":["../src/AirQualityCluster.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAGlG,yBAAiB,UAAU,CAAC;IAC1B,KAAY,OAAO;QACjB,cAAc,mBAAmB;QACjC,kBAAkB,uBAAuB;QACzC,kBAAkB,uBAAuB;QACzC,uBAAuB,4BAA4B;KACpD;IAED,KAAY,cAAc;QACxB,OAAO,IAAI;QACX,IAAI,IAAI;QACR,IAAI,IAAI;QACR,QAAQ,IAAI;QACZ,IAAI,IAAI;QACR,QAAQ,IAAI;QACZ,aAAa,IAAI;KAClB;IAEM,MAAM,IAAI;;;;;;;;;;;;;MAef,CAAC;IAEI,MAAM,uBAAuB,mCAA+B,CAAC;IAC7D,MAAM,2BAA2B,mCAA+B,CAAC;IACjE,MAAM,2BAA2B,mCAA+B,CAAC;IACjE,MAAM,gCAAgC,mCAA+B,CAAC;IAEtE,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAenB,CAAC;IAEF,KAAY,SAAS,CAAC,EAAE,SAAS,wBAAwB,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,mBAAmB,CAAC,GAAG;QAAE,iBAAiB,EAAE,EAAE,CAAA;KAAE,GAAG,CAAC,EAAE,SAAS;QAChK,cAAc,EAAE,IAAI,CAAC;KACtB,GACG,OAAO,uBAAuB,GAC9B,EAAE,CAAC,GACP,CAAC,EAAE,SAAS;QAAE,kBAAkB,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,2BAA2B,GAAG,EAAE,CAAC,GACnF,CAAC,EAAE,SAAS;QAAE,kBAAkB,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,2BAA2B,GAAG,EAAE,CAAC,GACnF,CAAC,EAAE,SAAS;QAAE,uBAAuB,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,gCAAgC,GAAG,EAAE,CAAC,CAAC;CACjG;AAED,MAAM,MAAM,iBAAiB,GAAG,OAAO,UAAU,CAAC,OAAO,CAAC;AAC1D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAqB,CAAC"}
@@ -63,16 +63,7 @@ export var AirQuality;
63
63
  AirQuality.ModerateAirQualityComponent = ClusterFactory.Component({});
64
64
  AirQuality.VeryPoorAirQualityComponent = ClusterFactory.Component({});
65
65
  AirQuality.ExtremelyPoorAirQualityComponent = ClusterFactory.Component({});
66
- AirQuality.Cluster = ClusterFactory.Extensible(AirQuality.Base,
67
- /**
68
- * Use this factory method to create a Switch cluster with support for optional features. Include each
69
- * {@link Feature} you wish to support.
70
- *
71
- * @param features the optional features to support
72
- * @returns a Switch cluster with specified features enabled
73
- * @throws {IllegalClusterError} if the feature combination is disallowed by the Matter specification
74
- */
75
- (...features) => {
66
+ AirQuality.Cluster = ClusterFactory.Extensible(AirQuality.Base, (...features) => {
76
67
  ClusterFactory.validateFeatureSelection(features, Feature);
77
68
  const cluster = ClusterFactory.Definition({
78
69
  ...AirQuality.Base,
@@ -1 +1 @@
1
- {"version":3,"file":"AirQualityCluster.js","sourceRoot":"","sources":["../src/AirQualityCluster.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,oDAAoD;AACpD,iDAAiD;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAA4B,MAAM,qCAAqC,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,MAAM,KAAW,UAAU,CAyE1B;AAzED,WAAiB,UAAU;IACzB,IAAY,OAKX;IALD,WAAY,OAAO;QACjB,4CAAiC,CAAA;QACjC,oDAAyC,CAAA;QACzC,oDAAyC,CAAA;QACzC,8DAAmD,CAAA;IACrD,CAAC,EALW,OAAO,GAAP,kBAAO,KAAP,kBAAO,QAKlB;IAED,IAAY,cAQX;IARD,WAAY,cAAc;QACxB,yDAAW,CAAA;QACX,mDAAQ,CAAA;QACR,mDAAQ,CAAA;QACR,2DAAY,CAAA;QACZ,mDAAQ,CAAA;QACR,2DAAY,CAAA;QACZ,qEAAiB,CAAA;IACnB,CAAC,EARW,cAAc,GAAd,yBAAc,KAAd,yBAAc,QAQzB;IAEY,eAAI,GAAG,cAAc,CAAC,UAAU,CAAC;QAC5C,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,CAAC;QAEX,QAAQ,EAAE;YACR,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1B,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9B,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9B,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAAC;SACpC;QAED,UAAU,EAAE;YACV,UAAU,EAAE,SAAS,CAAC,GAAG,EAAE,OAAO,EAAkB,CAAC;SACtD;KACF,CAAC,CAAC;IAEU,kCAAuB,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvD,sCAA2B,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3D,sCAA2B,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3D,2CAAgC,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAEhE,kBAAO,GAAG,cAAc,CAAC,UAAU,CAC9C,WAAA,IAAI;IAEJ;;;;;;;OAOG;IACH,CAA2B,GAAG,QAAgB,EAAE,EAAE;QAChD,cAAc,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;YACxC,GAAG,WAAA,IAAI;YACP,iBAAiB,EAAE,QAAQ,CAAC,WAAA,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;SACxD,CAAC,CAAC;QACH,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAA,uBAAuB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAA,2BAA2B,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAA,2BAA2B,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAA,gCAAgC,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,OAAO,OAAkE,CAAC;IAC5E,CAAC,CACF,CAAC;AAUJ,CAAC,EAzEgB,UAAU,KAAV,UAAU,QAyE1B;AAGD,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"AirQualityCluster.js","sourceRoot":"","sources":["../src/AirQualityCluster.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,oDAAoD;AACpD,iDAAiD;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAA4B,MAAM,qCAAqC,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAE3D,MAAM,KAAW,UAAU,CAiE1B;AAjED,WAAiB,UAAU;IACzB,IAAY,OAKX;IALD,WAAY,OAAO;QACjB,4CAAiC,CAAA;QACjC,oDAAyC,CAAA;QACzC,oDAAyC,CAAA;QACzC,8DAAmD,CAAA;IACrD,CAAC,EALW,OAAO,GAAP,kBAAO,KAAP,kBAAO,QAKlB;IAED,IAAY,cAQX;IARD,WAAY,cAAc;QACxB,yDAAW,CAAA;QACX,mDAAQ,CAAA;QACR,mDAAQ,CAAA;QACR,2DAAY,CAAA;QACZ,mDAAQ,CAAA;QACR,2DAAY,CAAA;QACZ,qEAAiB,CAAA;IACnB,CAAC,EARW,cAAc,GAAd,yBAAc,KAAd,yBAAc,QAQzB;IAEY,eAAI,GAAG,cAAc,CAAC,UAAU,CAAC;QAC5C,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,CAAC;QAEX,QAAQ,EAAE;YACR,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;YAC1B,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9B,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9B,uBAAuB,EAAE,OAAO,CAAC,CAAC,CAAC;SACpC;QAED,UAAU,EAAE;YACV,UAAU,EAAE,SAAS,CAAC,GAAG,EAAE,OAAO,EAAkB,CAAC;SACtD;KACF,CAAC,CAAC;IAEU,kCAAuB,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvD,sCAA2B,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3D,sCAA2B,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3D,2CAAgC,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAEhE,kBAAO,GAAG,cAAc,CAAC,UAAU,CAC9C,WAAA,IAAI,EAEJ,CAA2B,GAAG,QAAgB,EAAE,EAAE;QAChD,cAAc,CAAC,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;YACxC,GAAG,WAAA,IAAI;YACP,iBAAiB,EAAE,QAAQ,CAAC,WAAA,IAAI,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;SACxD,CAAC,CAAC;QACH,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAA,uBAAuB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAA,2BAA2B,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAA,2BAA2B,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAA,gCAAgC,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,OAAO,OAAkE,CAAC;IAC5E,CAAC,CACF,CAAC;AAUJ,CAAC,EAjEgB,UAAU,KAAV,UAAU,QAiE1B;AAGD,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC"}
package/dist/index.d.ts CHANGED
@@ -31,6 +31,5 @@ export * from './matterbridgeDevice.js';
31
31
  export * from './matterbridgeAccessoryPlatform.js';
32
32
  export * from './matterbridgeDynamicPlatform.js';
33
33
  export * from './AirQualityCluster.js';
34
- export * from './ColorControlServer.js';
35
34
  export * from './TvocCluster.js';
36
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
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"}
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,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -32,7 +32,6 @@ export * from './matterbridgeDevice.js';
32
32
  export * from './matterbridgeAccessoryPlatform.js';
33
33
  export * from './matterbridgeDynamicPlatform.js';
34
34
  export * from './AirQualityCluster.js';
35
- export * from './ColorControlServer.js';
36
35
  export * from './TvocCluster.js';
37
36
  async function main() {
38
37
  // eslint-disable-next-line no-console
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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,0CAA0C,CAAC,CAAC;IACxD,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;IAClC,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;AAC1D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,wDAAwD,KAAK,EAAE,CAAC,CAAC;AACjF,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,kBAAkB,CAAC;AAEjC,KAAK,UAAU,IAAI;IACjB,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;IAClC,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;AAC1D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,wDAAwD,KAAK,EAAE,CAAC,CAAC;AACjF,CAAC,CAAC,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * @file matterbridge.ts
5
5
  * @author Luca Liguori
6
6
  * @date 2023-12-29
7
- * @version 1.1.1
7
+ * @version 1.2.0
8
8
  *
9
9
  * Copyright 2023, 2024 Luca Liguori.
10
10
  *
@@ -23,6 +23,10 @@
23
23
  /// <reference types="node" resolution-mode="require"/>
24
24
  import { MatterbridgeDevice } from './matterbridgeDevice.js';
25
25
  import EventEmitter from 'events';
26
+ export type PlatformConfigValue = string | number | boolean | bigint | object | undefined | null;
27
+ export type PlatformConfig = {
28
+ [key: string]: PlatformConfigValue;
29
+ };
26
30
  interface SystemInformation {
27
31
  ipv4Address: string;
28
32
  ipv6Address: string;
@@ -81,7 +85,9 @@ export declare class Matterbridge extends EventEmitter {
81
85
  /**
82
86
  * Loads an instance of the Matterbridge class.
83
87
  * If an instance already exists, return that instance.
84
- * @returns The loaded instance of the Matterbridge class.
88
+ *
89
+ * @param initialize - Whether to initialize the Matterbridge instance after loading.
90
+ * @returns The loaded Matterbridge instance.
85
91
  */
86
92
  static loadInstance(initialize?: boolean): Promise<Matterbridge>;
87
93
  /**
@@ -108,6 +114,11 @@ export declare class Matterbridge extends EventEmitter {
108
114
  * @returns {Promise<void>} A promise that resolves when the command line arguments have been processed.
109
115
  */
110
116
  private parseCommandLine;
117
+ /**
118
+ * Resolves the name of a plugin by loading and parsing its package.json file.
119
+ * @param pluginPath - The path to the plugin or the path to the plugin's package.json file.
120
+ * @returns The path to the resolved package.json file, or null if the package.json file is not found or does not contain a name.
121
+ */
111
122
  private resolvePluginName;
112
123
  /**
113
124
  * Loads a plugin from the specified package.json file path.
@@ -126,8 +137,10 @@ export declare class Matterbridge extends EventEmitter {
126
137
  */
127
138
  private restartProcess;
128
139
  /**
129
- * Performs cleanup operations before shutting down Matterbridge.
130
- * @param message - The reason for the cleanup.
140
+ * Cleans up the Matterbridge instance.
141
+ * @param message - The cleanup message.
142
+ * @param restart - Indicates whether to restart the instance after cleanup. Default is `false`.
143
+ * @returns A promise that resolves when the cleanup is completed.
131
144
  */
132
145
  private cleanup;
133
146
  /**
@@ -151,6 +164,12 @@ export declare class Matterbridge extends EventEmitter {
151
164
  * @returns {Promise<void>} - A promise that resolves when the storage process is started.
152
165
  */
153
166
  addBridgedDevice(pluginName: string, device: MatterbridgeDevice): Promise<void>;
167
+ /**
168
+ * Removes a bridged device from the Matterbridge.
169
+ * @param pluginName - The name of the plugin.
170
+ * @param device - The device to be removed.
171
+ * @returns A Promise that resolves when the device is successfully removed.
172
+ */
154
173
  removeBridgedDevice(pluginName: string, device: MatterbridgeDevice): Promise<void>;
155
174
  /**
156
175
  * Removes all bridged devices associated with a specific plugin.
@@ -179,8 +198,55 @@ export declare class Matterbridge extends EventEmitter {
179
198
  */
180
199
  private stopStorage;
181
200
  private testStartMatterBridge;
201
+ /**
202
+ * Loads the configuration for a plugin.
203
+ * If the configuration file exists, it reads the file and returns the parsed JSON data.
204
+ * If the configuration file does not exist, it creates a new file with default configuration and returns it.
205
+ * If any error occurs during file access or creation, it logs an error and rejects the promise with the error.
206
+ *
207
+ * @param plugin - The plugin for which to load the configuration.
208
+ * @returns A promise that resolves to the loaded or created configuration.
209
+ */
210
+ private loadPluginConfig;
211
+ /**
212
+ * Saves the configuration of a registered plugin.
213
+ * @param {RegisteredPlugin} plugin - The plugin whose configuration needs to be saved.
214
+ * @returns {Promise<void>} - A promise that resolves when the configuration is successfully saved.
215
+ * @throws {Error} - If the plugin's configuration is not found or if there is an error while saving the configuration.
216
+ */
217
+ private savePluginConfig;
218
+ /**
219
+ * Writes data to a file.
220
+ *
221
+ * @param {string} filePath - The path of the file to write to.
222
+ * @param {string} data - The data to write to the file.
223
+ * @returns {Promise<void>} - A promise that resolves when the data is successfully written to the file.
224
+ */
225
+ private writeFile;
226
+ /**
227
+ * Starts a plugin.
228
+ *
229
+ * @param {RegisteredPlugin} plugin - The plugin to start.
230
+ * @param {string} [message] - Optional message to pass to the plugin's onStart method.
231
+ * @param {boolean} [configure=false] - Indicates whether to configure the plugin after starting.
232
+ * @returns {Promise<void>} A promise that resolves when the plugin is started successfully, or rejects with an error if starting the plugin fails.
233
+ */
182
234
  private startPlugin;
235
+ /**
236
+ * Configures a plugin.
237
+ *
238
+ * @param {RegisteredPlugin} plugin - The plugin to configure.
239
+ * @returns {Promise<void>} A promise that resolves when the plugin is configured successfully, or rejects with an error if configuration fails.
240
+ */
183
241
  private configurePlugin;
242
+ /**
243
+ * Loads a plugin and returns the corresponding MatterbridgePlatform instance.
244
+ * @param plugin - The plugin to load.
245
+ * @param start - Optional flag indicating whether to start the plugin after loading. Default is false.
246
+ * @param message - Optional message to pass to the plugin when starting.
247
+ * @returns A Promise that resolves to the loaded MatterbridgePlatform instance.
248
+ * @throws An error if the plugin is not enabled, already loaded, or fails to load.
249
+ */
184
250
  private loadPlugin;
185
251
  /**
186
252
  * Starts the Matterbridge based on the bridge mode.
@@ -192,6 +258,10 @@ export declare class Matterbridge extends EventEmitter {
192
258
  * @returns {Promise<void>} A promise that resolves when the Matterbridge is started.
193
259
  */
194
260
  private startMatterBridge;
261
+ /**
262
+ * Starts the Matter server.
263
+ * If the Matter server is not initialized, it logs an error and performs cleanup.
264
+ */
195
265
  private startMatterServer;
196
266
  /**
197
267
  * Imports the commissioning server context for a specific plugin and device.
@@ -221,15 +291,12 @@ export declare class Matterbridge extends EventEmitter {
221
291
  */
222
292
  private createCommissioningServerContext;
223
293
  /**
224
- * Shows the commissioning QR code for a given commissioning server, storage context, and name.
225
- * If any of the parameters are missing, the method returns early.
226
- * If the commissioning server is not commissioned, it logs the QR code and pairing code.
227
- * If the commissioning server is already commissioned, it waits for controllers to connect.
228
- * If the bridge mode is 'childbridge', it sets the 'paired' property of the plugin to true.
229
- *
230
- * @param commissioningServer - The commissioning server to show the QR code for.
231
- * @param storageContext - The storage context to store the pairing codes.
232
- * @param pluginName - The name of the commissioning server.
294
+ * Shows the commissioning QR code for a given plugin.
295
+ * @param {CommissioningServer} commissioningServer - The commissioning server instance.
296
+ * @param {StorageContext} storageContext - The storage context instance.
297
+ * @param {NodeStorage} nodeContext - The node storage instance.
298
+ * @param {string} pluginName - The name of the plugin.
299
+ * @returns {Promise<void>} - A promise that resolves when the QR code is shown.
233
300
  */
234
301
  private showCommissioningQRCode;
235
302
  /**
@@ -278,7 +345,16 @@ export declare class Matterbridge extends EventEmitter {
278
345
  * Logs the node and system information.
279
346
  */
280
347
  private logNodeAndSystemInfo;
348
+ /**
349
+ * Retrieves an array of base registered plugins.
350
+ *
351
+ * @returns {BaseRegisteredPlugin[]} An array of base registered plugins.
352
+ */
281
353
  private getBaseRegisteredPlugins;
354
+ /**
355
+ * Retrieves an array of base registered devices from the registered plugins.
356
+ * @returns {BaseRegisteredPlugin[]} An array of base registered devices.
357
+ */
282
358
  private getBaseRegisteredDevices;
283
359
  /**
284
360
  * Initializes the frontend of Matterbridge.
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;AAEH,OAAO,EAAE,kBAAkB,EAAgC,MAAM,yBAAyB,CAAC;AAQ3F,OAAO,YAAY,MAAM,QAAQ,CAAC;AAoElC,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;AAMD;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IACrC,iBAAiB,EAAE,iBAAiB,CAYzC;IAEK,uBAAuB;;;;;;;;;;MAU5B;IAEK,aAAa,EAAE,MAAM,CAAM;IAC3B,aAAa,EAAE,MAAM,CAAM;IAC3B,qBAAqB,EAAE,MAAM,CAAM;IACnC,2BAA2B,EAAE,MAAM,CAAM;IACzC,sBAAsB,EAAE,MAAM,CAAM;IACpC,mBAAmB,EAAE,MAAM,CAAM;IACjC,yBAAyB,EAAE,MAAM,CAAM;IAEvC,UAAU,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,GAAG,EAAE,CAAM;IAC9D,YAAY,UAAS;IAE5B,OAAO,CAAC,GAAG,CAAc;IACzB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,WAAW,CAAiC;IACpD,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,aAAa,CAAqB;IAE1C,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,uBAAuB,CAA6B;IAE5D,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,uBAAuB,CAAsC;IAErE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAElD,OAAO;IAKP;;;;OAIG;WACU,YAAY,CAAC,UAAU,UAAQ;IAa5C;;;;;;;;;OASG;IACU,UAAU;IAuEvB;;;;;OAKG;YACW,YAAY;IAmC1B;;;;OAIG;YACW,gBAAgB;YAoGhB,iBAAiB;IAoC/B;;;;;OAKG;YACW,kBAAkB;IA8DhC;;;OAGG;YACW,sBAAsB;IAUpC;;OAEG;YACW,cAAc;IAQ5B;;;OAGG;YACW,OAAO;IAyFrB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;;;;OAKG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B9E;;;;;OAKG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/E,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DxF;;;;;OAKG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhE;;;;;OAKG;YACW,YAAY;IA0B1B;;;;;OAKG;YACW,iBAAiB;IAkB/B;;;OAGG;YACW,WAAW;YASX,qBAAqB;YA+CrB,WAAW;YA6BX,eAAe;YA4Bf,UAAU;IAgDxB;;;;;;;;OAQG;YACW,iBAAiB;YAwKjB,iBAAiB;IAW/B;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAwBxC;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,gCAAgC;IAuCxC;;;;;;;;;;OAUG;YACW,uBAAuB;IA8BrC;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IASlB;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAwIhC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAuC9B;;OAEG;YACW,UAAU;IAcxB;;;;OAIG;YACW,gBAAgB;IAY9B;;;OAGG;YACW,oBAAoB;IAYlC;;OAEG;YACW,oBAAoB;IAuIlC,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,wBAAwB;IAkBhC;;;;OAIG;IACG,kBAAkB,CAAC,IAAI,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAwM5D;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAsBjC"}
1
+ {"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}