matterbridge 1.2.21 → 1.3.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 (101) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +48 -9
  3. package/dist/cluster/AirQualityCluster.d.ts.map +1 -0
  4. package/dist/cluster/AirQualityCluster.js.map +1 -0
  5. package/dist/cluster/BooleanStateConfigurationCluster.d.ts +2200 -0
  6. package/dist/cluster/BooleanStateConfigurationCluster.d.ts.map +1 -0
  7. package/dist/cluster/BooleanStateConfigurationCluster.js +388 -0
  8. package/dist/cluster/BooleanStateConfigurationCluster.js.map +1 -0
  9. package/dist/cluster/BridgedDeviceBasicInformationCluster.d.ts.map +1 -0
  10. package/dist/cluster/BridgedDeviceBasicInformationCluster.js.map +1 -0
  11. package/dist/cluster/CarbonMonoxideConcentrationMeasurementCluster.d.ts +396 -0
  12. package/dist/cluster/CarbonMonoxideConcentrationMeasurementCluster.d.ts.map +1 -0
  13. package/dist/cluster/CarbonMonoxideConcentrationMeasurementCluster.js +30 -0
  14. package/dist/cluster/CarbonMonoxideConcentrationMeasurementCluster.js.map +1 -0
  15. package/dist/cluster/ConcentrationMeasurementCluster.d.ts +524 -0
  16. package/dist/cluster/ConcentrationMeasurementCluster.d.ts.map +1 -0
  17. package/dist/cluster/ConcentrationMeasurementCluster.js +282 -0
  18. package/dist/cluster/ConcentrationMeasurementCluster.js.map +1 -0
  19. package/dist/cluster/DeviceEnergyManagementCluster.d.ts +7851 -0
  20. package/dist/cluster/DeviceEnergyManagementCluster.d.ts.map +1 -0
  21. package/dist/cluster/DeviceEnergyManagementCluster.js +1634 -0
  22. package/dist/cluster/DeviceEnergyManagementCluster.js.map +1 -0
  23. package/dist/cluster/DeviceEnergyManagementModeCluster.d.ts +68 -0
  24. package/dist/cluster/DeviceEnergyManagementModeCluster.d.ts.map +1 -0
  25. package/dist/cluster/DeviceEnergyManagementModeCluster.js +49 -0
  26. package/dist/cluster/DeviceEnergyManagementModeCluster.js.map +1 -0
  27. package/dist/cluster/ElectricalEnergyMeasurementCluster.d.ts +4978 -0
  28. package/dist/cluster/ElectricalEnergyMeasurementCluster.d.ts.map +1 -0
  29. package/dist/cluster/ElectricalEnergyMeasurementCluster.js +510 -0
  30. package/dist/cluster/ElectricalEnergyMeasurementCluster.js.map +1 -0
  31. package/dist/cluster/ElectricalPowerMeasurementCluster.d.ts +3250 -0
  32. package/dist/cluster/ElectricalPowerMeasurementCluster.d.ts.map +1 -0
  33. package/dist/cluster/ElectricalPowerMeasurementCluster.js +675 -0
  34. package/dist/cluster/ElectricalPowerMeasurementCluster.js.map +1 -0
  35. package/dist/cluster/FanControlCluster.d.ts +1583 -0
  36. package/dist/cluster/FanControlCluster.d.ts.map +1 -0
  37. package/dist/cluster/FanControlCluster.js +492 -0
  38. package/dist/cluster/FanControlCluster.js.map +1 -0
  39. package/dist/cluster/MeasurementAccuracy.d.ts +63 -0
  40. package/dist/cluster/MeasurementAccuracy.d.ts.map +1 -0
  41. package/dist/cluster/MeasurementAccuracy.js +47 -0
  42. package/dist/cluster/MeasurementAccuracy.js.map +1 -0
  43. package/dist/cluster/MeasurementAccuracyRange.d.ts +134 -0
  44. package/dist/cluster/MeasurementAccuracyRange.d.ts.map +1 -0
  45. package/dist/cluster/MeasurementAccuracyRange.js +103 -0
  46. package/dist/cluster/MeasurementAccuracyRange.js.map +1 -0
  47. package/dist/cluster/MeasurementType.d.ts +68 -0
  48. package/dist/cluster/MeasurementType.d.ts.map +1 -0
  49. package/dist/cluster/MeasurementType.js +69 -0
  50. package/dist/cluster/MeasurementType.js.map +1 -0
  51. package/dist/cluster/PowerTopologyCluster.d.ts +355 -0
  52. package/dist/cluster/PowerTopologyCluster.d.ts.map +1 -0
  53. package/dist/cluster/PowerTopologyCluster.js +138 -0
  54. package/dist/cluster/PowerTopologyCluster.js.map +1 -0
  55. package/dist/cluster/SmokeCoAlarmCluster.d.ts +1599 -0
  56. package/dist/cluster/SmokeCoAlarmCluster.d.ts.map +1 -0
  57. package/dist/cluster/SmokeCoAlarmCluster.js +603 -0
  58. package/dist/cluster/SmokeCoAlarmCluster.js.map +1 -0
  59. package/dist/cluster/TvocCluster.d.ts.map +1 -0
  60. package/dist/cluster/TvocCluster.js.map +1 -0
  61. package/dist/defaultConfigSchema.d.ts.map +1 -1
  62. package/dist/defaultConfigSchema.js +26 -12
  63. package/dist/defaultConfigSchema.js.map +1 -1
  64. package/dist/index.d.ts +7 -2
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +8 -2
  67. package/dist/index.js.map +1 -1
  68. package/dist/matterbridge.d.ts +63 -1
  69. package/dist/matterbridge.d.ts.map +1 -1
  70. package/dist/matterbridge.js +72 -26
  71. package/dist/matterbridge.js.map +1 -1
  72. package/dist/matterbridgeDevice.d.ts +692 -30
  73. package/dist/matterbridgeDevice.d.ts.map +1 -1
  74. package/dist/matterbridgeDevice.js +429 -73
  75. package/dist/matterbridgeDevice.js.map +1 -1
  76. package/dist/matterbridgeDeviceV8.d.ts +3 -5
  77. package/dist/matterbridgeDeviceV8.d.ts.map +1 -1
  78. package/dist/matterbridgeDeviceV8.js +62 -14
  79. package/dist/matterbridgeDeviceV8.js.map +1 -1
  80. package/dist/matterbridgeV8.d.ts +69 -5
  81. package/dist/matterbridgeV8.d.ts.map +1 -1
  82. package/dist/matterbridgeV8.js +413 -99
  83. package/dist/matterbridgeV8.js.map +1 -1
  84. package/frontend/build/asset-manifest.json +3 -3
  85. package/frontend/build/index.html +1 -1
  86. package/frontend/build/static/js/{main.23829a0f.js → main.cbfc6c9b.js} +3 -3
  87. package/frontend/build/static/js/{main.23829a0f.js.map → main.cbfc6c9b.js.map} +1 -1
  88. package/package.json +6 -6
  89. package/dist/AirQualityCluster.d.ts.map +0 -1
  90. package/dist/AirQualityCluster.js.map +0 -1
  91. package/dist/BridgedDeviceBasicInformationCluster.d.ts.map +0 -1
  92. package/dist/BridgedDeviceBasicInformationCluster.js.map +0 -1
  93. package/dist/TvocCluster.d.ts.map +0 -1
  94. package/dist/TvocCluster.js.map +0 -1
  95. /package/dist/{AirQualityCluster.d.ts → cluster/AirQualityCluster.d.ts} +0 -0
  96. /package/dist/{AirQualityCluster.js → cluster/AirQualityCluster.js} +0 -0
  97. /package/dist/{BridgedDeviceBasicInformationCluster.d.ts → cluster/BridgedDeviceBasicInformationCluster.d.ts} +0 -0
  98. /package/dist/{BridgedDeviceBasicInformationCluster.js → cluster/BridgedDeviceBasicInformationCluster.js} +0 -0
  99. /package/dist/{TvocCluster.d.ts → cluster/TvocCluster.d.ts} +0 -0
  100. /package/dist/{TvocCluster.js → cluster/TvocCluster.js} +0 -0
  101. /package/frontend/build/static/js/{main.23829a0f.js.LICENSE.txt → main.cbfc6c9b.js.LICENSE.txt} +0 -0
