matterbridge 1.2.11 → 1.2.13

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 (35) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/README.md +31 -26
  3. package/dist/BridgedDeviceBasicInformationCluster.d.ts +223 -0
  4. package/dist/BridgedDeviceBasicInformationCluster.d.ts.map +1 -0
  5. package/dist/BridgedDeviceBasicInformationCluster.js +176 -0
  6. package/dist/BridgedDeviceBasicInformationCluster.js.map +1 -0
  7. package/dist/cli.js +10 -5
  8. package/dist/cli.js.map +1 -1
  9. package/dist/index.js +4 -2
  10. package/dist/index.js.map +1 -1
  11. package/dist/matterbridge.d.ts +12 -0
  12. package/dist/matterbridge.d.ts.map +1 -1
  13. package/dist/matterbridge.js +232 -44
  14. package/dist/matterbridge.js.map +1 -1
  15. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -1
  16. package/dist/matterbridgeAccessoryPlatform.js.map +1 -1
  17. package/dist/matterbridgeDevice.d.ts +71 -6
  18. package/dist/matterbridgeDevice.d.ts.map +1 -1
  19. package/dist/matterbridgeDevice.js +50 -2
  20. package/dist/matterbridgeDevice.js.map +1 -1
  21. package/dist/matterbridgePlatform.d.ts +1 -0
  22. package/dist/matterbridgePlatform.d.ts.map +1 -1
  23. package/dist/matterbridgePlatform.js +1 -0
  24. package/dist/matterbridgePlatform.js.map +1 -1
  25. package/frontend/build/asset-manifest.json +6 -6
  26. package/frontend/build/index.html +1 -1
  27. package/frontend/build/static/css/main.979e07d2.css +2 -0
  28. package/frontend/build/static/css/main.979e07d2.css.map +1 -0
  29. package/frontend/build/static/js/{main.60e6f24a.js → main.742e4290.js} +3 -3
  30. package/frontend/build/static/js/main.742e4290.js.map +1 -0
  31. package/package.json +2 -2
  32. package/frontend/build/static/css/main.1880392b.css +0 -2
  33. package/frontend/build/static/css/main.1880392b.css.map +0 -1
  34. package/frontend/build/static/js/main.60e6f24a.js.map +0 -1
  35. /package/frontend/build/static/js/{main.60e6f24a.js.LICENSE.txt → main.742e4290.js.LICENSE.txt} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,13 +2,45 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [1.2.13] - 2024-05-04
6
+
7
+ ### Added
8
+
9
+ - [frontend]: Added plugin version check (you can update from the badge)
10
+ - [frontend]: Added tooltip to plugin name showing plugin path
11
+ - [matterbridge]: The plugin config file is no more saved on shutdown.
12
+ - [matterbridge]: Added plugin version check
13
+ - [frontend]: When you install a plugin now it is also added
14
+ - [frontend]: Added current and latest release to the badge in the Header section (you can update from the badge)
15
+ - [docker]: Added the docker image:dev on the docker hub with architectures: linux/amd64, linux/arm64, linux/arm/v7
16
+
17
+ <a href="https://www.buymeacoffee.com/luligugithub">
18
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
19
+ </a>
20
+
21
+ ## [1.2.12] - 2024-04-30
22
+
23
+ ### Added
24
+
25
+ - [frontend]: Added the device child enpoints to the table in the Devices page
26
+ - [docker]: Added architectures to the docker image on the docker hub: linux/amd64, linux/arm64
27
+ - [frontend]: Frontend updated to 0.8.9.
28
+ - [frontend]: Added error in the logger level on the Settings page.
29
+ - [frontend]: Added unregister all devices in the Settings page. Matterbridge will shutdown to allow unregistering.
30
+ - [frontend]: Added reset in the Settings page. Matterbridge will shutdown to allow the reset.
31
+ - [frontend]: Added factoryreset in the Settings page. Matterbridge will shutdown to allow the factoryreset.
32
+
33
+ <a href="https://www.buymeacoffee.com/luligugithub">
34
+ <img src="./yellow-button.png" alt="Buy me a coffee" width="120">
35
+ </a>
36
+
5
37
  ## [1.2.11] - 2024-04-25
6
38
 
7
39
  ### Added
8
40
 
9
41
  - [matterbridge]: Added user to system information.
10
42
  - [frontend]: Persist the filter selection (debug level and search criteria) in the Logs route.
