matterbridge 1.6.7-dev.3 → 1.6.7

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 (95) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/dist/cli.d.ts +25 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +26 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/cluster/export.d.ts +2 -0
  7. package/dist/cluster/export.d.ts.map +1 -0
  8. package/dist/cluster/export.js +2 -0
  9. package/dist/cluster/export.js.map +1 -0
  10. package/dist/defaultConfigSchema.d.ts +27 -0
  11. package/dist/defaultConfigSchema.d.ts.map +1 -0
  12. package/dist/defaultConfigSchema.js +23 -0
  13. package/dist/defaultConfigSchema.js.map +1 -0
  14. package/dist/deviceManager.d.ts +46 -0
  15. package/dist/deviceManager.d.ts.map +1 -0
  16. package/dist/deviceManager.js +26 -1
  17. package/dist/deviceManager.js.map +1 -0
  18. package/dist/index.d.ts +40 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +30 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/logger/export.d.ts +2 -0
  23. package/dist/logger/export.d.ts.map +1 -0
  24. package/dist/logger/export.js +1 -0
  25. package/dist/logger/export.js.map +1 -0
  26. package/dist/matter/export.d.ts +6 -0
  27. package/dist/matter/export.d.ts.map +1 -0
  28. package/dist/matter/export.js +1 -0
  29. package/dist/matter/export.js.map +1 -0
  30. package/dist/matterbridge.d.ts +466 -0
  31. package/dist/matterbridge.d.ts.map +1 -0
  32. package/dist/matterbridge.js +660 -61
  33. package/dist/matterbridge.js.map +1 -0
  34. package/dist/matterbridgeAccessoryPlatform.d.ts +39 -0
  35. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
  36. package/dist/matterbridgeAccessoryPlatform.js +33 -0
  37. package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
  38. package/dist/matterbridgeBehaviors.d.ts +942 -0
  39. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  40. package/dist/matterbridgeBehaviors.js +29 -1
  41. package/dist/matterbridgeBehaviors.js.map +1 -0
  42. package/dist/matterbridgeDevice.d.ts +7063 -0
  43. package/dist/matterbridgeDevice.d.ts.map +1 -0
  44. package/dist/matterbridgeDevice.js +1026 -10
  45. package/dist/matterbridgeDevice.js.map +1 -0
  46. package/dist/matterbridgeDeviceTypes.d.ts +109 -0
  47. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  48. package/dist/matterbridgeDeviceTypes.js +98 -12
  49. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  50. package/dist/matterbridgeDynamicPlatform.d.ts +39 -0
  51. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
  52. package/dist/matterbridgeDynamicPlatform.js +33 -0
  53. package/dist/matterbridgeDynamicPlatform.js.map +1 -0
  54. package/dist/matterbridgeEdge.d.ts +92 -0
  55. package/dist/matterbridgeEdge.d.ts.map +1 -0
  56. package/dist/matterbridgeEdge.js +530 -0
  57. package/dist/matterbridgeEdge.js.map +1 -0
  58. package/dist/matterbridgeEndpoint.d.ts +10164 -0
  59. package/dist/matterbridgeEndpoint.d.ts.map +1 -0
  60. package/dist/matterbridgeEndpoint.js +1163 -15
  61. package/dist/matterbridgeEndpoint.js.map +1 -0
  62. package/dist/matterbridgePlatform.d.ts +114 -0
  63. package/dist/matterbridgePlatform.d.ts.map +1 -0
  64. package/dist/matterbridgePlatform.js +91 -3
  65. package/dist/matterbridgePlatform.js.map +1 -0
  66. package/dist/matterbridgeTypes.d.ts +162 -0
  67. package/dist/matterbridgeTypes.d.ts.map +1 -0
  68. package/dist/matterbridgeTypes.js +24 -0
  69. package/dist/matterbridgeTypes.js.map +1 -0
  70. package/dist/matterbridgeWebsocket.d.ts +49 -0
  71. package/dist/matterbridgeWebsocket.d.ts.map +1 -0
  72. package/dist/matterbridgeWebsocket.js +45 -0
  73. package/dist/matterbridgeWebsocket.js.map +1 -0
  74. package/dist/pluginManager.d.ts +238 -0
  75. package/dist/pluginManager.d.ts.map +1 -0
  76. package/dist/pluginManager.js +238 -3
  77. package/dist/pluginManager.js.map +1 -0
  78. package/dist/storage/export.d.ts +2 -0
  79. package/dist/storage/export.d.ts.map +1 -0
  80. package/dist/storage/export.js +1 -0
  81. package/dist/storage/export.js.map +1 -0
  82. package/dist/utils/colorUtils.d.ts +61 -0
  83. package/dist/utils/colorUtils.d.ts.map +1 -0
  84. package/dist/utils/colorUtils.js +205 -2
  85. package/dist/utils/colorUtils.js.map +1 -0
  86. package/dist/utils/export.d.ts +3 -0
  87. package/dist/utils/export.d.ts.map +1 -0
  88. package/dist/utils/export.js +1 -0
  89. package/dist/utils/export.js.map +1 -0
  90. package/dist/utils/utils.d.ts +221 -0
  91. package/dist/utils/utils.d.ts.map +1 -0
  92. package/dist/utils/utils.js +252 -7
  93. package/dist/utils/utils.js.map +1 -0
  94. package/npm-shrinkwrap.json +2 -2
  95. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgeEndpoint.js","sourceRoot":"","sources":["../src/matterbridgeEndpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * This file contains the class MatterbridgeAccessoryPlatform.
