matterbridge 1.1.12 → 1.2.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.
- package/CHANGELOG.md +22 -3
- package/README.md +52 -11
- package/dist/AirQualityCluster.d.ts.map +1 -1
- package/dist/AirQualityCluster.js +1 -10
- package/dist/AirQualityCluster.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/matterbridge.d.ts +89 -13
- package/dist/matterbridge.d.ts.map +1 -1
- package/dist/matterbridge.js +279 -53
- package/dist/matterbridge.js.map +1 -1
- package/dist/matterbridgeAccessoryPlatform.d.ts +3 -2
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -1
- package/dist/matterbridgeAccessoryPlatform.js +3 -2
- package/dist/matterbridgeAccessoryPlatform.js.map +1 -1
- package/dist/matterbridgeDevice.d.ts +60 -0
- package/dist/matterbridgeDevice.d.ts.map +1 -1
- package/dist/matterbridgeDevice.js +60 -0
- package/dist/matterbridgeDevice.js.map +1 -1
- package/dist/matterbridgeDynamicPlatform.d.ts +3 -2
- package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -1
- package/dist/matterbridgeDynamicPlatform.js +3 -2
- package/dist/matterbridgeDynamicPlatform.js.map +1 -1
- package/dist/matterbridgePlatform.d.ts +10 -11
- package/dist/matterbridgePlatform.d.ts.map +1 -1
- package/dist/matterbridgePlatform.js +10 -58
- package/dist/matterbridgePlatform.js.map +1 -1
- package/frontend/build/asset-manifest.json +6 -6
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/css/{main.70102d98.css → main.61f6cf42.css} +2 -2
- package/frontend/build/static/css/main.61f6cf42.css.map +1 -0
- package/frontend/build/static/js/main.e3553a4d.js +3 -0
- package/frontend/build/static/js/main.e3553a4d.js.map +1 -0
- package/package.json +8 -5
- package/Screenshot devices page.png +0 -0
- package/Screenshot home page.png +0 -0
- package/dist/ColorControlServer.d.ts +0 -86
- package/dist/ColorControlServer.d.ts.map +0 -1
- package/dist/ColorControlServer.js +0 -102
- package/dist/ColorControlServer.js.map +0 -1
- package/frontend/build/static/css/main.70102d98.css.map +0 -1
- package/frontend/build/static/js/main.5d39b100.js +0 -3
- package/frontend/build/static/js/main.5d39b100.js.map +0 -1
- /package/frontend/build/static/js/{main.5d39b100.js.LICENSE.txt → main.e3553a4d.js.LICENSE.txt} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,12 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## [1.1
|
|
5
|
+
## [1.2.1] - 2024-03-25
|
|
6
6
|
|
|
7
7
|
### Added
|
|
8
8
|
|
|
9
|
-
- [
|
|
10
|
-
- [
|
|
9
|
+
- [frontend]: Remove plugin from frontend.
|
|
10
|
+
- [frontend]: Add plugin from frontend.
|
|
11
|
+
- [workflow]: All packages now have a workflow on GitHub.
|
|
12
|
+
- [frontend]: Frontend got updated to 0.8.4.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- [frontend]: Fixed the restart needed message.
|
|
17
|
+
- [matterbridge]: Fixed the delay of loading from the cli.
|
|
18
|
+
- [matterbridge]: Fixed the count of devices removed.
|
|
19
|
+
|
|
20
|
+
## [1.2.0] - 2024-03-23
|
|
21
|
+
|
|
22
|
+
### Breaking change on plugin default entry point and platform constructor!
|
|
23
|
+
- [plugin default entry point]: export default function initializePlugin(matterbridge: Matterbridge, log: AnsiLogger, config: PlatformConfig)
|
|
24
|
+
- [platform constructor]: constructor(matterbridge: Matterbridge, log: AnsiLogger, config: PlatformConfig)
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
|
|
28
|
+
- [platform]: Added async loadPluginConfig() and async savePluginConfig() to store plugin config.
|
|
29
|
+
- [platform]: Added: config: PlatformConfig (JSON) property to platforms to store plugin config.
|
|
11
30
|
|
|
12
31
|
### Changed
|
|
13
32
|
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
Matterbridge is a
|
|
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.
|
|
@@ -33,12 +33,12 @@ A special thank to Apollon77 for his incredible work.
|
|
|
33
33
|
Follow these steps to install Matterbridge:
|
|
34
34
|
|
|
35
35
|
on Windows:
|
|
36
|
-
```
|
|
36
|
+
```
|
|
37
37
|
npm install -g matterbridge
|
|
38
38
|
```
|
|
39
39
|
|
|
40
40
|
on Linux (you need the necessary permissions):
|
|
41
|
-
```
|
|
41
|
+
```
|
|
42
42
|
sudo npm install -g matterbridge
|
|
43
43
|
```
|
|
44
44
|
|
|
@@ -46,6 +46,7 @@ Test the installation with:
|
|
|
46
46
|
```
|
|
47
47
|
matterbridge -bridge
|
|
48
48
|
```
|
|
49
|
+
|
|
49
50
|
Now it is possible to open the frontend at the link provided (default: http://localhost:3000)
|
|
50
51
|
|
|
51
52
|
## Usage
|
|
@@ -87,10 +88,10 @@ matterbridge -childbridge -frontend [port number]
|
|
|
87
88
|
```
|
|
88
89
|
|
|
89
90
|
Home page:
|
|
90
|
-

|
|
91
92
|
|
|
92
93
|
Devices page:
|
|
93
|
-

|
|
94
95
|
|
|
95
96
|
## Plugins
|
|
96
97
|
|
|
@@ -98,7 +99,7 @@ Devices page:
|
|
|
98
99
|
|
|
99
100
|
This an example of an accessory platform plugin.
|
|
100
101
|
|
|
101
|
-
It exposes a cover device that
|
|
102
|
+
It exposes a cover device that continuously moves position and shows how to use the command handlers (you can control the device).
|
|
102
103
|
|
|
103
104
|
An Accessory platform plugin only exposes one device.
|
|
104
105
|
|
|
@@ -110,7 +111,7 @@ This an example of a dynamic platform plugin.
|
|
|
110
111
|
|
|
111
112
|
It exposes a switch with onOff, a light with onOff-levelControl-colorControl, an outlet with onOff and a cover device.
|
|
112
113
|
|
|
113
|
-
All these devices
|
|
114
|
+
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
115
|
|
|
115
116
|
A Dynamic platform plugin exposes as many devices as you need (the limit for the Home app is 150 accessories for bridge).
|
|
116
117
|
|
|
@@ -130,6 +131,10 @@ Matterbridge can run as many plugins as you want.
|
|
|
130
131
|
|
|
131
132
|
[Room plugin with history](https://github.com/Luligu/matterbridge-eve-room)
|
|
132
133
|
|
|
134
|
+
### Production-level plugins
|
|
135
|
+
|
|
136
|
+
[zigbee2mqtt](https://github.com/Luligu/matterbridge-zigbee2mqtt)
|
|
137
|
+
|
|
133
138
|
## How to install and register a production-level plugin (from npm)
|
|
134
139
|
|
|
135
140
|
To install i.e. https://github.com/Luligu/matterbridge-zigbee2mqtt
|
|
@@ -148,7 +153,7 @@ sudo npm install -g matterbridge-zigbee2mqtt
|
|
|
148
153
|
matterbridge -add matterbridge-zigbee2mqtt
|
|
149
154
|
```
|
|
150
155
|
|
|
151
|
-
## How to install and register a plugin for development (from
|
|
156
|
+
## How to install and register a plugin for development (from github)
|
|
152
157
|
|
|
153
158
|
To install i.e. https://github.com/Luligu/matterbridge-example-accessory-platform
|
|
154
159
|
|
|
@@ -162,15 +167,16 @@ On linux:
|
|
|
162
167
|
cd ~/Matterbridge
|
|
163
168
|
```
|
|
164
169
|
|
|
165
|
-
then
|
|
170
|
+
then clone the plugin
|
|
166
171
|
|
|
167
172
|
```
|
|
168
173
|
git clone https://github.com/Luligu/matterbridge-example-accessory-platform
|
|
169
174
|
cd matterbridge-example-accessory-platform
|
|
170
175
|
npm install
|
|
176
|
+
npm run build
|
|
171
177
|
```
|
|
172
178
|
|
|
173
|
-
|
|
179
|
+
then add the plugin to Matterbridge
|
|
174
180
|
```
|
|
175
181
|
matterbridge -add .\
|
|
176
182
|
```
|
|
@@ -221,7 +227,8 @@ The plugin name.
|
|
|
221
227
|
The plugin platform type.
|
|
222
228
|
|
|
223
229
|
### config: object
|
|
224
|
-
The plugin config (loaded before
|
|
230
|
+
The plugin config (loaded before the platform constructor is called and saved after onShutdown() is called).
|
|
231
|
+
Here you can store your plugin configuration (see matterbridge-zigbee2mqtt for example)
|
|
225
232
|
|
|
226
233
|
### async onStart(reason?: string)
|
|
227
234
|
The method onStart() is where you have to create your MatterbridgeDevice and add all needed clusters and command handlers.
|
|
@@ -253,3 +260,37 @@ It can be useful to call this method from onShutdown() if you don't want to keep
|
|
|
253
260
|
|
|
254
261
|
## MatterbridgeDevice api
|
|
255
262
|
|
|
263
|
+
|
|
264
|
+
# Contribution Guidelines
|
|
265
|
+
|
|
266
|
+
Thank you for your interest in contributing to my project!
|
|
267
|
+
|
|
268
|
+
I warmly welcome contributions to this project! Whether it's reporting bugs, proposing new features, updating documentation, or writing code, your help is greatly appreciated.
|
|
269
|
+
|
|
270
|
+
## Getting Started
|
|
271
|
+
|
|
272
|
+
- Fork this repository to your own GitHub account and clone it to your local device.
|
|
273
|
+
- Make the necessary changes and test them out
|
|
274
|
+
- Commit your changes and push to your forked repository
|
|
275
|
+
|
|
276
|
+
## Submitting Changes
|
|
277
|
+
|
|
278
|
+
- Create a new pull request from my repository and I'll be glad to check it out
|
|
279
|
+
- Be sure to follow the existing code style
|
|
280
|
+
- Add unit tests for any new or changed functionality if possible
|
|
281
|
+
- In your pull request, do describe what your changes do and how they work
|
|
282
|
+
|
|
283
|
+
## Code of Conduct
|
|
284
|
+
|
|
285
|
+
We believe in a welcoming and respectful community for all. Please make sure to follow our [Code of Conduct](LINK_TO_CODE_OF_CONDUCT) in all your interactions with the project.
|
|
286
|
+
|
|
287
|
+
## Support
|
|
288
|
+
|
|
289
|
+
If you find this project helpful and you wish to support the ongoing development, you can do so by buying me a coffee.
|
|
290
|
+
Click on the badge below to get started:
|
|
291
|
+
|
|
292
|
+
<a href="https://www.buymeacoffee.com/luligugithub">
|
|
293
|
+
<img src="./yellow-button.png" alt="Buy me a coffee" width="120">
|
|
294
|
+
</a>
|
|
295
|
+
|
|
296
|
+
Thank you for your support!
|
|
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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,
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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"}
|
package/dist/matterbridge.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @file matterbridge.ts
|
|
5
5
|
* @author Luca Liguori
|
|
6
6
|
* @date 2023-12-29
|
|
7
|
-
* @version 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
|
-
*
|
|
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
|
-
*
|
|
130
|
-
* @param message - The
|
|
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
|
|
225
|
-
*
|
|
226
|
-
*
|
|
227
|
-
*
|
|
228
|
-
*
|
|
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;
|
|
1
|
+
{"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}
|