11
- - [frontend]: Added version and two badges for bridgeMode and restartMode.
43
+ - [frontend]: Added on the header the version and two badges for bridgeMode and restartMode.
12
44
  - [frontend]: Frontend updated to 0.8.8.
13
45
  - [docker]: Added support for docker (BETA). The Matterbridge image is published on the docker hub.
14
46
  - [docker]: See the guidelines on https://github.com/Luligu/matterbridge?tab=readme-ov-file#Run-the-Docker-container-and-start-it.
package/README.md CHANGED
@@ -381,23 +381,29 @@ sudo systemctl enable matterbridge.service
381
381
  sudo systemctl disable matterbridge.service
382
382
  ```
383
383
 
384
- ## Run matterbridge with docker (Linux only) BETA
384
+ ## Run matterbridge with docker (Linux only)
385
385
 
386
- The Matterbridge docker image is published on the docker hub.
386
+ The Matterbridge Docker image, which includes a manifest list for the linux/amd64 and linux/arm64 architectures, is published on Docker Hub.
387
387
 
388
- ### Run the Docker container and start it
389
- The container has full access to the host network (needed for mdns).
388
+ ### First create the Matterbridge directories
389
+
390
+ This will create the required directories if they don't exist
390
391
 
391
- The volume matterbridge_plugin connects to the internal Matterbridge plugin directory (Matterbridge).
392
+ ```
393
+ cd ~
394
+ mkdir -p ./Matterbridge
395
+ mkdir -p ./.matterbridge
396
+ sudo chown -R $USER:$USER ./Matterbridge ./.matterbridge
397
+ ```
392
398
 
393
- The volume matterbridge_storage connects to the internal Matterbridge storage directory (.matterbridge).
399
+ ### Run the Docker container and start it
400
+
401
+ The container has full access to the host network (needed for mdns).
394
402
 
395
403
  ```
396
- docker volume create matterbridge_plugin
397
- docker volume create matterbridge_storage
398
404
  docker run --name matterbridge \
399
- -v matterbridge_plugin:/root/Matterbridge \
400
- -v matterbridge_storage:/root/.matterbridge \
405
+ -v ${HOME}/Matterbridge:/root/Matterbridge \
406
+ -v ${HOME}/.matterbridge:/root/.matterbridge \
401
407
  --network host --restart always -d luligu/matterbridge:latest
402
408
  ```
403
409
 
@@ -413,14 +419,12 @@ services:
413
419
  network_mode: host # Ensures the Matter mdns works
414
420
  restart: always # Ensures the container always restarts automatically
415
421
  volumes:
416
- - plugin:/root/Matterbridge
417
- - storage:/root/.matterbridge
418
-
419
- volumes:
420
- plugin:
421
- storage:
422
+ - "${HOME}/Matterbridge:/root/Matterbridge" # Mounts the Matterbridge plugin directory
423
+ - "${HOME}/.matterbridge:/root/.matterbridge" # Mounts the Matterbridge storage directory
422
424
  ```
423
- Run with docker compose
425
+ copy it in the home directory or edit the existing one to add the matterbridge service.
426
+
427
+ Then start docker compose with:
424
428
 
425
429
  ```
426
430
  docker compose up -d
@@ -431,6 +435,16 @@ docker compose up -d
431
435
  docker compose down
432
436
  ```
433
437
 
438
+ ### Update with docker compose
439
+ ```
440
+ docker compose pull
441
+ ```
442
+
443
+ ### Inspect the container
444
+ ```
445
+ docker container inspect matterbridge
446
+ ```
447
+
434
448
  ### Start the Docker container
435
449
  ```
436
450
  docker start matterbridge
@@ -456,15 +470,6 @@ docker logs matterbridge
456
470
  docker logs --tail 1000 -f matterbridge
457
471
  ```
458
472
 
459
- ### Inspect the Matterbridge plugin volume
460
- ```
461
- docker volume inspect matterbridge_plugin
462
- ```
463
-
464
- ### Inspect the Matterbridge storage volume
465
- ```
466
- docker volume inspect matterbridge_storage
467
- ```
468
473
 
469
474
  # Contribution Guidelines
470
475
 