@@ -215,15 +215,17 @@ export const somfytahoma_schema = {
215
215
  },
216
216
  };
217
217
  export const shelly_config = {
218
- blackList: [],
219
- whiteList: [],
220
218
  name: 'matterbridge-shelly',
221
219
  type: 'DynamicPlatform',
222
- unregisterOnShutdown: false,
220
+ blackList: [],
221
+ whiteList: [],
223
222
  deviceIp: {},
224
223
  enableMdnsDiscover: true,
225
224
  enableStorageDiscover: true,
226
- enableConfigDiscover: true,
225
+ resetStorageDiscover: false,
226
+ enableConfigDiscover: false,
227
+ debug: false,
228
+ unregisterOnShutdown: false,
227
229
  };
228
230
  export const shelly_schema = {
229
231
  title: 'Matterbridge shelly plugin',
@@ -240,37 +242,49 @@ export const shelly_schema = {
240
242
  type: 'string',
241
243
  readOnly: true,
242
244
  },
245
+ username: {
246
+ description: 'Username (always admin for gen 2 and 3 devices so use admin also for gen 1)',
247
+ type: 'string',
248
+ },
249
+ password: {
250
+ description: 'Password (must be unique for all the devices)',
251
+ type: 'string',
252
+ },
243
253
  blackList: {
244
- description: 'The devices in the list will not be exposed.',
254
+ description: 'The devices in the list will not be exposed. Use the device id (e.g. shellyplus2pm-5443b23d81f8)',
245
255
  type: 'array',
246
256
  items: {
247
257
  type: 'string',
248
258
  },
249
259
  },
250
260
  whiteList: {
251
- description: 'Only the devices in the list will be exposed.',
261
+ description: 'Only the devices in the list will be exposed. Use the device id (e.g. shellyplus2pm-5443b23d81f8)',
252
262
  type: 'array',
253
263
  items: {
254
264
  type: 'string',
255
265
  },
256
266
  },
257
267
  deviceIp: {
258
- description: 'Set the IP address for each device. Enter in the first field the shelly ID of the device and in the second field the IP address.',
268
+ description: 'Set the IP address for each device. Enter in the first field the shelly ID of the device and in the second field the IP address. (e.g. shelly1minig3-543204547478: 192.168.1.221)',
259
269
  type: 'object',
260
270
  additionalProperties: {
261
271
  type: 'string',
262
272
  },
263
273
  },
264
274
  enableMdnsDiscover: {
265
- description: 'Enable mdns discovery for shelly devices (it will stop after 10 minutes)',
275
+ description: 'Enable the mdns discovery for shelly devices (it will stop after 10 minutes)',
266
276
  type: 'boolean',
267
277
  },
268
278
  enableStorageDiscover: {
269
- description: 'Enable storage discovery for shelly devices (it will load from the storage the devices already registered)',
279
+ description: 'Enable storage discovery for shelly devices (it will load from the storage the devices already discovered)',
280
+ type: 'boolean',
281
+ },
282
+ resetStorageDiscover: {
283
+ description: 'Reset the storage discovery on the next restart (it will clear the storage of already discovers devices)',
270
284
  type: 'boolean',
271
285
  },
272
286
  enableConfigDiscover: {
273
- description: 'Enable config discovery for shelly devices (it will load the devices from deviceIp)',
287
+ description: 'Enable config discovery for shelly devices (it will load the devices from deviceIp config setting)',
274
288
  type: 'boolean',
275
289
  },
276
290
  enableBleDiscover: {
@@ -278,8 +292,8 @@ export const shelly_schema = {
278
292
  type: 'boolean',
279
293
  readOnly: true,
280
294
  },
281
- debugDiscover: {
282
- description: 'Enable the debug for the discovery (development only)',
295
+ debug: {
296
+ description: 'Enable the debug for the plugin (development only)',
283
297
  type: 'boolean',
284
298
  },
285
299
  unregisterOnShutdown: {
@@ -1 +1 @@
1
- {"version":3,"file":"defaultConfigSchema.js","sourceRoot":"","sources":["../src/defaultConfigSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaultConfigSchema.js","sourceRoot":"","sources":["../src/defaultConfigSchema.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -33,7 +33,12 @@ export * from './matterbridge.js';
33
33
  export * from './matterbridgeDevice.js';
34
34
  export * from './matterbridgeAccessoryPlatform.js';
35
35
  export * from './matterbridgeDynamicPlatform.js';
36
- export * from './AirQualityCluster.js';
37
- export * from './TvocCluster.js';
36
+ export * from './cluster/AirQualityCluster.js';
37
+ export * from './cluster/TvocCluster.js';
38
+ export * from './cluster/CarbonMonoxideConcentrationMeasurementCluster.js';
39
+ export * from './cluster/BooleanStateConfigurationCluster.js';
40
+ export * from './cluster/PowerTopologyCluster.js';
41
+ export * from './cluster/ElectricalEnergyMeasurementCluster.js';
42
+ export * from './cluster/ElectricalPowerMeasurementCluster.js';
38
43
  export * from './utils.js';
39
44
  //# 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;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"}
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;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,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4DAA4D,CAAC;AAC3E,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAElD,cAAc,iDAAiD,CAAC;AAChE,cAAc,gDAAgD,CAAC;AAC/D,cAAc,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -34,8 +34,14 @@ export * from './matterbridge.js';
34
34
  export * from './matterbridgeDevice.js';
35
35
  export * from './matterbridgeAccessoryPlatform.js';
36
36
  export * from './matterbridgeDynamicPlatform.js';
37
- export * from './AirQualityCluster.js';
38
- export * from './TvocCluster.js';
37
+ export * from './cluster/AirQualityCluster.js';
38
+ export * from './cluster/TvocCluster.js';
39
+ export * from './cluster/CarbonMonoxideConcentrationMeasurementCluster.js';
40
+ export * from './cluster/BooleanStateConfigurationCluster.js';
41
+ export * from './cluster/PowerTopologyCluster.js';
42
+ // export * from './cluster/FanControlCluster.js'; // Already defined in matter.js like rev. 2
43
+ export * from './cluster/ElectricalEnergyMeasurementCluster.js';
44
+ export * from './cluster/ElectricalPowerMeasurementCluster.js';
39
45
  export * from './utils.js';
40
46
  async function main() {
41
47
  // 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,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"}
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,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4DAA4D,CAAC;AAC3E,cAAc,+CAA+C,CAAC;AAC9D,cAAc,mCAAmC,CAAC;AAClD,8FAA8F;AAC9F,cAAc,iDAAiD,CAAC;AAChE,cAAc,gDAAgD,CAAC;AAC/D,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"}
@@ -22,12 +22,63 @@
22
22
  */
23
23
  /// <reference types="node" resolution-mode="require"/>
24
24
  import { MatterbridgeDevice } from './matterbridgeDevice.js';
25
+ import { NodeStorage } from 'node-persist-manager';
26
+ import { AnsiLogger } from 'node-ansi-logger';
25
27
  import EventEmitter from 'events';
28
+ import { CommissioningServer } from '@project-chip/matter-node.js';
29
+ import { Aggregator } from '@project-chip/matter-node.js/device';
30
+ import { StorageContext } from '@project-chip/matter-node.js/storage';
26
31
  import { ExposedFabricInformation } from '@project-chip/matter-node.js/fabric';
32
+ export interface MatterbridgePlatform {
33
+ onStart(reason?: string): Promise<void>;
34
+ onConfigure(): Promise<void>;
35
+ onShutdown(reason?: string): Promise<void>;
36
+ registerDevice(device: MatterbridgeDevice): Promise<void>;
37
+ unregisterDevice(device: MatterbridgeDevice): Promise<void>;
38
+ unregisterAllDevices(): Promise<void>;
39
+ matterbridge: Matterbridge;
40
+ log: AnsiLogger;
41
+ config: PlatformConfig;
42
+ name: string;
43
+ type: string;
44
+ version: string;
45
+ }
27
46
  export type PlatformConfigValue = string | number | boolean | bigint | object | undefined | null;
28
47
  export type PlatformConfig = Record<string, PlatformConfigValue>;
29
48
  export type PlatformSchemaValue = string | number | boolean | bigint | object | undefined | null;
30
49
  export type PlatformSchema = Record<string, PlatformSchemaValue>;
50
+ export interface RegisteredPlugin extends BaseRegisteredPlugin {
51
+ nodeContext?: NodeStorage;
52
+ storageContext?: StorageContext;
53
+ commissioningServer?: CommissioningServer;
54
+ aggregator?: Aggregator;
55
+ device?: MatterbridgeDevice;
56
+ platform?: MatterbridgePlatform;
57
+ }
58
+ export interface BaseRegisteredPlugin {
59
+ path: string;
60
+ type: string;
61
+ name: string;
62
+ version: string;
63
+ description: string;
64
+ author: string;
65
+ latestVersion?: string;
66
+ locked?: boolean;
67
+ error?: boolean;
68
+ enabled?: boolean;
69
+ loaded?: boolean;
70
+ started?: boolean;
71
+ configured?: boolean;
72
+ paired?: boolean;
73
+ connected?: boolean;
74
+ fabricInfo?: ExposedFabricInformation[];
75
+ registeredDevices?: number;
76
+ addedDevices?: number;
77
+ qrPairingCode?: string;
78
+ manualPairingCode?: string;
79
+ configJson?: object;
80
+ schemaJson?: object;
81
+ }
31
82
  interface SystemInformation {
32
83
  macAddress: string;
33
84
  ipv4Address: string;
@@ -51,6 +102,9 @@ interface MatterbridgeInformation {
51
102
  globalModulesDirectory: string;
52
103
  matterbridgeVersion: string;
53
104
  matterbridgeLatestVersion: string;
105
+ matterbridgeFabricInfo: ExposedFabricInformation[];
106
+ matterbridgePaired: boolean;
107
+ matterbridgeConnected: boolean;
54
108
  bridgeMode: string;
55
109
  restartMode: string;
56
110
  debugEnabled: boolean;
@@ -104,16 +158,24 @@ export declare class Matterbridge extends EventEmitter {
104
158
  static loadInstance(initialize?: boolean): Promise<Matterbridge>;
105
159
  /**
106
160
  * Initializes the Matterbridge instance as extension for zigbee2mqtt.
161
+ * @deprecated This method is deprecated and will be removed in a future version.
107
162
  *
108
163
  * @returns A Promise that resolves when the initialization is complete.
109
164
  */
110
165
  startExtension(dataPath: string, debugEnabled: boolean, extensionVersion: string, port?: number): Promise<boolean>;
111
166
  /**
112
167
  * Close the Matterbridge instance as extension for zigbee2mqtt.
168
+ * @deprecated This method is deprecated and will be removed in a future version.
113
169
  *
114
170
  * @returns A Promise that resolves when the initialization is complete.
115
171
  */
116
172
  stopExtension(): Promise<void>;
173
+ /**
174
+ * Checks if the extension is commissioned.
175
+ * @deprecated This method is deprecated and will be removed in a future version.
176
+ *
177
+ * @returns {boolean} Returns true if the extension is commissioned, false otherwise.
178
+ */
117
179
  isExtensionCommissioned(): boolean;
118
180
  /**
119
181
  * Initializes the Matterbridge application.
@@ -269,7 +331,7 @@ export declare class Matterbridge extends EventEmitter {
269
331
  *
270
332
  * @param {RegisteredPlugin} plugin - The plugin to start.
271
333
  * @param {string} [message] - Optional message to pass to the plugin's onStart method.
272
- * @param {boolean} [configure=false] - Indicates whether to configure the plugin after starting.
334
+ * @param {boolean} [configure] - Indicates whether to configure the plugin after starting (default false).
273
335
  * @returns {Promise<void>} A promise that resolves when the plugin is started successfully, or rejects with an error if starting the plugin fails.
274
336
  */
275
337
  private startPlugin;
@@ -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;AAS3F,OAAO,YAAY,MAAM,QAAQ,CAAC;AAmBlC,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAgB/E,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAEjG,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEjE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;AAEjG,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AA6CjE,UAAU,iBAAiB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,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;AAGD,UAAU,uBAAuB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;CACvB;AAMD;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IACrC,iBAAiB,EAAE,iBAAiB,CAczC;IAEK,uBAAuB,EAAE,uBAAuB,CAWrD;IAEK,aAAa,SAAM;IACnB,aAAa,SAAM;IACnB,qBAAqB,SAAM;IAC3B,2BAA2B,SAAM;IACjC,sBAAsB,SAAM;IAC5B,mBAAmB,SAAM;IACzB,yBAAyB,SAAM;IAC/B,sBAAsB,EAAE,wBAAwB,EAAE,CAAM;IACxD,kBAAkB,UAAS;IAC3B,qBAAqB,UAAS;IACrC,OAAO,CAAC,mBAAmB,CAAC,CAAiB;IAEtC,UAAU,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,GAAG,EAAE,CAAM;IAC9D,WAAW,EAAE,SAAS,GAAG,QAAQ,GAAG,EAAE,CAAM;IAC5C,YAAY,UAAS;IAE5B,OAAO,CAAC,IAAI,CAAQ;IACpB,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;IAC1C,OAAO,CAAC,eAAe,CAA8B;IAErD,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;;;;;;OAMG;WACU,YAAY,CAAC,UAAU,UAAQ;IAU5C;;;;OAIG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAuE7H;;;;OAIG;IACU,aAAa;IAanB,uBAAuB,IAAI,OAAO;IAKzC;;;;;;;;;OASG;IACU,UAAU;IAkFvB;;;;OAIG;YACW,gBAAgB;IAiN9B;;;;OAIG;YACW,iBAAiB;IAoC/B;;;;;OAKG;YACW,kBAAkB;IAgFhC;;;OAGG;YACW,sBAAsB;IAUpC;;OAEG;YACW,aAAa;IAK3B;;OAEG;YACW,cAAc;IAK5B;;OAEG;YACW,eAAe;IAK7B;;OAEG;YACW,4BAA4B;IAS1C;;OAEG;YACW,uBAAuB;IAKrC;;OAEG;YACW,8BAA8B;IAK5C;;;;;OAKG;YACW,OAAO;IAoKrB;;;;;OAKG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DrF;;;;;OAKG;IACG,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;IA2B1B;;;;;OAKG;YACW,iBAAiB;IAkB/B;;;OAGG;YACW,WAAW;YASX,qBAAqB;IAInC;;;;;;;;OAQG;YACW,gBAAgB;IA6D9B;;;;;OAKG;YACW,wBAAwB;IAetC;;;;;;;;OAQG;YACW,gBAAgB;IAwC9B;;;;;OAKG;YACW,gBAAgB;IAgB9B;;;;;;OAMG;YACW,SAAS;IAYvB;;;;;;;OAOG;YACW,WAAW;IA+BzB;;;;;OAKG;YACW,eAAe;IA+B7B;;;;;;;OAOG;YACW,UAAU;IA4DxB;;;;OAIG;YACW,qBAAqB;IA2KnC;;;;;;;;OAQG;YACW,iBAAiB;IAiJ/B;;;OAGG;YACW,iBAAiB;IAY/B;;;;;;OAMG;YACW,gCAAgC;IAoC9C;;;;;;;;;;;;;;;;;OAiBG;YACW,gCAAgC;IA+B9C;;;;;;;OAOG;YACW,uBAAuB;IAgDrC;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IASlB;;;;;OAKG;IACH,OAAO,CAAC,kCAAkC;IAM1C;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAWjC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,eAAe,CAkCrB;IAEF;;;;;;OAMG;YACW,wBAAwB;IA6KtC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;;OAIG;YACW,sBAAsB;IA2CpC;;OAEG;YACW,UAAU;IAcxB;;;;OAIG;YACW,gBAAgB;IAY9B;;;OAGG;YACW,oBAAoB;IAYlC;;OAEG;YACW,oBAAoB;IA6JlC;;;;OAIG;YACW,4BAA4B;IAiB1C;;;;;;;;;OASG;YACW,sBAAsB;IAcpC;;;;OAIG;YACW,wBAAwB;IA4BtC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;;;;OAKG;YACW,YAAY;IA0E1B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IActB;;;;OAIG;IACG,kBAAkB,CAAC,IAAI,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAiepD;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAkCjC"}
1
+ {"version":3,"file":"matterbridge.d.ts","sourceRoot":"","sources":["../src/matterbridge.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ import express from 'express';
32
32
  import os from 'os';
33
33
  import path from 'path';
34
34
  import WebSocket, { WebSocketServer } from 'ws';
35
- import { BridgedDeviceBasicInformation, BridgedDeviceBasicInformationCluster } from './BridgedDeviceBasicInformationCluster.js';
35
+ import { BridgedDeviceBasicInformation, BridgedDeviceBasicInformationCluster } from './cluster/BridgedDeviceBasicInformationCluster.js';
36
36
  import { CommissioningController, CommissioningServer, MatterServer } from '@project-chip/matter-node.js';
37
37
  import { BasicInformationCluster, ClusterServer, FixedLabelCluster, GeneralCommissioning, PowerSourceCluster, ThreadNetworkDiagnosticsCluster, getClusterNameById } from '@project-chip/matter-node.js/cluster';
38
38
  import { DeviceTypeId, VendorId } from '@project-chip/matter-node.js/datatype';
@@ -73,6 +73,9 @@ export class Matterbridge extends EventEmitter {
73
73
  globalModulesDirectory: '',
74
74
  matterbridgeVersion: '',
75
75
  matterbridgeLatestVersion: '',
76
+ matterbridgeFabricInfo: [],
77
+ matterbridgePaired: false,
78
+ matterbridgeConnected: false,
76
79
  bridgeMode: '',
77
80
  restartMode: '',
78
81
  debugEnabled: false,
@@ -133,6 +136,7 @@ export class Matterbridge extends EventEmitter {
133
136
  }
134
137
  /**
135
138
  * Initializes the Matterbridge instance as extension for zigbee2mqtt.
139
+ * @deprecated This method is deprecated and will be removed in a future version.
136
140
  *
137
141
  * @returns A Promise that resolves when the initialization is complete.
138
142
  */
@@ -205,6 +209,7 @@ export class Matterbridge extends EventEmitter {
205
209
  }
206
210
  /**
207
211
  * Close the Matterbridge instance as extension for zigbee2mqtt.
212
+ * @deprecated This method is deprecated and will be removed in a future version.
208
213
  *
209
214
  * @returns A Promise that resolves when the initialization is complete.
210
215
  */
@@ -217,6 +222,12 @@ export class Matterbridge extends EventEmitter {
217
222
  await this.stopStorage();
218
223
  this.log.info('Matter server stopped');
219
224
  }
225
+ /**
226
+ * Checks if the extension is commissioned.
227
+ * @deprecated This method is deprecated and will be removed in a future version.
228
+ *
229
+ * @returns {boolean} Returns true if the extension is commissioned, false otherwise.
230
+ */
220
231
  isExtensionCommissioned() {
221
232
  if (!this.commissioningServer)
222
233
  return false;
@@ -300,7 +311,34 @@ export class Matterbridge extends EventEmitter {
300
311
  // Register SIGINT SIGTERM signal handlers
301
312
  this.registerSignalHandlers();
302
313
  // Set matter.js logger level and format
303
- Logger.defaultLogLevel = this.debugEnabled ? Level.DEBUG : Level.INFO;
314
+ if (hasParameter('matterlogger')) {
315
+ const level = getParameter('matterlogger');
316
+ if (level === 'debug') {
317
+ Logger.defaultLogLevel = Level.DEBUG;
318
+ }
319
+ else if (level === 'info') {
320
+ Logger.defaultLogLevel = Level.INFO;
321
+ }
322
+ else if (level === 'notice') {
323
+ Logger.defaultLogLevel = Level.NOTICE;
324
+ }
325
+ else if (level === 'warn') {
326
+ Logger.defaultLogLevel = Level.WARN;
327
+ }
328
+ else if (level === 'error') {
329
+ Logger.defaultLogLevel = Level.ERROR;
330
+ }
331
+ else if (level === 'fatal') {
332
+ Logger.defaultLogLevel = Level.FATAL;
333
+ }
334
+ else {
335
+ this.log.warn(`Invalid matterlogger level: ${level}. Using default level ${this.debugEnabled ? 'debug' : 'info'}.`);
336
+ Logger.defaultLogLevel = this.debugEnabled ? Level.DEBUG : Level.INFO;
337
+ }
338
+ }
339
+ else {
340
+ Logger.defaultLogLevel = this.debugEnabled ? Level.DEBUG : Level.INFO;
341
+ }
304
342
  Logger.format = Format.ANSI;
305
343
  // Parse command line
306
344
  this.parseCommandLine();
@@ -1272,28 +1310,26 @@ export class Matterbridge extends EventEmitter {
1272
1310
  * @returns {Promise<void>} - A promise that resolves when the data is successfully written to the file.
1273
1311
  */
1274
1312
  async writeFile(filePath, data) {
1275
- // Write the data to a file
1276
- await fs
1277
- .writeFile(`${filePath}`, data, 'utf8')
1278
- .then(() => {
1313
+ try {
1314
+ await fs.writeFile(`${filePath}`, data, 'utf8');
1279
1315
  this.log.debug(`Successfully wrote to ${filePath}`);
1280
- })
1281
- .catch((error) => {
1316
+ }
1317
+ catch (error) {
1282
1318
  this.log.error(`Error writing to ${filePath}:`, error);
1283
- });
1319
+ }
1284
1320
  }
1285
1321
  /**
1286
1322
  * Starts a plugin.
1287
1323
  *
1288
1324
  * @param {RegisteredPlugin} plugin - The plugin to start.
1289
1325
  * @param {string} [message] - Optional message to pass to the plugin's onStart method.
1290
- * @param {boolean} [configure=false] - Indicates whether to configure the plugin after starting.
1326
+ * @param {boolean} [configure] - Indicates whether to configure the plugin after starting (default false).
1291
1327
  * @returns {Promise<void>} A promise that resolves when the plugin is started successfully, or rejects with an error if starting the plugin fails.
1292
1328
  */
1293
1329
  async startPlugin(plugin, message, configure = false) {
1294
1330
  if (!plugin.loaded || !plugin.platform) {
1295
1331
  this.log.error(`Plugin ${plg}${plugin.name}${er} not loaded or no platform`);
1296
- return Promise.reject(new Error(`Plugin ${plg}${plugin.name}${er} not loaded or no platform`));
1332
+ return Promise.resolve();
1297
1333
  }
1298
1334
  if (plugin.started) {
1299
1335
  this.log.debug(`Plugin ${plg}${plugin.name}${db} already started`);
@@ -1313,13 +1349,13 @@ export class Matterbridge extends EventEmitter {
1313
1349
  .catch((err) => {
1314
1350
  plugin.error = true;
1315
1351
  this.log.error(`Failed to start plugin ${plg}${plugin.name}${er}: ${err}`);
1316
- // return Promise.reject(new Error(`Failed to start plugin ${plg}${plugin.name}${er}: ${err}`));
1352
+ return Promise.resolve();
1317
1353
  });
1318
1354
  }
1319
1355
  catch (err) {
1320
1356
  plugin.error = true;
1321
1357
  this.log.error(`Failed to start plugin ${plg}${plugin.name}${er}: ${err}`);
1322
- // return Promise.reject(new Error(`Failed to start plugin ${plg}${plugin.name}${er}: ${err}`));
1358
+ return Promise.resolve();
1323
1359
  }
1324
1360
  }
1325
1361
  /**
@@ -1331,7 +1367,7 @@ export class Matterbridge extends EventEmitter {
1331
1367
  async configurePlugin(plugin) {
1332
1368
  if (!plugin.loaded || !plugin.started || !plugin.platform) {
1333
1369
  this.log.error(`Plugin ${plg}${plugin.name}${er} not loaded (${plugin.loaded}) or not started (${plugin.started}) or not platform (${plugin.platform?.name})`);
1334
- return Promise.reject(new Error(`Plugin ${plg}${plugin.name}${er} not loaded or not started or not platform`));
1370
+ return Promise.resolve();
1335
1371
  }
1336
1372
  if (plugin.configured) {
1337
1373
  this.log.info(`Plugin ${plg}${plugin.name}${nf} already configured`);
@@ -1350,13 +1386,13 @@ export class Matterbridge extends EventEmitter {
1350
1386
  .catch((err) => {
1351
1387
  plugin.error = true;
1352
1388
  this.log.error(`Failed to configure plugin ${plg}${plugin.name}${er}: ${err}`);
1353
- // return Promise.reject(new Error(`Failed to configure plugin ${plg}${plugin.name}${er}: ${err}`));
1389
+ return Promise.resolve();
1354
1390
  });
1355
1391
  }
1356
1392
  catch (err) {
1357
1393
  plugin.error = true;
1358
1394
  this.log.error(`Failed to configure plugin ${plg}${plugin.name}${er}: ${err}`);
1359
- // return Promise.reject(new Error(`Failed to configure plugin ${plg}${plugin.name}${er}: ${err}`));
1395
+ return Promise.resolve();
1360
1396
  }
1361
1397
  }
1362
1398
  /**
@@ -1370,7 +1406,7 @@ export class Matterbridge extends EventEmitter {
1370
1406
  async loadPlugin(plugin, start = false, message = '') {
1371
1407
  if (!plugin.enabled) {
1372
1408
  this.log.error(`Plugin ${plg}${plugin.name}${er} not enabled`);
1373
- return Promise.reject(new Error(`Plugin ${plg}${plugin.name}${er} not enabled`));
1409
+ return Promise.resolve(undefined);
1374
1410
  }
1375
1411
  if (plugin.platform) {
1376
1412
  this.log.error(`Plugin ${plg}${plugin.name}${er} already loaded`);
@@ -1387,11 +1423,10 @@ export class Matterbridge extends EventEmitter {
1387
1423
  this.log.debug(`Importing plugin ${plg}${plugin.name}${db} from ${pluginUrl.href}`);
1388
1424
  const pluginInstance = await import(pluginUrl.href);
1389
1425
  this.log.debug(`Imported plugin ${plg}${plugin.name}${db} from ${pluginUrl.href}`);
1390
- // Call the default export function of the plugin, passing this MatterBridge instance
1426
+ // Call the default export function of the plugin, passing this MatterBridge instance, the log and the config
1391
1427
  if (pluginInstance.default) {
1392
1428
  const config = await this.loadPluginConfig(plugin);
1393
1429
  const log = new AnsiLogger({ logName: plugin.description, logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */, logDebug: this.debugEnabled });
1394
- // log.setCallback(this.wssSendMessage.bind(this));
1395
1430
  const platform = pluginInstance.default(this, log, config);
1396
1431
  platform.name = packageJson.name;
1397
1432
  platform.config = config;
@@ -1405,8 +1440,9 @@ export class Matterbridge extends EventEmitter {
1405
1440
  plugin.loaded = true;
1406
1441
  plugin.registeredDevices = 0;
1407
1442
  plugin.addedDevices = 0;
1443
+ // Save the updated plugin data in the node storage
1408
1444
  await this.nodeContext?.set('plugins', await this.getBaseRegisteredPlugins());
1409
- await this.getPluginLatestVersion(plugin);
1445
+ this.getPluginLatestVersion(plugin);
1410
1446
  this.log.info(`Loaded plugin ${plg}${plugin.name}${nf} type ${typ}${platform.type} ${db}(entrypoint ${UNDERLINE}${pluginEntry}${UNDERLINEOFF})`);
1411
1447
  if (start)
1412
1448
  this.startPlugin(plugin, message); // No await do it asyncronously
@@ -1415,15 +1451,13 @@ export class Matterbridge extends EventEmitter {
1415
1451
  else {
1416
1452
  this.log.error(`Plugin ${plg}${plugin.name}${er} does not provide a default export`);
1417
1453
  plugin.error = true;
1418
- return;
1419
- // return Promise.reject(new Error(`Plugin ${plg}${plugin.name}${er} does not provide a default export`));
1454
+ return Promise.resolve(undefined);
1420
1455
  }
1421
1456
  }
1422
1457
  catch (err) {
1423
1458
  this.log.error(`Failed to load plugin ${plg}${plugin.name}${er}: ${err}`);
1424
1459
  plugin.error = true;
1425
- return;
1426
- // return Promise.reject(new Error(`Failed to load plugin ${plg}${plugin.name}${er}: ${err}`));
1460
+ return Promise.resolve(undefined);
1427
1461
  }
1428
1462
  }
1429
1463
  /**
@@ -1970,7 +2004,6 @@ export class Matterbridge extends EventEmitter {
1970
2004
  vendorName = '(AppleKeyChain)';
1971
2005
  break;
1972
2006
  case 4362:
1973
- case 65521:
1974
2007
  vendorName = '(SmartThings)';
1975
2008
  break;
1976
2009
  case 4939:
@@ -2723,11 +2756,14 @@ export class Matterbridge extends EventEmitter {
2723
2756
  }
2724
2757
  catch (error) {
2725
2758
  if (this.bridgeMode === 'bridge')
2726
- this.log.error('pairingCodes for /api/settings not found');
2759
+ this.log.warn('pairingCodes for /api/settings not found');
2727
2760
  }
2728
2761
  this.matterbridgeInformation.bridgeMode = this.bridgeMode;
2729
2762
  this.matterbridgeInformation.restartMode = this.restartMode;
2730
2763
  this.matterbridgeInformation.debugEnabled = this.debugEnabled;
2764
+ this.matterbridgeInformation.matterbridgePaired = this.matterbridgePaired;
2765
+ this.matterbridgeInformation.matterbridgeConnected = this.matterbridgeConnected;
2766
+ // this.matterbridgeInformation.matterbridgeFabricInfo = this.matterbridgeFabricInfo;
2731
2767
  const response = { wssHost, qrPairingCode, manualPairingCode, systemInformation: this.systemInformation, matterbridgeInformation: this.matterbridgeInformation };
2732
2768
  this.log.debug('Response:', debugStringify(response));
2733
2769
  res.json(response);
@@ -2868,6 +2904,11 @@ export class Matterbridge extends EventEmitter {
2868
2904
  this.debugEnabled = false;
2869
2905
  Logger.defaultLogLevel = Level.INFO;
2870
2906
  }
2907
+ else if (param === 'Notice') {
2908
+ this.log.setLogDebug(false);
2909
+ this.debugEnabled = false;
2910
+ Logger.defaultLogLevel = Level.NOTICE;
2911
+ }
2871
2912
  else if (param === 'Warn') {
2872
2913
  this.log.setLogDebug(false);
2873
2914
  this.debugEnabled = false;
@@ -2878,6 +2919,11 @@ export class Matterbridge extends EventEmitter {
2878
2919
  this.debugEnabled = false;
2879
2920
  Logger.defaultLogLevel = Level.ERROR;
2880
2921
  }
2922
+ else if (param === 'Fatal') {
2923
+ this.log.setLogDebug(false);
2924
+ this.debugEnabled = false;
2925
+ Logger.defaultLogLevel = Level.FATAL;
2926
+ }
2881
2927
  this.registeredPlugins.forEach((plugin) => {
2882
2928
  plugin.platform?.log.setLogDebug(this.debugEnabled);
2883
2929
  });