3
+ *
4
+ * @file matterbridgePlatform.ts
5
+ * @author Luca Liguori
6
+ * @date 2024-03-21
7
+ * @version 1.1.0
8
+ *
9
+ * Copyright 2024, 2025, 2026 Luca Liguori.
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License. *
22
+ */
23
+ import { Matterbridge } from './matterbridge.js';
24
+ import { MatterbridgeDevice } from './matterbridgeDevice.js';
25
+ import { AnsiLogger, LogLevel } from 'node-ansi-logger';
26
+ import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
27
+ export type PlatformConfigValue = string | number | boolean | bigint | object | undefined | null;
28
+ export type PlatformConfig = Record<string, PlatformConfigValue>;
29
+ export type PlatformSchemaValue = string | number | boolean | bigint | object | undefined | null;
30
+ export type PlatformSchema = Record<string, PlatformSchemaValue>;
31
+ /**
32
+ * Represents the base Matterbridge platform.
33
+ *
34
+ */
35
+ export declare class MatterbridgePlatform {
36
+ matterbridge: Matterbridge;
37
+ log: AnsiLogger;
38
+ config: PlatformConfig;
39
+ name: string;
40
+ type: string;
41
+ version: string;
42
+ /**
43
+ * Creates an instance of the base MatterbridgePlatform.
44
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
45
+ * @param {AnsiLogger} log - The logger instance.
46
+ * @param {PlatformConfig} config - The platform configuration.
47
+ */
48
+ constructor(matterbridge: Matterbridge, log: AnsiLogger, config: PlatformConfig);
49
+ /**
50
+ * This method must be overridden in the extended class.
51
+ * It is called when the platform is started.
52
+ * Use this method to create the MatterbridgeDevice and call this.registerDevice().
53
+ * @param {string} [reason] - The reason for starting.
54
+ * @throws {Error} - Throws an error if the method is not overridden.
55
+ */
56
+ onStart(reason?: string): Promise<void>;
57
+ /**
58
+ * This method can be overridden in the extended class.
59
+ * It is called after the platform has been commissioned.
60
+ * Use this method to perform any configuration of your devices.
61
+ */
62
+ onConfigure(): Promise<void>;
63
+ /**
64
+ * This method can be overridden in the extended class.
65
+ * It is called when the platform is shutting down.
66
+ * Use this method to clean up any resources.
67
+ * @param {string} [reason] - The reason for shutting down.
68
+ */
69
+ onShutdown(reason?: string): Promise<void>;
70
+ /**
71
+ * Sets the logger level and logs a debug message indicating that the plugin doesn't override this method.
72
+ * @param {LogLevel} logLevel The new logger level.
73
+ */
74
+ onChangeLoggerLevel(logLevel: LogLevel): Promise<void>;
75
+ /**
76
+ * Registers a device with the Matterbridge platform.
77
+ * @param {MatterbridgeDevice} device - The device to register.
78
+ */
79
+ registerDevice(device: MatterbridgeDevice | MatterbridgeEndpoint): Promise<void>;
80
+ /**
81
+ * Unregisters a device registered with the Matterbridge platform.
82
+ * @param {MatterbridgeDevice} device - The device to unregister.
83
+ */
84
+ unregisterDevice(device: MatterbridgeDevice | MatterbridgeEndpoint): Promise<void>;
85
+ /**
86
+ * Unregisters all devices registered with the Matterbridge platform.
87
+ */
88
+ unregisterAllDevices(): Promise<void>;
89
+ /**
90
+ * Verifies if the Matterbridge version meets the required version.
91
+ * @param {string} requiredVersion - The required version to compare against.
92
+ * @returns {boolean} True if the Matterbridge version meets or exceeds the required version, false otherwise.
93
+ */
94
+ verifyMatterbridgeVersion(requiredVersion: string): boolean;
95
+ /**
96
+ * Validates if a device is allowed based on the whitelist and blacklist configurations.
97
+ * The blacklist has priority over the whitelist.
98
+ *
99
+ * @param {string | string[]} device - The device name(s) to validate.
100
+ * @param {boolean} [log=true] - Whether to log the validation result.
101
+ * @returns {boolean} - Returns true if the device is allowed, false otherwise.
102
+ */
103
+ validateDeviceWhiteBlackList(device: string | string[], log?: boolean): boolean;
104
+ /**
105
+ * Validates if an entity is allowed based on the entity blacklist and device-entity blacklist configurations.
106
+ *
107
+ * @param {string} device - The device to which the entity belongs.
108
+ * @param {string} entity - The entity to validate.
109
+ * @param {boolean} [log=true] - Whether to log the validation result.
110
+ * @returns {boolean} - Returns true if the entity is allowed, false otherwise.
111
+ */
112
+ validateEntityBlackList(device: string, entity: string, log?: boolean): boolean;
113
+ }
114
+ //# sourceMappingURL=matterbridgePlatform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgePlatform.d.ts","sourceRoot":"","sources":["../src/matterbridgePlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,UAAU,EAAQ,QAAQ,EAAM,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAIjE,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;AAEjE;;;GAGG;AACH,qBAAa,oBAAoB;IACxB,YAAY,EAAE,YAAY,CAAC;IAC3B,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,cAAc,CAAM;IAC5B,IAAI,SAAM;IACV,IAAI,SAAM;IACV,OAAO,SAAM;IAEpB;;;;;OAKG;gBACS,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAM/E;;;;;;OAMG;IACG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IAK7B;;;;OAIG;IACG,WAAW;IAIjB;;;;;OAKG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;IAIhC;;;OAGG;IACG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ;IAI5C;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,kBAAkB,GAAG,oBAAoB;IAMtE;;;OAGG;IACG,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,oBAAoB;IAKxE;;OAEG;IACG,oBAAoB;IAK1B;;;;OAIG;IACH,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO;IAwB3D;;;;;;;OAOG;IACH,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,UAAO,GAAG,OAAO;IAuB5E;;;;;;;OAOG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAO,GAAG,OAAO;CAW7E"}
@@ -1,32 +1,91 @@
1
+ /**
2
+ * This file contains the class MatterbridgeAccessoryPlatform.
3
+ *
4
+ * @file matterbridgePlatform.ts
5
+ * @author Luca Liguori
6
+ * @date 2024-03-21
7
+ * @version 1.1.0
8
+ *
9
+ * Copyright 2024, 2025, 2026 Luca Liguori.
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License. *
22
+ */
1
23
  import { MatterbridgeDevice } from './matterbridgeDevice.js';