@@ -0,0 +1,223 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /*** THIS FILE IS GENERATED, DO NOT EDIT ***/
7
+ import { MutableCluster } from '@project-chip/matter-node.js/cluster';
8
+ import { OptionalFixedAttribute, OptionalWritableAttribute, Attribute, OptionalEvent, Event } from '@project-chip/matter-node.js/cluster';
9
+ import { TypeFromSchema } from '@project-chip/matter-node.js/tlv';
10
+ import { Identity } from '@project-chip/matter-node.js/util';
11
+ export declare namespace BridgedDeviceBasicInformation {
12
+ enum ProductFinish {
13
+ Other = 0,
14
+ Matte = 1,
15
+ Satin = 2,
16
+ Polished = 3,
17
+ Rugged = 4,
18
+ Fabric = 5
19
+ }
20
+ enum Color {
21
+ Black = 0,
22
+ Navy = 1,
23
+ Green = 2,
24
+ Teal = 3,
25
+ Maroon = 4,
26
+ Purple = 5,
27
+ Olive = 6,
28
+ Gray = 7,
29
+ Blue = 8,
30
+ Lime = 9,
31
+ Aqua = 10,
32
+ Red = 11,
33
+ Fuchsia = 12,
34
+ Yellow = 13,
35
+ White = 14,
36
+ Nickel = 15,
37
+ Chrome = 16,
38
+ Brass = 17,
39
+ Copper = 18,
40
+ Silver = 19,
41
+ Gold = 20
42
+ }
43
+ const TlvProductAppearanceStruct: import("@project-chip/matter-node.js/tlv").ObjectSchema<{
44
+ finish: import("@project-chip/matter-node.js/tlv").FieldType<ProductFinish>;
45
+ primaryColor: import("@project-chip/matter-node.js/tlv").FieldType<Color | null>;
46
+ }>;
47
+ interface ProductAppearanceStruct extends TypeFromSchema<typeof TlvProductAppearanceStruct> {
48
+ }
49
+ /**
50
+ * Body of the BridgedDeviceBasicInformation startUp event
51
+ *
52
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5
53
+ */
54
+ const TlvStartUpEvent: import("@project-chip/matter-node.js/tlv").ObjectSchema<{
55
+ softwareVersion: import("@project-chip/matter-node.js/tlv").FieldType<number>;
56
+ }>;
57
+ /**
58
+ * Body of the BridgedDeviceBasicInformation startUp event
59
+ *
60
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5
61
+ */
62
+ interface StartUpEvent extends TypeFromSchema<typeof TlvStartUpEvent> {
63
+ }
64
+ /**
65
+ * Body of the BridgedDeviceBasicInformation reachableChanged event
66
+ *
67
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5.1
68
+ */
69
+ const TlvReachableChangedEvent: import("@project-chip/matter-node.js/tlv").ObjectSchema<{
70
+ reachableNewValue: import("@project-chip/matter-node.js/tlv").FieldType<boolean>;
71
+ }>;
72
+ /**
73
+ * Body of the BridgedDeviceBasicInformation reachableChanged event
74
+ *
75
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5.1
76
+ */
77
+ interface ReachableChangedEvent extends TypeFromSchema<typeof TlvReachableChangedEvent> {
78
+ }
79
+ /**
80
+ * @see {@link Cluster}
81
+ */
82
+ const ClusterInstance: MutableCluster<{
83
+ readonly id: 57;
84
+ readonly name: "BridgedDeviceBasicInformation";
85
+ readonly revision: 2;
86
+ readonly attributes: {
87
+ /**
88
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
89
+ */
90
+ readonly vendorName: OptionalFixedAttribute<string, any>;
91
+ /**
92
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
93
+ */
94
+ readonly vendorId: OptionalFixedAttribute<import("@project-chip/matter-node.js/datatype").VendorId, any>;
95
+ /**
96
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
97
+ */
98
+ readonly productName: OptionalFixedAttribute<string, any>;
99
+ /**
100
+ * This attribute shall specify the Product ID assigned by the vendor that is unique to the specific
101
+ * product of the Node.
102
+ *
103
+ * @see {@link MatterSpecification.v11.Core} § 11.1.5.5
104
+ */
105
+ readonly productId: OptionalFixedAttribute<number, any>;
106
+ /**
107
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
108
+ */
109
+ readonly nodeLabel: OptionalWritableAttribute<string, any>;
110
+ /**
111
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
112
+ */
113
+ readonly hardwareVersion: OptionalFixedAttribute<number, any>;
114
+ /**
115
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
116
+ */
117
+ readonly hardwareVersionString: OptionalFixedAttribute<string, any>;
118
+ /**
119
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
120
+ */
121
+ readonly softwareVersion: OptionalFixedAttribute<number, any>;
122
+ /**
123
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
124
+ */
125
+ readonly softwareVersionString: OptionalFixedAttribute<string, any>;
126
+ /**
127
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
128
+ */
129
+ readonly manufacturingDate: OptionalFixedAttribute<string, any>;
130
+ /**
131
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
132
+ */
133
+ readonly partNumber: OptionalFixedAttribute<string, any>;
134
+ /**
135
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
136
+ */
137
+ readonly productUrl: OptionalFixedAttribute<string, any>;
138
+ /**
139
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
140
+ */
141
+ readonly productLabel: OptionalFixedAttribute<string, any>;
142
+ /**
143
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
144
+ */
145
+ readonly serialNumber: OptionalFixedAttribute<string, any>;
146
+ /**
147
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
148
+ */
149
+ readonly reachable: Attribute<boolean, any>;
150
+ /**
151
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
152
+ */
153
+ readonly uniqueId: OptionalFixedAttribute<string, any>;
154
+ readonly productAppearance: OptionalFixedAttribute<import("@project-chip/matter-node.js/tlv").TypeFromFields<{
155
+ finish: import("@project-chip/matter-node.js/tlv").FieldType<ProductFinish>;
156
+ primaryColor: import("@project-chip/matter-node.js/tlv").FieldType<Color | null>;
157
+ }>, any>;
158
+ };
159
+ readonly events: {
160
+ /**
161
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5
162
+ */
163
+ readonly startUp: OptionalEvent<import("@project-chip/matter-node.js/tlv").TypeFromFields<{
164
+ softwareVersion: import("@project-chip/matter-node.js/tlv").FieldType<number>;
165
+ }>, any>;
166
+ /**
167
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5
168
+ */
169
+ readonly shutDown: OptionalEvent<void, any>;
170
+ /**
171
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5
172
+ */
173
+ readonly leave: OptionalEvent<void, any>;
174
+ /**
175
+ * This event shall be generated when there is a change in the Reachable attribute. Its purpose is to
176
+ * provide an indication towards interested parties that the reachability of a bridged device (over the
177
+ * non-Matter network) has changed, so they may take appropriate action.
178
+ *
179
+ * After (re)start of a bridge this event may be generated.
180
+ *
181
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5.1
182
+ */
183
+ readonly reachableChanged: Event<import("@project-chip/matter-node.js/tlv").TypeFromFields<{
184
+ reachableNewValue: import("@project-chip/matter-node.js/tlv").FieldType<boolean>;
185
+ }>, any>;
186
+ };
187
+ }>;
188
+ /**
189
+ * Bridged Device Basic Information
190
+ *
191
+ * This Cluster serves two purposes towards a Node communicating with a Bridge:
192
+ *
193
+ * • Indicate that the functionality on the Endpoint where it is placed (and its Parts) is bridged from a
194
+ * non-Matter technology, and
195
+ *
196
+ * • Provide a centralized collection of attributes that the Node may collect to aid in conveying information
197
+ * regarding the Bridged Device to a user, such as the vendor name, the model name, or user-assigned name.
198
+ *
199
+ * This cluster shall be exposed by a Bridge on the Endpoint representing each Bridged Device. When the
200
+ * functionality of a Bridged Device is represented using a set of Endpoints, this cluster shall only be exposed on
201
+ * the Endpoint which is at the top of the hierarchy for the functionality of that Bridged Device.
202
+ *
203
+ * This cluster shall NOT be used on an endpoint that is not in the Descriptor cluster PartsList of an endpoint
204
+ * with an Aggregator device type.
205
+ *
206
+ * This cluster has been derived from the Basic Information Cluster, and provides generic information about the
207
+ * Bridged Device. Not all of the attributes in the Basic Information Cluster are relevant for a Bridged Device
208
+ * (e.g. ProductID since it is not a Matter device). For other attributes, the information which is listed as
209
+ * Mandatory for the Basic Information Cluster, may not be available when the Bridged Device does not provide it to
210
+ * the Bridge, and the Bridge has no other means to determine it. For such cases where the information for a
211
+ * particular attribute is not available, the Bridge SHOULD NOT include the attribute in the cluster for this
212
+ * Bridged Device. See below for Conformance details.
213
+ *
214
+ * @see {@link MatterSpecification.v11.Core} § 9.13
215
+ */
216
+ interface Cluster extends Identity<typeof ClusterInstance> {
217
+ }
218
+ const Cluster: Cluster;
219
+ const Complete: Cluster;
220
+ }
221
+ export type BridgedDeviceBasicInformationCluster = BridgedDeviceBasicInformation.Cluster;
222
+ export declare const BridgedDeviceBasicInformationCluster: BridgedDeviceBasicInformation.Cluster;
223
+ //# sourceMappingURL=BridgedDeviceBasicInformationCluster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BridgedDeviceBasicInformationCluster.d.ts","sourceRoot":"","sources":["../src/BridgedDeviceBasicInformationCluster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6CAA6C;AAG7C,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAe,SAAS,EAAE,aAAa,EAAiB,KAAK,EAAE,MAAM,sCAAsC,CAAC;AAOtK,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAG7D,yBAAiB,6BAA6B,CAAC;IAC7C,KAAY,aAAa;QACvB,KAAK,IAAI;QACT,KAAK,IAAI;QACT,KAAK,IAAI;QACT,QAAQ,IAAI;QACZ,MAAM,IAAI;QACV,MAAM,IAAI;KACX;IAED,KAAY,KAAK;QACf,KAAK,IAAI;QACT,IAAI,IAAI;QACR,KAAK,IAAI;QACT,IAAI,IAAI;QACR,MAAM,IAAI;QACV,MAAM,IAAI;QACV,KAAK,IAAI;QACT,IAAI,IAAI;QACR,IAAI,IAAI;QACR,IAAI,IAAI;QACR,IAAI,KAAK;QACT,GAAG,KAAK;QACR,OAAO,KAAK;QACZ,MAAM,KAAK;QACX,KAAK,KAAK;QACV,MAAM,KAAK;QACX,MAAM,KAAK;QACX,KAAK,KAAK;QACV,MAAM,KAAK;QACX,MAAM,KAAK;QACX,IAAI,KAAK;KACV;IAEM,MAAM,0BAA0B;;;MAGrC,CAAC;IACH,UAAiB,uBAAwB,SAAQ,cAAc,CAAC,OAAO,0BAA0B,CAAC;KAAG;IAErG;;;;OAIG;IACI,MAAM,eAAe;;MAAyD,CAAC;IAEtF;;;;OAIG;IACH,UAAiB,YAAa,SAAQ,cAAc,CAAC,OAAO,eAAe,CAAC;KAAG;IAE/E;;;;OAIG;IACI,MAAM,wBAAwB;;MAA4D,CAAC;IAElG;;;;OAIG;IACH,UAAiB,qBAAsB,SAAQ,cAAc,CAAC,OAAO,wBAAwB,CAAC;KAAG;IAEjG;;OAEG;IACI,MAAM,eAAe;;;;;YAMxB;;eAEG;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;;;;eAKG;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;eAEG;;;;;;;;YAOH;;eAEG;;;;YAGH;;eAEG;;YAGH;;eAEG;;YAGH;;;;;;;;eAQG;;;;;MAGL,CAAC;IAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,UAAiB,OAAQ,SAAQ,QAAQ,CAAC,OAAO,eAAe,CAAC;KAAG;IAE7D,MAAM,OAAO,EAAE,OAAyB,CAAC;IACzC,MAAM,QAAQ,SAAU,CAAC;CACjC;AAED,MAAM,MAAM,oCAAoC,GAAG,6BAA6B,CAAC,OAAO,CAAC;AACzF,eAAO,MAAM,oCAAoC,uCAAwC,CAAC"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2024 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /*** THIS FILE IS GENERATED, DO NOT EDIT ***/
7
+ /* eslint-disable @typescript-eslint/no-namespace */
8
+ import { MutableCluster } from '@project-chip/matter-node.js/cluster';
9
+ import { OptionalFixedAttribute, OptionalWritableAttribute, AccessLevel, Attribute, OptionalEvent, EventPriority, Event } from '@project-chip/matter-node.js/cluster';
10
+ import { TlvString } from '@project-chip/matter-node.js/tlv';
11
+ import { TlvVendorId } from '@project-chip/matter-node.js/datatype';
12
+ import { TlvUInt16, TlvUInt32, TlvEnum } from '@project-chip/matter-node.js/tlv';
13
+ import { TlvBoolean } from '@project-chip/matter-node.js/tlv';
14
+ import { TlvObject, TlvField } from '@project-chip/matter-node.js/tlv';
15
+ import { TlvNullable } from '@project-chip/matter-node.js/tlv';
16
+ import { TlvNoArguments } from '@project-chip/matter-node.js/tlv';
17
+ import { ClusterRegistry } from '@project-chip/matter-node.js/cluster';
18
+ export var BridgedDeviceBasicInformation;
19
+ (function (BridgedDeviceBasicInformation) {
20
+ let ProductFinish;
21
+ (function (ProductFinish) {
22
+ ProductFinish[ProductFinish["Other"] = 0] = "Other";
23
+ ProductFinish[ProductFinish["Matte"] = 1] = "Matte";
24
+ ProductFinish[ProductFinish["Satin"] = 2] = "Satin";
25
+ ProductFinish[ProductFinish["Polished"] = 3] = "Polished";
26
+ ProductFinish[ProductFinish["Rugged"] = 4] = "Rugged";
27
+ ProductFinish[ProductFinish["Fabric"] = 5] = "Fabric";
28
+ })(ProductFinish = BridgedDeviceBasicInformation.ProductFinish || (BridgedDeviceBasicInformation.ProductFinish = {}));
29
+ let Color;
30
+ (function (Color) {
31
+ Color[Color["Black"] = 0] = "Black";
32
+ Color[Color["Navy"] = 1] = "Navy";
33
+ Color[Color["Green"] = 2] = "Green";
34
+ Color[Color["Teal"] = 3] = "Teal";
35
+ Color[Color["Maroon"] = 4] = "Maroon";
36
+ Color[Color["Purple"] = 5] = "Purple";
37
+ Color[Color["Olive"] = 6] = "Olive";
38
+ Color[Color["Gray"] = 7] = "Gray";
39
+ Color[Color["Blue"] = 8] = "Blue";
40
+ Color[Color["Lime"] = 9] = "Lime";
41
+ Color[Color["Aqua"] = 10] = "Aqua";
42
+ Color[Color["Red"] = 11] = "Red";
43
+ Color[Color["Fuchsia"] = 12] = "Fuchsia";
44
+ Color[Color["Yellow"] = 13] = "Yellow";
45
+ Color[Color["White"] = 14] = "White";
46
+ Color[Color["Nickel"] = 15] = "Nickel";
47
+ Color[Color["Chrome"] = 16] = "Chrome";
48
+ Color[Color["Brass"] = 17] = "Brass";
49
+ Color[Color["Copper"] = 18] = "Copper";
50
+ Color[Color["Silver"] = 19] = "Silver";
51
+ Color[Color["Gold"] = 20] = "Gold";
52
+ })(Color = BridgedDeviceBasicInformation.Color || (BridgedDeviceBasicInformation.Color = {}));
53
+ BridgedDeviceBasicInformation.TlvProductAppearanceStruct = TlvObject({
54
+ finish: TlvField(0, TlvEnum()),
55
+ primaryColor: TlvField(1, TlvNullable(TlvEnum())),
56
+ });
57
+ /**
58
+ * Body of the BridgedDeviceBasicInformation startUp event
59
+ *
60
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5
61
+ */
62
+ BridgedDeviceBasicInformation.TlvStartUpEvent = TlvObject({ softwareVersion: TlvField(0, TlvUInt32) });
63
+ /**
64
+ * Body of the BridgedDeviceBasicInformation reachableChanged event
65
+ *
66
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5.1
67
+ */
68
+ BridgedDeviceBasicInformation.TlvReachableChangedEvent = TlvObject({ reachableNewValue: TlvField(0, TlvBoolean) });
69
+ /**
70
+ * @see {@link Cluster}
71
+ */
72
+ BridgedDeviceBasicInformation.ClusterInstance = MutableCluster({
73
+ id: 0x39,
74
+ name: 'BridgedDeviceBasicInformation',
75
+ revision: 2,
76
+ attributes: {
77
+ /**
78
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
79
+ */
80
+ vendorName: OptionalFixedAttribute(0x1, TlvString.bound({ maxLength: 32 })),
81
+ /**
82
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
83
+ */
84
+ vendorId: OptionalFixedAttribute(0x2, TlvVendorId),
85
+ /**
86
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
87
+ */
88
+ productName: OptionalFixedAttribute(0x3, TlvString.bound({ maxLength: 32 })),
89
+ /**
90
+ * This attribute shall specify the Product ID assigned by the vendor that is unique to the specific
91
+ * product of the Node.
92
+ *
93
+ * @see {@link MatterSpecification.v11.Core} § 11.1.5.5
94
+ */
95
+ productId: OptionalFixedAttribute(0x4, TlvUInt16),
96
+ /**
97
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
98
+ */
99
+ nodeLabel: OptionalWritableAttribute(0x5, TlvString.bound({ maxLength: 32 }), { persistent: true, default: '', writeAcl: AccessLevel.Manage }),
100
+ /**
101
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
102
+ */
103
+ hardwareVersion: OptionalFixedAttribute(0x7, TlvUInt16, { default: 0 }),
104
+ /**
105
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
106
+ */
107
+ hardwareVersionString: OptionalFixedAttribute(0x8, TlvString.bound({ minLength: 1, maxLength: 64 })),
108
+ /**
109
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
110
+ */
111
+ softwareVersion: OptionalFixedAttribute(0x9, TlvUInt32, { default: 0 }),
112
+ /**
113
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
114
+ */
115
+ softwareVersionString: OptionalFixedAttribute(0xa, TlvString.bound({ minLength: 1, maxLength: 64 })),
116
+ /**
117
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
118
+ */
119
+ manufacturingDate: OptionalFixedAttribute(0xb, TlvString.bound({ minLength: 8, maxLength: 16 })),
120
+ /**
121
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
122
+ */
123
+ partNumber: OptionalFixedAttribute(0xc, TlvString.bound({ maxLength: 32 })),
124
+ /**
125
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
126
+ */
127
+ productUrl: OptionalFixedAttribute(0xd, TlvString.bound({ maxLength: 256 })),
128
+ /**
129
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
130
+ */
131
+ productLabel: OptionalFixedAttribute(0xe, TlvString.bound({ maxLength: 64 })),
132
+ /**
133
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
134
+ */
135
+ serialNumber: OptionalFixedAttribute(0xf, TlvString.bound({ maxLength: 32 })),
136
+ /**
137
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
138
+ */
139
+ reachable: Attribute(0x11, TlvBoolean, { default: true }),
140
+ /**
141
+ * @see {@link MatterSpecification.v11.Core} § 9.13.4
142
+ */
143
+ uniqueId: OptionalFixedAttribute(0x12, TlvString.bound({ maxLength: 32 })),
144
+ productAppearance: OptionalFixedAttribute(0x14, BridgedDeviceBasicInformation.TlvProductAppearanceStruct),
145
+ },
146
+ events: {
147
+ /**
148
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5
149
+ */
150
+ startUp: OptionalEvent(0x0, EventPriority.Critical, BridgedDeviceBasicInformation.TlvStartUpEvent),
151
+ /**
152
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5
153
+ */
154
+ shutDown: OptionalEvent(0x1, EventPriority.Critical, TlvNoArguments),
155
+ /**
156
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5
157
+ */
158
+ leave: OptionalEvent(0x2, EventPriority.Info, TlvNoArguments),
159
+ /**
160
+ * This event shall be generated when there is a change in the Reachable attribute. Its purpose is to
161
+ * provide an indication towards interested parties that the reachability of a bridged device (over the
162
+ * non-Matter network) has changed, so they may take appropriate action.
163
+ *
164
+ * After (re)start of a bridge this event may be generated.
165
+ *
166
+ * @see {@link MatterSpecification.v11.Core} § 9.13.5.1
167
+ */
168
+ reachableChanged: Event(0x3, EventPriority.Info, BridgedDeviceBasicInformation.TlvReachableChangedEvent),
169
+ },
170
+ });
171
+ BridgedDeviceBasicInformation.Cluster = BridgedDeviceBasicInformation.ClusterInstance;
172
+ BridgedDeviceBasicInformation.Complete = BridgedDeviceBasicInformation.Cluster;
173
+ })(BridgedDeviceBasicInformation || (BridgedDeviceBasicInformation = {}));
174
+ export const BridgedDeviceBasicInformationCluster = BridgedDeviceBasicInformation.Cluster;
175
+ ClusterRegistry.register(BridgedDeviceBasicInformation.Complete);
176
+ //# sourceMappingURL=BridgedDeviceBasicInformationCluster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BridgedDeviceBasicInformationCluster.js","sourceRoot":"","sources":["../src/BridgedDeviceBasicInformationCluster.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -26,10 +26,12 @@
26
26
  import { Matterbridge } from './matterbridge.js';
