matterbridge 3.0.0-edge.8 → 3.0.1-dev-20250430-a3ea2b7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -13,10 +13,6 @@ If you like this project and find it useful, please consider giving it a star on
13
13
  If you want to run Matterbridge in Home Assistant please use the official add-on https://github.com/Luligu/matterbridge-home-assistant-addon that also has Ingress and side panel.
14
14
  It is also available the official Matterbridge Home Assistant plugin https://github.com/Luligu/matterbridge-hass.
15
15
 
16
- ### Discord
17
-
18
- Tamer (https://github.com/tammeryousef1006) has created the Matterbridge Discord group: https://discord.gg/QX58CDe6hd.
19
-
20
16
  ## New plugin matterbridge-webhooks
21
17
 
22
18
  A new plugin has been added: https://github.com/Luligu/matterbridge-webhooks
@@ -31,7 +27,7 @@ Features:
31
27
 
32
28
  ## Breaking changes
33
29
 
34
- Matter 1.4
30
+ This release brings Matter 1.4.
35
31
 
36
32
  New device types:
37
33
 
@@ -42,7 +38,7 @@ Modified clusters:
42
38
 
43
39
  - OccupancySensing cluster.
44
40
 
45
- ## [3.0.0] - 2025-04-??
41
+ ## [3.0.0] - 2025-04-29
46
42
 
47
43
  ### Added
48
44
 
@@ -51,22 +47,69 @@ Modified clusters:
51
47
  - [endpoint]: Added createBaseFanControlClusterServer().
52
48
  - [endpoint]: Added createDefaultHepaFilterMonitoringClusterServer().
53
49
  - [endpoint]: Added createDefaultActivatedCarbonFilterMonitoringClusterServer().
54
- - [deviceTypes]: Added Robotic device type.
55
- - [deviceTypes]: Added Appliances device types.
50
+ - [endpoint]: Added createDefaultThermostatUserInterfaceConfigurationClusterServer().
51
+ - [deviceTypes]: Added Robotic device type (please read https://github.com/Luligu/matterbridge/discussions/264).
52
+ - [deviceTypes]: Added Appliances device types (please read https://github.com/Luligu/matterbridge/discussions/264).
53
+ - [frontend]: Added the matterbridge aggregator serialNumber in the QRDiv.
54
+ - [frontend]: Added Power column in the Devices panel of the Home page.
55
+ - [frontend]: Added support for appliances and robot in IconView.
56
+ - [parameter]: Added getIntArrayParameter and getStringArrayParameter.
57
+ - [frontend]: Added the view menu to load the logs directly in the browser.
58
+ - [docker]: Optimized the dockerfiles and reduced the image size by 30%.
59
+ - [docker]: The builder for the docker image with tag latest will run each day at 00:00 UTC. Inside the image all plugins with the latest release (as published on npm) are already loaded. You can just pull the new image and matterbridge with all plugins will be the latest.
56
60
 
57
61
  ### Changed
58
62
 
59
- - [deviceTypes]: Updated device types to Matter 1.4
63
+ - [package]: Updated package.
64
+ - [package]: Updated express to v5.1.0.
65
+ - [package]: Updated dependencies.
66
+ - [frontend]: Frontend v.2.6.3.
67
+ - [frontend]: Changed icons with mdiIcons in IconView.
68
+ - [package]: Added tsconfig.jest.json with "isolatedModules": true for ts-jest.
69
+ - [deviceTypes]: Updated device types to Matter 1.4.
70
+ - [clusters]: Updated cluster helpers to Matter 1.4.
60
71
  - [matter.js]: Update to 0.13.0-alpha.0-20250405-7fc7db48.
61
72
  - [matter.js]: Update to 0.13.0-alpha.0-20250408-c916c7e8.
62
73
  - [matter.js]: Update to 0.13.0-alpha.0-20250412-5fad64e7b.
63
74
  - [matter.js]: Update to 0.13.0-alpha.0-20250413-d5a27700d.
64
75
  - [matter.js]: Update to 0.13.0-alpha.0-20250415-475996bb5.
76
+ - [matter.js]: Update to 0.13.0-alpha.0-20250418-8cfc0b832.
77
+ - [matter.js]: Update to 0.13.0-alpha.0-20250420-9f45e4f77.
78
+ - [matter.js]: Update to 0.13.0-alpha.0-20250422-0d27f26be.
79
+ - [matter.js]: Update to 0.13.0-alpha.0-20250423-8917d1d1d.
80
+ - [matter.js]: Update to 0.13.0-alpha.0-20250424-4760af1f3.
81
+ - [matter.js]: Update to 0.13.0-alpha.0-20250425-94b33ff98.
82
+ - [matter.js]: Update to 0.13.0-alpha.0-20250427-e7df8aa45.
83
+ - [matter.js]: Update to 0.13.0.
84
+ - [help]: Updated cli help screen.
85
+ - [logger]: Improved frontend logger cleaning.
65
86
 
66
87
  ### Fixed
67
88
 
68
89
  - [doorLock]: Fixed supportedOperatingModes inverted bitmap (Thanks Apollon).
69
90
  - [DevicesIcon]: Fixed rendering of leak freeze and rain sensors.
91
+ - [QRCode]: Fixed rendering of QRCode panel when advertising stops.
92
+ - [matterbridge]: Fixed wrong message when advertising stops and the node has been paired.
93
+ - [frontend]: Fixed download logs that broke with express v5.1.0.
94
+
95
+ ## [2.2.9] - 2025-04-18
96
+
97
+ ### Added
98
+
99
+ - [deviceTypes]: Added extendedColorLight device type.
100
+
101
+ ### Changed
102
+
103
+ - [package]: Update dependencies.
104
+
105
+ ### Fixed
106
+
107
+ - [QRCode]: Fixed update when the server node is no more advertising.
108
+ - [frontend]: Fixed wrong notification when the server node has been paired.
109
+
110
+ <a href="https://www.buymeacoffee.com/luligugithub">
111
+ <img src="bmc-button.svg" alt="Buy me a coffee" width="80">
112
+ </a>
70
113
 
71
114
  ## [2.2.8] - 2025-04-10
72
115
 
package/README-DEV.md CHANGED
@@ -82,6 +82,10 @@ Matterbridge must be linked to the plugin in development only.
82
82
  }
83
83
  ```
84
84
 
85
+ On the machine you use for development you should also have matterbridge installed globally or built locally and linked (npm link from the package root).
86
+
87
+ Dev and edge branches of matterbridge are not suitable for developemnt cause they are published for production without types. If you want to develop a plugin using the dev or edge branch of matterbridge, you have to clone the dev or edge branch of matterbridge, build locally and link (npm run deepCleanBuild).
88
+
85
89
  # \***\*\*\*\*\***
86
90
 
87
91
  I added some error messages when a plugin has wrong imports or configurations and the plugin will be disabled to prevent instability and crashes.
package/README-DOCKER.md CHANGED
@@ -38,7 +38,7 @@ docker exec -it matterbridge curl -v http://localhost:8283/health
38
38
 
39
39
  This will create the required directories in your home directory if they don't exist
40
40
 
41
- ```
41
+ ```bash
42
42
  cd ~
43
43
  mkdir -p ./Matterbridge
44
44
  mkdir -p ./.matterbridge
@@ -51,7 +51,7 @@ You may need to adapt the script to your setup.
51
51
 
52
52
  If you don't want to use sudo with docker commands, run this command:
53
53
 
54
- ```
54
+ ```bash
55
55
  sudo groupadd docker
56
56
  sudo usermod -aG docker $USER
57
57
  ```
@@ -62,7 +62,7 @@ After adding your user to the docker group, you need to log out and log back in
62
62
 
63
63
  The container must have full access to the host network (needed for mdns).
64
64
 
65
- ```
65
+ ```bash
66
66
  sudo docker run --name matterbridge \
67
67
  -v /home/<USER>/Matterbridge:/root/Matterbridge \
68
68
  -v /home/<USER>/.matterbridge:/root/.matterbridge \
@@ -95,54 +95,63 @@ copy it in the home directory or edit the existing one to add the matterbridge s
95
95
 
96
96
  Then start docker compose with:
97
97
 
98
- ```
98
+ ```bash
99
99
  docker compose up -d
100
100
  ```
101
101
 
102
102
  ### Stop with docker compose
103
103
 
104
- ```
104
+ ```bash
105
105
  docker compose down
106
106
  ```
107
107
 
108
108
  ### Update with docker compose
109
109
 
110
- ```
110
+ ```bash
111
111
  docker compose pull
112
112
  ```
113
113
 
114
114
  ### Inspect the container
115
115
 
116
- ```
116
+ ```bash
117
117
  docker container inspect matterbridge
118
118
  ```
119
119
 
120
120
  ### Start the Docker container
121
121
 
122
- ```
122
+ ```bash
123
123
  docker start matterbridge
124
124
  ```
125
125
 
126
126
  ### Stop the Docker container
127
127
 
128
- ```
128
+ ```bash
129
129
  docker stop matterbridge
130
130
  ```
131
131
 
132
132
  ### Restart the Docker container
133
133
 
134
- ```
134
+ ```bash
135
135
  docker restart matterbridge
136
136
  ```
137
137
 
138
138
  ### Shows the logs
139
139
 
140
- ```
140
+ ```bash
141
141
  docker logs matterbridge
142
142
  ```
143
143
 
144
- ### Shows the logs real time (tail)
144
+ ### Shows the logs for a time interval
145
145
 
146
+ ```bash
147
+ docker logs \
148
+ --since "2025-04-19T00:00:00" \
149
+ --until "2025-04-19T00:02:00" \
150
+ matterbridge
146
151
  ```
152
+
153
+ ### Shows the logs real time (tail)
154
+
155
+ ```bash
147
156
  docker logs --tail 1000 -f matterbridge
148
157
  ```
package/README-SERVICE.md CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  This will create the required directories if they don't exist
22
22
 
23
- ```
23
+ ```bash
24
24
  cd ~
25
25
  mkdir -p ./Matterbridge
26
26
  mkdir -p ./.matterbridge
@@ -31,7 +31,7 @@ sudo chown -R $USER:$USER ./Matterbridge ./.matterbridge
31
31
 
32
32
  Create a systemctl configuration file for Matterbridge
33
33
 
34
- ```
34
+ ```bash
35
35
  sudo nano /etc/systemd/system/matterbridge.service
36
36
  ```
37
37
 
@@ -53,8 +53,6 @@ WorkingDirectory=/home/<USER>/Matterbridge
53
53
  StandardOutput=inherit
54
54
  StandardError=inherit
55
55
  Restart=always
56
- RestartSec=10s
57
- TimeoutStopSec=30s
58
56
  User=<USER>
59
57
  Group=<USER>
60
58
 
@@ -70,45 +68,53 @@ add this:
70
68
  AmbientCapabilities=CAP_NET_BIND_SERVICE
71
69
  ```
72
70
 
73
- If you modify it after, then run:
71
+ If you use the matterbridge-bthome plugin add this:
74
72
 
75
73
  ```
74
+ [Service]
75
+ AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_NET_ADMIN
76
+ ```
77
+
78
+ If you modify it after, then run:
79
+
80
+ ```bash
76
81
  sudo systemctl daemon-reload
82
+ sudo systemctl restart matterbridge.service
77
83
  ```
78
84
 
79
85
  ### Start Matterbridge
80
86
 
81
- ```
87
+ ```bash
82
88
  sudo systemctl start matterbridge
83
89
  ```
84
90
 
85
91
  ### Stop Matterbridge
86
92
 
87
- ```
93
+ ```bash
88
94
  sudo systemctl stop matterbridge
89
95
  ```
90
96
 
91
97
  ### Show Matterbridge status
92
98
 
93
- ```
99
+ ```bash
94
100
  sudo systemctl status matterbridge.service
95
101
  ```
96
102
 
97
103
  ### Enable Matterbridge to start automatically on boot
98
104
 
99
- ```
105
+ ```bash
100
106
  sudo systemctl enable matterbridge.service
101
107
  ```
102
108
 
103
109
  ### Disable Matterbridge from starting automatically on boot
104
110
 
105
- ```
111
+ ```bash
106
112
  sudo systemctl disable matterbridge.service
107
113
  ```
108
114
 
109
115
  ### View the log of Matterbridge in real time (this will show the log with colors)
110
116
 
111
- ```
117
+ ```bash
112
118
  sudo journalctl -u matterbridge.service -n 1000 -f --output cat
113
119
  ```
114
120
 
@@ -116,13 +122,13 @@ sudo journalctl -u matterbridge.service -n 1000 -f --output cat
116
122
 
117
123
  Check the space used
118
124
 
119
- ```
125
+ ```bash
120
126
  sudo journalctl --disk-usage
121
127
  ```
122
128
 
123
129
  remove all log older then 3 days
124
130
 
125
- ```
131
+ ```bash
126
132
  sudo journalctl --rotate
127
133
  sudo journalctl --vacuum-time=3d
128
134
  ```
@@ -131,13 +137,13 @@ sudo journalctl --vacuum-time=3d
131
137
 
132
138
  If you want to make the setting permanent to prevent the journal logs to grow too much, run
133
139
 
134
- ```
140
+ ```bash
135
141
  sudo nano /etc/systemd/journald.conf
136
142
  ```
137
143
 
138
144
  add
139
145
 
140
- ```
146
+ ```bash
141
147
  Compress=yes # Compress logs
142
148
  MaxRetentionSec=3days # Keep logs for a maximum of 3 days.
143
149
  MaxFileSec=1day # Rotate logs daily within the 3-day retention period.
@@ -148,7 +154,7 @@ RuntimeMaxUse=100M # Limit runtime logs in /run/log/journal to 100 MB.
148
154
 
149
155
  save it and run
150
156
 
151
- ```
157
+ ```bash
152
158
  sudo systemctl restart systemd-journald
153
159
  ```
154
160
 
@@ -156,7 +162,7 @@ sudo systemctl restart systemd-journald
156
162
 
157
163
  Run the following command to verify if you can install Matterbridge globally without being prompted for a password:
158
164
 
159
- ```
165
+ ```bash
160
166
  sudo npm install -g matterbridge
161
167
  ```
162
168
 
@@ -164,7 +170,7 @@ If you are not prompted for a password, no further action is required.
164
170
 
165
171
  If that is not the case, open the sudoers file for editing using visudo
166
172
 
167
- ```
173
+ ```bash
168
174
  sudo visudo
169
175
  ```
170
176
 
@@ -176,8 +182,8 @@ verify the presence of of a line
176
182
 
177
183
  exit and create a configuration file for sudoers
178
184
 
179
- ```
180
- sudo nano /etc/sudoers.d/matterbridge
185
+ ```bash
186
+ sudo nano /etc/sudoers.d/matterbridge
181
187
  ```
182
188
 
183
189
  add this line replacing USER with your user name (e.g. radxa ALL=(ALL) NOPASSWD: ALL)
@@ -194,6 +200,6 @@ or if you prefers to only give access to npm without password try with (e.g. rad
194
200
 
195
201
  save the file and reload the settings with:
196
202
 
197
- ```
203
+ ```bash
198
204
  sudo visudo -c
199
205
  ```
package/README.md CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  ---
14
14
 
15
- Matterbridge is a matter.js plugin manager.
15
+ Matterbridge is a Matter plugin manager.
16
16
 
17
17
  It allows you to have all your Matter devices up and running in a couple of minutes without
18
18
  having to deal with the pairing process of each single device.
@@ -46,6 +46,22 @@ The project is build on top of https://github.com/project-chip/matter.js.
46
46
 
47
47
  A special thank to Apollon77 for his incredible work.
48
48
 
49
+ ## Discord
50
+
51
+ Join us in the Matterbridge Discord group https://discord.gg/QX58CDe6hd created by Tamer (https://github.com/tammeryousef1006).
52
+
53
+ ## Videos
54
+
55
+ https://www.youtube.com/watch?v=goNB9Cgh_Fk
56
+
57
+ ## Reviews
58
+
59
+ https://www.matteralpha.com/how-to/how-to-configure-an-open-source-matter-bridge-at-home
60
+
61
+ ## Press
62
+
63
+ https://matter-smarthome.de/en/interview/an-alternative-to-the-official-matter-sdk/
64
+
49
65
  ## Prerequisites
50
66
 
51
67
  To run Matterbridge, you need either a [Node.js](https://nodejs.org/en) environment or [Docker](https://docs.docker.com/get-started/get-docker/) installed on your system.
@@ -57,6 +73,10 @@ Nvm is not a good choice and should not be used for production.
57
73
 
58
74
  If you don't have Docker already install, please use this method to install it on a debian device: https://docs.docker.com/desktop/setup/install/linux/debian/.
59
75
 
76
+ Since as stated in the Matter specifications "Matter aims to build a universal IPv6-based communication protocol for smart home devices", ipv6 should be enabled in the network.
77
+
78
+ Avoid using VLAN and firewall blocking the communications between the controller and Matterbridge.
79
+
60
80
  ## Installation
61
81
 
62
82
  Follow these steps to install Matterbridge:
@@ -216,6 +236,38 @@ No hub or dedicated hardware needed.
216
236
 
217
237
  Matterbridge Somfy Tahoma is a matterbridge production-level plugin that expose the Somfy Tahoma screen devices to Matter.
218
238
 
239
+ ### Home Assistant
240
+
241
+ <a href="https://github.com/Luligu/matterbridge-hass">
242
+ <img src="screenshot/HomeAssistant.svg" alt="Hass logo" width="100" />
243
+ </a>
244
+
245
+ Matterbridge Home Assistant plugin allows you to expose the Home Assistant devices and entities to Matter.
246
+
247
+ It is the ideal companion of the official [Matterbridge Home Assistant Add-on](https://github.com/Luligu/matterbridge-home-assistant-addon/blob/main/README.md).
248
+
249
+ ### Webhooks
250
+
251
+ <a href="https://github.com/Luligu/matterbridge-webhooks">
252
+ <img src="frontend/public/matterbridge.svg" alt="Matterbridge logo" width="100" />
253
+ </a>
254
+
255
+ Matterbridge Webhooks plugin allows you to expose any webhooks to Matter..
256
+
257
+ ### BTHome
258
+
259
+ <a href="https://github.com/Luligu/matterbridge-webhooks">
260
+ <img src="frontend/public/matterbridge.svg" alt="Matterbridge logo" width="100" />
261
+ </a>
262
+
263
+ Matterbridge BTHome allows you to expose any BTHome device to Matter using the native bluetooth of the host machine.
264
+
265
+ Features:
266
+
267
+ - The bluetooth works correctly on all platforms and is based on the @stoprocent fork of noble.
268
+ - The discovered BTHome devices are stored with all attributes to easily restart the plugin.
269
+ - The plugin has also a command line to test and verify the bluetooth adapter and the ble network.
270
+
219
271
  ### Accessory platform example
220
272
 
221
273
  This is an example of an accessory platform plugin.
@@ -230,7 +282,7 @@ An Accessory platform plugin only exposes one device.
230
282
 
231
283
  This is an example of a dynamic platform plugin.
232
284
 
233
- It exposes:
285
+ It exposes 38 devices:
234
286
 
235
287
  - a switch with onOff cluster
236
288
  - a light with onOff
@@ -246,13 +298,31 @@ It exposes:
246
298
  and relativeHumidityMeasurement cluster (to show how to create a composed device with sub endpoints)
247
299
  - a thermo heat only with two external temperature sensors (tagged like Indoor and Outdoor)
248
300
  - a thermo cool only
249
- - an airConditioner device
250
- - an airPurifier device with temperature and humidity sensor (supported by Apple Home)
251
301
  - a fan with FanControl cluster
252
302
  - a rainSensor device
253
303
  - a waterFreezeDetector device
254
304
  - a waterLeakDetector device
255
- - a smokeCoAlarm device
305
+ - a smokeCoAlarm (with smoke and co features) sensor (supported by Apple Home)
306
+ - a smokeCoAlarm (with smoke only feature) sensor (supported by Apple Home)
307
+ - a smokeCoAlarm (with co only feature) sensor (supported by Apple Home)
308
+ - an airConditioner device
309
+ - an airPurifier device with temperature and humidity sensor (supported by Apple Home)
310
+ - a pumpDevice device
311
+ - a waterValve device
312
+ - an airQuality device with all concentration measurements clusters (supported by Apple Home only without the concentration measurements)
313
+ - a momentary switch
314
+ - a latching switch
315
+ - a Robot Vacuum Cleaner device (supported by SmartThings, Alexa, Home Assistant and partially by Apple Home). Read also https://github.com/Luligu/matterbridge/discussions/264.
316
+ - a onOff Mounted Switch device (supported by SmartThings, Alexa, Home Assistant)
317
+ - a dimmer Mounted Switch device (supported by SmartThings, Alexa, Home Assistant)
318
+ - a laundry Washer device (supported by SmartThings, Alexa and Home Assistant)
319
+ - a laundry Dryer device (supported by SmartThings, Alexa and Home Assistant)
320
+ - a dishwasher device (supported by SmartThings, Alexa and Home Assistant)
321
+ - a refrigerator device (supported by SmartThings, Alexa and Home Assistant)
322
+ - an oven device (supported by SmartThings, Alexa and Home Assistant)
323
+ - a microwave Oven device (supported by SmartThings, Alexa and Home Assistant)
324
+ - an extractor Hood device (supported by SmartThings, Alexa and Home Assistant)
325
+ - a cooktop device (supported by SmartThings, Alexa and Home Assistant)
256
326
 
257
327
  All these virtual devices continuously change state and position. The plugin also shows how to use all the command handlers (you can control all the devices).
258
328
 
@@ -276,6 +346,12 @@ The history works in both bridge and childbridge mode.
276
346
 
277
347
  The Eve app only shows the history when the plugins run like an AccessoryPlatform in childbridge mode (this means the plugin is paired directly).
278
348
 
349
+ ## Third-party plugins
350
+
351
+ ### [Loxone](https://github.com/andrasg/matterbridge-loxone)
352
+
353
+ A matterbridge plugin that allows connecting Loxone devices to Matter.
354
+
279
355
  ## How to install and add a plugin with the frontend (best option)
280
356
 
281
357
  Just open the frontend on the link provided in the log, select a plugin and click install.
@@ -406,9 +482,29 @@ All issues have been solved from the version 17.5 of the HomePod/AppleTV. Now th
406
482
 
407
483
  If you have more then one Apple TV or Home Pod, you can herve better results setting to disabled "Automatic Selection" in "Home Setting", "Home Hubs & Bridges". When "Automatic selection" is disabled, select your Apple Tv if you have one or any of your Home Pod. In this way you should not have anymore more then one session for fabric.
408
484
 
485
+ ### Manufacturer Serial Number and Model
486
+
487
+ The Home app forgets about them when you restart the node.
488
+
489
+ ### Appliances
490
+
491
+ As of version 18.4.x, all Appliances device types are not supported by the Home app. They don't even appear like unsupported accessories.
492
+
493
+ ### Robot
494
+
495
+ As of version 18.4.x, the Robot is supported by the Home app only as a single, non-bridged device or if it is the only device in the bridge.
496
+
497
+ If a Robot is present alongside other devices in the bridge, the entire bridge becomes unstable in the Home app.
498
+
499
+ ### Concentration measurements clusters
500
+
501
+ As of version 18.4.x, all cluster derived from the concentration measurement cluster hang the Home app while pairing and the entire bridge becomes unstable in the Home app.
502
+
503
+ For example: air quality sensors with TVOC measurement or co sensors with CarbonMonoxide measurement.
504
+
409
505
  ## Home Assistant
410
506
 
411
- So far is the only controller supporting some Matter 1.2 and 1.3 device type:
507
+ So far is the only controller supporting some Matter 1.2, 1.3 and 1.4 device type:
412
508
 
413
509
  - airQualitySensor code 0x002c (Matter 1.2)
414
510
  - smokesmokeCoAlarm code 0x0076 (Matter 1.2)
package/dist/cli.js CHANGED
@@ -3,6 +3,7 @@ import { Matterbridge } from './matterbridge.js';
3
3
  import { getIntParameter, hasParameter } from './utils/export.js';
4
4
  import { AnsiLogger, BRIGHT, CYAN, db, YELLOW } from './logger/export.js';
5
5
  import { EventEmitter } from 'node:events';
6
+ import { inspect } from 'node:util';
6
7
  export const cliEmitter = new EventEmitter();
7
8
  export let instance;
8
9
  let session;
@@ -186,5 +187,7 @@ async function main() {
186
187
  }
187
188
  process.title = 'matterbridge';
188
189
  main().catch((error) => {
189
- log.error(`Matterbridge.loadInstance() failed with error: ${error instanceof Error ? error.message : error}`);
190
+ const errorMessage = error instanceof Error ? error.message : error;
191
+ const errorInspect = inspect(error, { depth: 10 });
192
+ log.error(`Matterbridge.loadInstance() failed with error: ${errorMessage}\nstack: ${errorInspect}`);
190
193
  });