24
+ // AnsiLogger module
2
25
  import { CYAN, nf } from 'node-ansi-logger';
3
26
  import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
4
27
  import { isValidArray, isValidObject } from './utils/utils.js';
28
+ /**
29
+ * Represents the base Matterbridge platform.
30
+ *
31
+ */
5
32
  export class MatterbridgePlatform {
6
33
  matterbridge;
7
34
  log;
8
35
  config = {};
9
- name = '';
10
- type = '';
11
- version = '';
36
+ name = ''; // Will be set by the loadPlugin() method using the package.json value.
37
+ type = ''; // Will be set by the extending classes.
38
+ version = ''; // Will be set by the loadPlugin() method using the package.json value.
39
+ /**
40
+ * Creates an instance of the base MatterbridgePlatform.
41
+ * @param {Matterbridge} matterbridge - The Matterbridge instance.
42
+ * @param {AnsiLogger} log - The logger instance.
43
+ * @param {PlatformConfig} config - The platform configuration.
44
+ */
12
45
  constructor(matterbridge, log, config) {
13
46
  this.matterbridge = matterbridge;
14
47
  this.log = log;
15
48
  this.config = config;
16
49
  }
50
+ /**
51
+ * This method must be overridden in the extended class.
52
+ * It is called when the platform is started.
53
+ * Use this method to create the MatterbridgeDevice and call this.registerDevice().
54
+ * @param {string} [reason] - The reason for starting.
55
+ * @throws {Error} - Throws an error if the method is not overridden.
56
+ */
17
57
  async onStart(reason) {
18
58
  this.log.error('Plugins must override onStart.', reason);
19
59
  throw new Error('Plugins must override onStart.');
20
60
  }
61
+ /**
62
+ * This method can be overridden in the extended class.
63
+ * It is called after the platform has been commissioned.
64
+ * Use this method to perform any configuration of your devices.
65
+ */
21
66
  async onConfigure() {
22
67
  this.log.debug("The plugin doesn't override onConfigure.");
23
68
  }
69
+ /**
70
+ * This method can be overridden in the extended class.
71
+ * It is called when the platform is shutting down.
72
+ * Use this method to clean up any resources.
73
+ * @param {string} [reason] - The reason for shutting down.
74
+ */
24
75
  async onShutdown(reason) {
25
76
  this.log.debug("The plugin doesn't override onShutdown.", reason);
26
77
  }
78
+ /**
79
+ * Sets the logger level and logs a debug message indicating that the plugin doesn't override this method.
80
+ * @param {LogLevel} logLevel The new logger level.
81
+ */
27
82
  async onChangeLoggerLevel(logLevel) {
28
83
  this.log.debug(`The plugin doesn't override onChangeLoggerLevel. Logger level set to: ${logLevel}`);
29
84
  }
85
+ /**
86
+ * Registers a device with the Matterbridge platform.
87
+ * @param {MatterbridgeDevice} device - The device to register.
88
+ */
30
89
  async registerDevice(device) {
31
90
  device.plugin = this.name;
32
91
  if (device instanceof MatterbridgeDevice)
@@ -34,18 +93,30 @@ export class MatterbridgePlatform {
34
93
  if (device instanceof MatterbridgeEndpoint)
35
94
  await this.matterbridge.addBridgedEndpoint(this.name, device);
36
95
  }
96
+ /**
97
+ * Unregisters a device registered with the Matterbridge platform.
98
+ * @param {MatterbridgeDevice} device - The device to unregister.
99
+ */
37
100
  async unregisterDevice(device) {
38
101
  if (device instanceof MatterbridgeDevice)
39
102
  await this.matterbridge.removeBridgedDevice(this.name, device);
40
103
  if (device instanceof MatterbridgeEndpoint)
41
104
  await this.matterbridge.removeBridgedEndpoint(this.name, device);
42
105
  }
106
+ /**
107
+ * Unregisters all devices registered with the Matterbridge platform.
108
+ */
43
109
  async unregisterAllDevices() {
44
110
  if (this.matterbridge.edge)
45
111
  await this.matterbridge.removeAllBridgedEndpoints(this.name);
46
112
  else
47
113
  await this.matterbridge.removeAllBridgedDevices(this.name);
48
114
  }
115
+ /**
116
+ * Verifies if the Matterbridge version meets the required version.
117
+ * @param {string} requiredVersion - The required version to compare against.
118
+ * @returns {boolean} True if the Matterbridge version meets or exceeds the required version, false otherwise.
119
+ */
49
120
  verifyMatterbridgeVersion(requiredVersion) {
50
121
  const compareVersions = (matterbridgeVersion, requiredVersion) => {
51
122
  const stripTag = (v) => {
@@ -70,6 +141,14 @@ export class MatterbridgePlatform {
70
141
  return false;
71
142
  return true;
72
143
  }
144
+ /**
145
+ * Validates if a device is allowed based on the whitelist and blacklist configurations.
146
+ * The blacklist has priority over the whitelist.
147
+ *
148
+ * @param {string | string[]} device - The device name(s) to validate.
149
+ * @param {boolean} [log=true] - Whether to log the validation result.
150
+ * @returns {boolean} - Returns true if the device is allowed, false otherwise.
151
+ */
73
152
  validateDeviceWhiteBlackList(device, log = true) {
74
153
  if (!Array.isArray(device))
75
154
  device = [device];
@@ -99,6 +178,14 @@ export class MatterbridgePlatform {
99
178
  this.log.info(`Skipping device ${CYAN}${device.join(', ')}${nf} because not in whitelist`);
100
179
  return false;
101
180
  }
181
+ /**
182
+ * Validates if an entity is allowed based on the entity blacklist and device-entity blacklist configurations.
183
+ *
184
+ * @param {string} device - The device to which the entity belongs.
185
+ * @param {string} entity - The entity to validate.
186
+ * @param {boolean} [log=true] - Whether to log the validation result.
187
+ * @returns {boolean} - Returns true if the entity is allowed, false otherwise.
188
+ */
102
189
  validateEntityBlackList(device, entity, log = true) {
103
190
  if (isValidArray(this.config.entityBlackList, 1) && this.config.entityBlackList.find((e) => e === entity)) {
104
191
  if (log)
@@ -113,3 +200,4 @@ export class MatterbridgePlatform {
113
200
  return true;
114
201
  }
115
202
  }
203
+ //# sourceMappingURL=matterbridgePlatform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgePlatform.js","sourceRoot":"","sources":["../src/matterbridgePlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,oBAAoB;AACpB,OAAO,EAAc,IAAI,EAAY,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAW/D;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACxB,YAAY,CAAe;IAC3B,GAAG,CAAa;IAChB,MAAM,GAAmB,EAAE,CAAC;IAC5B,IAAI,GAAG,EAAE,CAAC,CAAC,uEAAuE;IAClF,IAAI,GAAG,EAAE,CAAC,CAAC,wCAAwC;IACnD,OAAO,GAAG,EAAE,CAAC,CAAC,uEAAuE;IAE5F;;;;;OAKG;IACH,YAAY,YAA0B,EAAE,GAAe,EAAE,MAAsB;QAC7E,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,MAAe;QAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,MAAe;QAC9B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CAAC,QAAkB;QAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yEAAyE,QAAQ,EAAE,CAAC,CAAC;IACtG,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,MAAiD;QACpE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,IAAI,MAAM,YAAY,kBAAkB;YAAE,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtG,IAAI,MAAM,YAAY,oBAAoB;YAAE,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5G,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAiD;QACtE,IAAI,MAAM,YAAY,kBAAkB;YAAE,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACzG,IAAI,MAAM,YAAY,oBAAoB;YAAE,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/G,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB;QACxB,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI;YAAE,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;YACpF,MAAM,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,yBAAyB,CAAC,eAAuB;QAC/C,MAAM,eAAe,GAAG,CAAC,mBAA2B,EAAE,eAAuB,EAAW,EAAE;YACxF,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,EAAE;gBAC7B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;oBACpB,OAAO,KAAK,CAAC;gBACf,CAAC;qBAAM,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC;oBAC3B,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,eAAe,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,4BAA4B,CAAC,MAAyB,EAAE,GAAG,GAAG,IAAI;QAChE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,MAAM;gBAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,gBAAgB,EAAE,CAAC;QACpF,CAAC;QACD,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,GAAG;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;YAChG,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,MAAM;gBAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,eAAe,EAAE,CAAC;QACnF,CAAC;;YAAM,eAAe,EAAE,CAAC;QACzB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,GAAG;YAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;QACpG,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACH,uBAAuB,CAAC,MAAc,EAAE,MAAc,EAAE,GAAG,GAAG,IAAI;QAChE,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC;YAC1G,IAAI,GAAG;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,GAAG,MAAM,GAAG,EAAE,6BAA6B,CAAC,CAAC;YAC3F,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB,IAAK,IAAI,CAAC,MAAM,CAAC,qBAAkD,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnM,IAAI,GAAG;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,GAAG,MAAM,GAAG,EAAE,eAAe,IAAI,GAAG,MAAM,GAAG,EAAE,mCAAmC,CAAC,CAAC;YAClI,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * This file contains the types for Matterbridge.
3
+ *
4
+ * @file matterbridgeTypes.ts
5
+ * @author Luca Liguori
6
+ * @date 2024-07-12
7
+ * @version 1.0.2
8
+ *
9
+ * Copyright 2023, 2024, 2025 Luca Liguori.
10
+ *
11
+ * Licensed under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License.
13
+ * You may obtain a copy of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS,
19
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
+ * See the License for the specific language governing permissions and
21
+ * limitations under the License. *
22
+ */
23
+ import { NodeStorage } from 'node-persist-manager';
24
+ import { LogLevel } from 'node-ansi-logger';
25
+ import { MatterbridgePlatform, PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
26
+ import { MatterbridgeDevice } from './matterbridgeDevice.js';
27
+ import { FabricIndex, NodeId, VendorId, StorageContext, ServerNode, EndpointNumber } from '@matter/main';
28
+ import { ExposedFabricInformation } from '@matter/main/protocol';
29
+ import { AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
30
+ import { CommissioningServer } from '@project-chip/matter.js';
31
+ import { Aggregator } from '@project-chip/matter.js/device';
32
+ import { Endpoint } from '@project-chip/matter.js/endpoint';
33
+ export declare const plg = "\u001B[38;5;33m";
34
+ export declare const dev = "\u001B[38;5;79m";
35
+ export declare const typ = "\u001B[38;5;207m";
36
+ export interface RegisteredPlugin extends BaseRegisteredPlugin {
37
+ nodeContext?: NodeStorage;
38
+ storageContext?: StorageContext;
39
+ commissioningServer?: CommissioningServer;
40
+ aggregator?: Aggregator;
41
+ device?: MatterbridgeDevice;
42
+ platform?: MatterbridgePlatform;
43
+ reachabilityTimeout?: NodeJS.Timeout;
44
+ serverNode?: ServerNode<ServerNode.RootEndpoint>;
45
+ aggregatorNode?: Endpoint<AggregatorEndpoint>;
46
+ }
47
+ export interface BaseRegisteredPlugin {
48
+ name: string;
49
+ version: string;
50
+ description: string;
51
+ author: string;
52
+ path: string;
53
+ type: string;
54
+ latestVersion?: string;
55
+ locked?: boolean;
56
+ error?: boolean;
57
+ enabled?: boolean;
58
+ loaded?: boolean;
59
+ started?: boolean;
60
+ configured?: boolean;
61
+ paired?: boolean;
62
+ connected?: boolean;
63
+ fabricInformations?: SanitizedExposedFabricInformation[];
64
+ sessionInformations?: SanitizedSessionInformation[];
65
+ registeredDevices?: number;
66
+ addedDevices?: number;
67
+ qrPairingCode?: string;
68
+ manualPairingCode?: string;
69
+ configJson?: PlatformConfig;
70
+ schemaJson?: PlatformSchema;
71
+ }
72
+ export interface SystemInformation {
73
+ interfaceName: string;
74
+ macAddress: string;
75
+ ipv4Address: string;
76
+ ipv6Address: string;
77
+ nodeVersion: string;
78
+ hostname: string;
79
+ user: string;
80
+ osType: string;
81
+ osRelease: string;
82
+ osPlatform: string;
83
+ osArch: string;
84
+ totalMemory: string;
85
+ freeMemory: string;
86
+ systemUptime: string;
87
+ }
88
+ export interface MatterbridgeInformation {
89
+ homeDirectory: string;
90
+ rootDirectory: string;
91
+ matterbridgeDirectory: string;
92
+ matterbridgePluginDirectory: string;
93
+ globalModulesDirectory: string;
94
+ matterbridgeVersion: string;
95
+ matterbridgeLatestVersion: string;
96
+ matterbridgeQrPairingCode: string | undefined;
97
+ matterbridgeManualPairingCode: string | undefined;
98
+ matterbridgeFabricInformations: SanitizedExposedFabricInformation[];
99
+ matterbridgeSessionInformations: SanitizedSessionInformation[];
100
+ matterbridgePaired: boolean;
101
+ matterbridgeConnected: boolean;
102
+ bridgeMode: string;
103
+ restartMode: string;
104
+ edge: boolean;
105
+ readOnly: boolean;
106
+ profile?: string;
107
+ loggerLevel: LogLevel;
108
+ fileLogger: boolean;
109
+ matterLoggerLevel: number;
110
+ matterFileLogger: boolean;
111
+ mattermdnsinterface: string | undefined;
112
+ matteripv4address: string | undefined;
113
+ matteripv6address: string | undefined;
114
+ matterPort: number;
115
+ matterDiscriminator: number | undefined;
116
+ matterPasscode: number | undefined;
117
+ restartRequired: boolean;
118
+ refreshRequired: boolean;
119
+ }
120
+ export interface SanitizedExposedFabricInformation {
121
+ fabricIndex: FabricIndex;
122
+ fabricId: string;
123
+ nodeId: string;
124
+ rootNodeId: string;
125
+ rootVendorId: VendorId;
126
+ rootVendorName: string;
127
+ label: string;
128
+ }
129
+ export interface SessionInformation {
130
+ name: string;
131
+ nodeId: NodeId;
132
+ peerNodeId: NodeId;
133
+ fabric?: ExposedFabricInformation;
134
+ isPeerActive: boolean;
135
+ secure: boolean;
136
+ lastInteractionTimestamp?: number;
137
+ lastActiveTimestamp?: number;
138
+ numberOfActiveSubscriptions: number;
139
+ }
140
+ export interface SanitizedSessionInformation {
141
+ name: string;
142
+ nodeId: string;
143
+ peerNodeId: string;
144
+ fabric?: SanitizedExposedFabricInformation;
145
+ isPeerActive: boolean;
146
+ secure: boolean;
147
+ lastInteractionTimestamp?: string;
148
+ lastActiveTimestamp?: string;
149
+ numberOfActiveSubscriptions: number;
150
+ }
151
+ export interface ApiDevices {
152
+ pluginName: string;
153
+ type: string;
154
+ endpoint: EndpointNumber | undefined;
155
+ name: string;
156
+ serial: string;
157
+ productUrl: string;
158
+ configUrl?: string;
159
+ uniqueId: string;
160
+ cluster: string;
161
+ }
162
+ //# sourceMappingURL=matterbridgeTypes.d.ts.map