27
27
  let instance;
28
28
  async function main() {
29
- console.log('CLI: Matterbridge.loadInstance() called');
29
+ if (process.argv.includes('-debug'))
30
+ console.log('CLI: Matterbridge.loadInstance() called');
30
31
  instance = await Matterbridge.loadInstance(true);
31
32
  registerHandlers();
32
- console.log('CLI: Matterbridge.loadInstance() exited');
33
+ if (process.argv.includes('-debug'))
34
+ console.log('CLI: Matterbridge.loadInstance() exited');
33
35
  }
34
36
  function registerHandlers() {
35
37
  instance.on('shutdown', async () => shutdown());
@@ -37,17 +39,20 @@ function registerHandlers() {
37
39
  instance.on('update', async () => update());
38
40
  }
39
41
  async function shutdown() {
40
- console.log('CLI: received shutdown event, exiting...');
42
+ if (process.argv.includes('-debug'))
43
+ console.log('CLI: received shutdown event, exiting...');
41
44
  //wtf.dump();
42
45
  process.exit(0);
43
46
  }
44
47
  async function restart() {
45
- console.log('CLI: received restart event, loading...');
48
+ if (process.argv.includes('-debug'))
49
+ console.log('CLI: received restart event, loading...');
46
50
  instance = await Matterbridge.loadInstance(true);
47
51
  registerHandlers();
48
52
  }
49
53
  async function update() {
50
- console.log('CLI: received update event, updating...');
54
+ if (process.argv.includes('-debug'))
55
+ console.log('CLI: received update event, updating...');
51
56
  instance = await Matterbridge.loadInstance(true);
52
57
  registerHandlers();
53
58
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,+BAA+B;AAC/B,4BAA4B;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,IAAI,QAAkC,CAAC;AAEvC,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,gBAAgB;IACvB,QAAS,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,QAAS,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,QAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IACxD,aAAa;IACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACvD,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC;AAE/B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,uDAAuD,KAAK,EAAE,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,+BAA+B;AAC/B,4BAA4B;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,IAAI,QAAkC,CAAC;AAEvC,KAAK,UAAU,IAAI;IACjB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC5F,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;IACnB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,gBAAgB;IACvB,QAAS,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,QAAS,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,QAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,QAAQ;IACrB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC7F,aAAa;IACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,OAAO;IACpB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC5F,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,MAAM;IACnB,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAC5F,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjD,gBAAgB,EAAE,CAAC;AACrB,CAAC;AAED,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC;AAE/B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,uDAAuD,KAAK,EAAE,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC"}
package/dist/index.js CHANGED
@@ -39,10 +39,12 @@ export * from './TvocCluster.js';
39
39
  export * from './utils.js';
40
40
  async function main() {
41
41
  // eslint-disable-next-line no-console
42
- console.log('MAIN: Matterbridge.loadInstance() called');
42
+ if (process.argv.includes('-debug'))
43
+ console.log('MAIN: Matterbridge.loadInstance() called');
43
44
  await Matterbridge.loadInstance();
44
45
  // eslint-disable-next-line no-console
45
- console.log('MAIN: Matterbridge.loadInstance() exited');
46
+ if (process.argv.includes('-debug'))
47
+ console.log('MAIN: Matterbridge.loadInstance() exited');
46
48
  }
47
49
  main().catch((error) => {
48
50
  // 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;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,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;AACjC,cAAc,YAAY,CAAC;AAE3B,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;AACtD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAE5C,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;AACjC,cAAc,YAAY,CAAC;AAE3B,KAAK,UAAU,IAAI;IACjB,sCAAsC;IACtC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC7F,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC;IAClC,sCAAsC;IACtC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;AAC/F,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"}
@@ -156,6 +156,18 @@ export declare class Matterbridge extends EventEmitter {
156
156
  * Shut down the process by exiting the current process.
157
157
  */
158
158
  private shutdownProcess;
159
+ /**
160
+ * Shut down the process and reset.
161
+ */
162
+ private unregisterAndShutdownProcess;
163
+ /**
164
+ * Shut down the process and reset.
165
+ */
166
+ private shutdownProcessAndReset;
167
+ /**
168
+ * Shut down the process and factory reset.
169
+ */
170
+ private shutdownProcessAndFactoryReset;
159
171
  /**
160
172
  * Cleans up the Matterbridge instance.
161
173
  * @param message - The cleanup message.