homebridge-config-ui-x 5.8.1-alpha.0 → 5.8.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/dist/core/config/config.interfaces.d.ts +11 -10
  2. package/dist/core/homebridge-ipc/homebridge-ipc.service.d.ts +1 -1
  3. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +2 -4
  4. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  5. package/dist/modules/child-bridges/child-bridges.gateway.d.ts +1 -14
  6. package/dist/modules/child-bridges/child-bridges.gateway.js +1 -67
  7. package/dist/modules/child-bridges/child-bridges.gateway.js.map +1 -1
  8. package/dist/modules/child-bridges/child-bridges.module.js +0 -8
  9. package/dist/modules/child-bridges/child-bridges.module.js.map +1 -1
  10. package/dist/modules/child-bridges/child-bridges.service.d.ts +8 -40
  11. package/dist/modules/child-bridges/child-bridges.service.js +10 -345
  12. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  13. package/dist/modules/config-editor/config-editor.service.js +0 -7
  14. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  15. package/dist/modules/matter-bridges/matter-bridges.controller.d.ts +17 -0
  16. package/dist/modules/matter-bridges/matter-bridges.controller.js +104 -0
  17. package/dist/modules/matter-bridges/matter-bridges.controller.js.map +1 -0
  18. package/dist/modules/matter-bridges/matter-bridges.gateway.d.ts +0 -3
  19. package/dist/modules/matter-bridges/matter-bridges.gateway.js +0 -42
  20. package/dist/modules/matter-bridges/matter-bridges.gateway.js.map +1 -1
  21. package/dist/modules/matter-bridges/matter-bridges.interfaces.d.ts +13 -34
  22. package/dist/modules/matter-bridges/matter-bridges.interfaces.js +0 -7
  23. package/dist/modules/matter-bridges/matter-bridges.interfaces.js.map +1 -1
  24. package/dist/modules/matter-bridges/matter-bridges.module.js +8 -2
  25. package/dist/modules/matter-bridges/matter-bridges.module.js.map +1 -1
  26. package/dist/modules/matter-bridges/matter-bridges.service.d.ts +22 -14
  27. package/dist/modules/matter-bridges/matter-bridges.service.js +201 -54
  28. package/dist/modules/matter-bridges/matter-bridges.service.js.map +1 -1
  29. package/dist/modules/plugins/plugins.service.js +0 -27
  30. package/dist/modules/plugins/plugins.service.js.map +1 -1
  31. package/dist/modules/server/server.controller.d.ts +14 -6
  32. package/dist/modules/server/server.controller.js +36 -20
  33. package/dist/modules/server/server.controller.js.map +1 -1
  34. package/dist/modules/server/server.module.js +3 -1
  35. package/dist/modules/server/server.module.js.map +1 -1
  36. package/dist/modules/server/server.service.d.ts +10 -1
  37. package/dist/modules/server/server.service.js +80 -2
  38. package/dist/modules/server/server.service.js.map +1 -1
  39. package/dist/modules/status/status.controller.d.ts +1 -1
  40. package/dist/modules/status/status.controller.js +1 -3
  41. package/dist/modules/status/status.controller.js.map +1 -1
  42. package/package.json +4 -4
  43. package/public/chunk-26OWANUT.js +49 -0
  44. package/public/{chunk-PWTIH4WJ.js → chunk-2GXYRKHH.js} +1 -1
  45. package/public/{chunk-VDZRGZBL.js → chunk-2H6M4LVM.js} +1 -1
  46. package/public/{chunk-EXIREAXJ.js → chunk-2I4ETLZH.js} +1 -1
  47. package/public/{chunk-TUKDK3NJ.js → chunk-2VTPTBWC.js} +1 -1
  48. package/public/{chunk-2FZPXF6E.js → chunk-35UZ7VZX.js} +1 -1
  49. package/public/{chunk-TXS667XX.js → chunk-37PL2Q23.js} +1 -1
  50. package/public/{chunk-IWJB7IT2.js → chunk-3PLIJBTE.js} +1 -1
  51. package/public/{chunk-QJNBG7IQ.js → chunk-3SAD2VNO.js} +1 -1
  52. package/public/{chunk-CBGOSEHO.js → chunk-6AMBOE4Y.js} +1 -1
  53. package/public/{chunk-PUVYEUNW.js → chunk-6E5BARSR.js} +1 -1
  54. package/public/chunk-6JS4ZQWX.js +1 -0
  55. package/public/{chunk-PNB2QVH3.js → chunk-6LFL4MDA.js} +1 -1
  56. package/public/{chunk-ZYJD3IFR.js → chunk-7DSW3N54.js} +1 -1
  57. package/public/{chunk-HQO55IAP.js → chunk-A6Q642ZL.js} +1 -1
  58. package/public/chunk-APSJUK45.js +19 -0
  59. package/public/{chunk-3SCINSZK.js → chunk-AV4TLMKI.js} +4 -4
  60. package/public/{chunk-A6MJKCXP.js → chunk-B6JXLW44.js} +1 -1
  61. package/public/chunk-BPRJFSMN.js +16 -0
  62. package/public/{chunk-AVLU4OBB.js → chunk-BTLT5RJH.js} +1 -1
  63. package/public/chunk-BTUMLRBK.js +1 -0
  64. package/public/{chunk-P2UG4QRG.js → chunk-C24ICGN6.js} +1 -1
  65. package/public/{chunk-Z5SXR7XM.js → chunk-CVDVGPUL.js} +1 -1
  66. package/public/{chunk-CZKY2WDA.js → chunk-D3DDU6SK.js} +1 -1
  67. package/public/{chunk-PXZ3C3WB.js → chunk-DM4UKQJR.js} +1 -1
  68. package/public/{chunk-7C5NPZ7J.js → chunk-FKWZUPGA.js} +1 -1
  69. package/public/{chunk-PTSXKYWE.js → chunk-GUAWWDOS.js} +1 -1
  70. package/public/{chunk-RWGYAZ5Z.js → chunk-H6CTSSL5.js} +1 -1
  71. package/public/{chunk-W6TEFWHS.js → chunk-HJP3PUHH.js} +1 -1
  72. package/public/{chunk-G45L27Q7.js → chunk-HUH4CVWW.js} +1 -1
  73. package/public/{chunk-PT3BSLVU.js → chunk-I6E7YQPI.js} +1 -1
  74. package/public/{chunk-5YQJFB37.js → chunk-J5CM7V6S.js} +1 -1
  75. package/public/{chunk-AJSLB3ED.js → chunk-KDVFF7AY.js} +1 -1
  76. package/public/chunk-L3NSG4YB.js +1 -0
  77. package/public/{chunk-HTO5QSUD.js → chunk-LV4KCGZA.js} +1 -1
  78. package/public/{chunk-2LNPZWQG.js → chunk-MLNUGBKB.js} +1 -1
  79. package/public/chunk-MOC27Z2W.js +1 -0
  80. package/public/{chunk-HMTMYCVH.js → chunk-MPEXWCHQ.js} +1 -1
  81. package/public/{chunk-4SJ7LVRB.js → chunk-MTATY52X.js} +1 -1
  82. package/public/{chunk-AJ7QBH6A.js → chunk-MWP3WV26.js} +1 -1
  83. package/public/{chunk-UKQ7VNGQ.js → chunk-N25MZZTN.js} +1 -1
  84. package/public/{chunk-NACTGAO2.js → chunk-NVWZQWEN.js} +1 -1
  85. package/public/chunk-OSMYI4FR.js +1 -0
  86. package/public/{chunk-36O7RGHR.js → chunk-P5G7H6Z3.js} +1 -1
  87. package/public/{chunk-NV5MWDBB.js → chunk-PAYR4BP6.js} +1 -1
  88. package/public/{chunk-CQKRPPY5.js → chunk-PKBYFZL6.js} +1 -1
  89. package/public/{chunk-Q5YQZNNH.js → chunk-PN4G3SRW.js} +1 -1
  90. package/public/{chunk-YDANTMYI.js → chunk-PVTUDHUR.js} +1 -1
  91. package/public/{chunk-OISGHRTF.js → chunk-Q3MWAS4P.js} +1 -1
  92. package/public/{chunk-D7S7TYFI.js → chunk-R5XUDO3O.js} +1 -1
  93. package/public/{chunk-YNDC5MZW.js → chunk-RH72P3KQ.js} +1 -1
  94. package/public/chunk-SAOAUW4Q.js +4 -0
  95. package/public/{chunk-AP4JI74X.js → chunk-SDI5HSBM.js} +1 -1
  96. package/public/{chunk-FEK3NRZH.js → chunk-SZMSL4WR.js} +1 -1
  97. package/public/chunk-U7PKXES7.js +1 -0
  98. package/public/{chunk-LKOTF3NL.js → chunk-UANJM6RI.js} +1 -1
  99. package/public/{chunk-OPWPZI2P.js → chunk-UTXD6T57.js} +1 -1
  100. package/public/{chunk-5WCKLLH6.js → chunk-UUM6VYTY.js} +1 -1
  101. package/public/{chunk-JFCVTQA4.js → chunk-VHWW22XF.js} +1 -1
  102. package/public/{chunk-LOVIIHLB.js → chunk-VKEEEO4W.js} +1 -1
  103. package/public/chunk-WIQRKTJE.js +2 -0
  104. package/public/chunk-WNSKIS6I.js +2 -0
  105. package/public/{chunk-L5FTKOE7.js → chunk-WOLG5CZA.js} +1 -1
  106. package/public/chunk-XPPYXYIG.js +1 -0
  107. package/public/{chunk-TENKBXZX.js → chunk-XTFZVALQ.js} +1 -1
  108. package/public/chunk-ZEPBMBZP.js +1 -0
  109. package/public/{chunk-4DQ2NOSN.js → chunk-ZFXCZXMZ.js} +1 -1
  110. package/public/{chunk-BVFXBL5M.js → chunk-ZVVFXECV.js} +1 -1
  111. package/public/index.html +2 -2
  112. package/public/{main-3LNHHNC2.js → main-SHUTEFR3.js} +1 -1
  113. package/public/media/fa-brands-400-E7XUCEPO.woff2 +0 -0
  114. package/public/media/fa-regular-400-LBQEIAJB.woff2 +0 -0
  115. package/public/media/fa-solid-900-XY6737PV.woff2 +0 -0
  116. package/public/{styles-JQW3VPD2.css → styles-XX2FIUST.css} +1 -1
  117. package/dist/modules/child-bridges/child-bridges.controller.d.ts +0 -35
  118. package/dist/modules/child-bridges/child-bridges.controller.js +0 -284
  119. package/dist/modules/child-bridges/child-bridges.controller.js.map +0 -1
  120. package/dist/modules/child-bridges/child-bridges.interfaces.d.ts +0 -45
  121. package/dist/modules/child-bridges/child-bridges.interfaces.js +0 -3
  122. package/dist/modules/child-bridges/child-bridges.interfaces.js.map +0 -1
  123. package/public/chunk-2CYCDT6U.js +0 -1
  124. package/public/chunk-4PASWGPR.js +0 -1
  125. package/public/chunk-5EMBTLJ7.js +0 -4
  126. package/public/chunk-5K72UETZ.js +0 -1
  127. package/public/chunk-7OTM6HOE.js +0 -1
  128. package/public/chunk-AXC7PSAQ.js +0 -16
  129. package/public/chunk-JES74EAE.js +0 -2
  130. package/public/chunk-MRBPQZKJ.js +0 -1
  131. package/public/chunk-NE5XVVZY.js +0 -1
  132. package/public/chunk-NKX7JONP.js +0 -1
  133. package/public/chunk-PW42N7TW.js +0 -49
  134. package/public/chunk-SJQJVLLN.js +0 -19
  135. package/public/chunk-UUN7J43O.js +0 -2
  136. package/public/chunk-VTV2NDYL.js +0 -1
  137. package/public/media/fa-brands-400-E3YNADOB.woff2 +0 -0
  138. package/public/media/fa-regular-400-UOSVBSEG.woff2 +0 -0
  139. package/public/media/fa-solid-900-6JWCQRDQ.woff2 +0 -0
@@ -8,19 +8,30 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ var MatterBridgesService_1;
11
15
  Object.defineProperty(exports, "__esModule", { value: true });
12
16
  exports.MatterBridgesService = void 0;
17
+ const node_path_1 = __importDefault(require("node:path"));
18
+ const node_process_1 = __importDefault(require("node:process"));
13
19
  const common_1 = require("@nestjs/common");
20
+ const fs_extra_1 = __importDefault(require("fs-extra"));
14
21
  const homebridge_ipc_service_1 = require("../../core/homebridge-ipc/homebridge-ipc.service");
15
- let MatterBridgesService = class MatterBridgesService {
16
- constructor(homebridgeIpcService) {
22
+ const config_editor_service_1 = require("../config-editor/config-editor.service");
23
+ let MatterBridgesService = MatterBridgesService_1 = class MatterBridgesService {
24
+ constructor(homebridgeIpcService, configEditorService) {
17
25
  this.homebridgeIpcService = homebridgeIpcService;
26
+ this.configEditorService = configEditorService;
27
+ this.logger = new common_1.Logger(MatterBridgesService_1.name);
18
28
  }
19
29
  async getMatterBridges() {
20
30
  try {
21
31
  return await this.homebridgeIpcService.requestResponse('matterBridgeMetadataRequest', 'matterBridgeMetadataResponse');
22
32
  }
23
33
  catch (e) {
34
+ this.logger.error(`Failed to get Matter bridges: ${e.message}`);
24
35
  return [];
25
36
  }
26
37
  }
@@ -28,6 +39,23 @@ let MatterBridgesService = class MatterBridgesService {
28
39
  const listener = (data) => {
29
40
  client.emit('matter-bridge-status-update', data);
30
41
  };
42
+ try {
43
+ const commissioningInfo = await this.getCommissioningInfo('main-bridge');
44
+ const config = await this.configEditorService.getConfigFile();
45
+ const matterConfig = await this.getMatterConfig();
46
+ client.emit('matter-bridge-status-update', {
47
+ identifier: 'main-bridge',
48
+ setupUri: commissioningInfo.setupUri,
49
+ pin: commissioningInfo.pin,
50
+ commissioned: commissioningInfo.commissioned,
51
+ matterEnabled: commissioningInfo.matterEnabled,
52
+ name: matterConfig?.name || (config.bridge.name ? `${config.bridge.name} (Matter)` : 'Homebridge Matter Bridge'),
53
+ status: commissioningInfo.setupUri ? 'ok' : 'pending',
54
+ });
55
+ }
56
+ catch (e) {
57
+ this.logger.debug(`Could not get initial Matter bridge status: ${e.message}`);
58
+ }
31
59
  this.homebridgeIpcService.setMaxListeners(this.homebridgeIpcService.getMaxListeners() + 1);
32
60
  this.homebridgeIpcService.on('matterBridgeStatusUpdate', listener);
33
61
  const onEnd = () => {
@@ -41,47 +69,63 @@ let MatterBridgesService = class MatterBridgesService {
41
69
  client.on('end', onEnd.bind(this));
42
70
  client.on('disconnect', onEnd.bind(this));
43
71
  }
44
- stopStartRestartMatterBridge(event, deviceId) {
45
- this.homebridgeIpcService.sendMessage(event, deviceId);
72
+ stopStartRestartMatterBridge(event, bridgeId) {
73
+ this.homebridgeIpcService.sendMessage(event, bridgeId);
46
74
  return {
47
75
  ok: true,
48
76
  };
49
77
  }
50
- async restartMatterBridge(usernameOrIdentifier) {
51
- const identifier = await this.resolveIdentifier(usernameOrIdentifier);
52
- return this.stopStartRestartMatterBridge('restartMatterBridge', identifier);
78
+ async restartMatterBridge(bridgeId) {
79
+ return this.stopStartRestartMatterBridge('restartMatterBridge', bridgeId);
53
80
  }
54
- async stopMatterBridge(usernameOrIdentifier) {
55
- const identifier = await this.resolveIdentifier(usernameOrIdentifier);
56
- return this.stopStartRestartMatterBridge('stopMatterBridge', identifier);
81
+ async stopMatterBridge(bridgeId) {
82
+ return this.stopStartRestartMatterBridge('stopMatterBridge', bridgeId);
57
83
  }
58
- async startMatterBridge(usernameOrIdentifier) {
59
- const identifier = await this.resolveIdentifier(usernameOrIdentifier);
60
- return this.stopStartRestartMatterBridge('startMatterBridge', identifier);
84
+ async startMatterBridge(bridgeId) {
85
+ return this.stopStartRestartMatterBridge('startMatterBridge', bridgeId);
61
86
  }
62
- async resolveIdentifier(usernameOrIdentifier) {
63
- if (usernameOrIdentifier.match(/^HB-[A-Z0-9]{8}-[A-Z0-9]{4}$/)) {
64
- const bridges = await this.getMatterBridges();
65
- const bridge = bridges.find(b => b.serialNumber === usernameOrIdentifier);
66
- if (!bridge) {
67
- throw new Error(`Matter bridge not found: ${usernameOrIdentifier}`);
68
- }
69
- return bridge.identifier;
87
+ async getCommissioningInfo(lookupKey) {
88
+ if (!lookupKey) {
89
+ throw new Error('Bridge ID or username is required');
70
90
  }
71
- return usernameOrIdentifier;
72
- }
73
- async getCommissioningInfo(usernameOrIdentifier) {
74
- if (!usernameOrIdentifier) {
75
- throw new Error('Username or identifier is required');
91
+ let bridgeId = lookupKey;
92
+ if (lookupKey.includes(':')) {
93
+ try {
94
+ const childBridges = await this.homebridgeIpcService.requestResponse('childBridgeMetadataRequest', 'childBridgeMetadataResponse');
95
+ const bridge = childBridges.find(b => b.username?.toUpperCase() === lookupKey.toUpperCase());
96
+ if (bridge && bridge.matterIdentifier) {
97
+ bridgeId = bridge.matterIdentifier;
98
+ }
99
+ else {
100
+ return {
101
+ commissioned: false,
102
+ matterEnabled: false,
103
+ };
104
+ }
105
+ }
106
+ catch (e) {
107
+ this.logger.error(`Failed to lookup child bridge for username ${lookupKey}: ${e.message}`);
108
+ return {
109
+ commissioned: false,
110
+ matterEnabled: false,
111
+ };
112
+ }
76
113
  }
77
- const identifier = await this.resolveIdentifier(usernameOrIdentifier);
114
+ const matterConfig = await this.getMatterConfig();
115
+ const matterEnabled = matterConfig !== null;
78
116
  try {
79
- await this.homebridgeIpcService.sendMessage('matterCommissioningInfoRequest', identifier);
80
- return await this.homebridgeIpcService.requestResponse('matterCommissioningInfoRequest', 'matterCommissioningInfoResponse');
117
+ const info = await this.homebridgeIpcService.requestResponse('matterCommissioningInfoRequest', 'matterCommissioningInfoResponse', bridgeId);
118
+ return {
119
+ ...info,
120
+ matterEnabled,
121
+ };
81
122
  }
82
123
  catch (e) {
83
- console.error(`Failed to get commissioning info for ${identifier}:`, e);
84
- return { commissioned: false };
124
+ this.logger.error(`Failed to get commissioning info for bridge ${bridgeId}: ${e.message}`);
125
+ return {
126
+ commissioned: false,
127
+ matterEnabled,
128
+ };
85
129
  }
86
130
  }
87
131
  async getMatterAccessories() {
@@ -89,7 +133,7 @@ let MatterBridgesService = class MatterBridgesService {
89
133
  return await this.homebridgeIpcService.requestResponse('matterAccessoriesRequest', 'matterAccessoriesResponse');
90
134
  }
91
135
  catch (e) {
92
- console.error('Failed to get Matter accessories:', e);
136
+ this.logger.error(`Failed to get Matter accessories: ${e.message}`);
93
137
  return { children: {} };
94
138
  }
95
139
  }
@@ -104,43 +148,146 @@ let MatterBridgesService = class MatterBridgesService {
104
148
  const bridges = await this.getMatterBridges();
105
149
  return bridges.filter(bridge => bridge.plugin === pluginName);
106
150
  }
107
- async openCommissioningWindow(payload) {
151
+ async getMatterBridgeIdentifiers() {
152
+ const configService = this.configEditorService;
153
+ const storagePath = node_process_1.default.env.UIX_STORAGE_PATH || node_path_1.default.join(node_process_1.default.env.HOME || node_process_1.default.env.USERPROFILE || '', '.homebridge');
154
+ const matterPath = node_path_1.default.join(storagePath, '.matter');
155
+ const identifiers = [];
108
156
  try {
109
- const identifier = await this.resolveIdentifier(payload.bridgeId);
110
- await this.homebridgeIpcService.sendMessage('matterOpenCommissioningWindow', { ...payload, bridgeId: identifier });
111
- return await this.homebridgeIpcService.requestResponse('matterCommissioningWindowRequest', 'matterCommissioningWindowResponse');
157
+ if (!await fs_extra_1.default.pathExists(matterPath)) {
158
+ return identifiers;
159
+ }
160
+ const dirs = await fs_extra_1.default.readdir(matterPath);
161
+ for (const dir of dirs) {
162
+ const dirPath = node_path_1.default.join(matterPath, dir);
163
+ const stat = await fs_extra_1.default.stat(dirPath);
164
+ if (!stat.isDirectory()) {
165
+ continue;
166
+ }
167
+ const identifier = dir;
168
+ const type = identifier === 'main-bridge' ? 'main' : 'child';
169
+ const commissioningPath = node_path_1.default.join(dirPath, 'commissioning.json');
170
+ let commissioned = false;
171
+ try {
172
+ if (await fs_extra_1.default.pathExists(commissioningPath)) {
173
+ commissioned = true;
174
+ }
175
+ }
176
+ catch (e) {
177
+ this.logger.debug(`Could not read commissioning file for ${identifier}: ${e.message}`);
178
+ }
179
+ let username;
180
+ let name;
181
+ if (type === 'child') {
182
+ const usernameMatch = identifier.match(/^child-(.+)$/);
183
+ if (usernameMatch) {
184
+ const usernameWithoutDashes = usernameMatch[1];
185
+ username = usernameWithoutDashes.match(/.{1,2}/g)?.join(':').toUpperCase();
186
+ }
187
+ try {
188
+ const config = await configService.getConfigFile();
189
+ const blocks = [
190
+ ...(config.accessories || []),
191
+ ...(config.platforms || []),
192
+ ].filter((block) => block._bridge?.username?.toUpperCase() === username);
193
+ if (blocks.length > 0) {
194
+ name = blocks[0]._bridge?.matter?.name || blocks[0].name || blocks[0].platform || blocks[0].accessory;
195
+ }
196
+ }
197
+ catch (e) {
198
+ this.logger.debug(`Could not read config for child bridge ${identifier}: ${e.message}`);
199
+ }
200
+ }
201
+ else {
202
+ try {
203
+ const config = await configService.getConfigFile();
204
+ name = config.bridge.matter?.name || config.bridge.name;
205
+ }
206
+ catch (e) {
207
+ this.logger.debug(`Could not read config for main bridge: ${e.message}`);
208
+ }
209
+ }
210
+ identifiers.push({
211
+ identifier,
212
+ type,
213
+ name,
214
+ commissioned,
215
+ username,
216
+ });
217
+ }
218
+ return identifiers;
112
219
  }
113
220
  catch (e) {
114
- console.error('Failed to open commissioning window:', e);
115
- throw e;
221
+ this.logger.error(`Failed to get Matter bridge identifiers: ${e.message}`);
222
+ return identifiers;
116
223
  }
117
224
  }
118
- async closeCommissioningWindow(usernameOrIdentifier) {
225
+ async getMatterConfig() {
226
+ const config = await this.configEditorService.getConfigFile();
227
+ return config.bridge.matter !== undefined ? config.bridge.matter : null;
228
+ }
229
+ async updateMatterConfig(matterConfig) {
230
+ this.validateMatterConfig(matterConfig);
231
+ const config = await this.configEditorService.getConfigFile();
232
+ config.bridge.matter = matterConfig;
233
+ await this.configEditorService.updateConfigFile(config);
234
+ return matterConfig;
235
+ }
236
+ async deleteMatterConfig() {
237
+ const config = await this.configEditorService.getConfigFile();
238
+ delete config.bridge.matter;
239
+ await this.configEditorService.updateConfigFile(config);
240
+ }
241
+ async deleteMatterBridge(identifier) {
242
+ const storagePath = node_process_1.default.env.UIX_STORAGE_PATH || node_path_1.default.join(node_process_1.default.env.HOME || node_process_1.default.env.USERPROFILE || '', '.homebridge');
243
+ const matterPath = node_path_1.default.join(storagePath, '.matter');
244
+ const bridgePath = node_path_1.default.join(matterPath, identifier);
119
245
  try {
120
- const identifier = await this.resolveIdentifier(usernameOrIdentifier);
121
- await this.homebridgeIpcService.sendMessage('matterCloseCommissioningWindow', identifier);
122
- return await this.homebridgeIpcService.requestResponse('matterCommissioningWindowRequest', 'matterCommissioningWindowResponse');
246
+ if (!await fs_extra_1.default.pathExists(bridgePath)) {
247
+ throw new common_1.BadRequestException(`Matter bridge ${identifier} does not exist`);
248
+ }
249
+ await fs_extra_1.default.remove(bridgePath);
123
250
  }
124
251
  catch (e) {
125
- console.error('Failed to close commissioning window:', e);
126
- throw e;
252
+ if (e instanceof common_1.BadRequestException) {
253
+ throw e;
254
+ }
255
+ throw new common_1.BadRequestException(`Failed to delete Matter bridge ${identifier}: ${e.message}`);
127
256
  }
128
257
  }
129
- async getCommissioningStatus(usernameOrIdentifier) {
130
- try {
131
- const identifier = await this.resolveIdentifier(usernameOrIdentifier);
132
- await this.homebridgeIpcService.sendMessage('matterCommissioningStatusRequest', identifier);
133
- return await this.homebridgeIpcService.requestResponse('matterCommissioningStatusRequest', 'matterCommissioningStatusResponse');
258
+ validateMatterConfig(matterConfig) {
259
+ if (matterConfig.port !== undefined) {
260
+ if (typeof matterConfig.port !== 'number'
261
+ || !Number.isInteger(matterConfig.port)
262
+ || matterConfig.port < 1024
263
+ || matterConfig.port > 65535) {
264
+ throw new common_1.BadRequestException('Port must be an integer between 1024 and 65535');
265
+ }
266
+ if ([5353, 8080, 8443].includes(matterConfig.port)) {
267
+ throw new common_1.BadRequestException('Port 5353, 8080, and 8443 are reserved and cannot be used');
268
+ }
134
269
  }
135
- catch (e) {
136
- console.error('Failed to get commissioning status:', e);
137
- throw e;
270
+ if (matterConfig.name !== undefined) {
271
+ if (typeof matterConfig.name !== 'string') {
272
+ throw new common_1.BadRequestException('Name must be a string');
273
+ }
274
+ if (matterConfig.name.trim() === '') {
275
+ throw new common_1.BadRequestException('Name cannot be empty');
276
+ }
277
+ if (matterConfig.name.length > 32) {
278
+ throw new common_1.BadRequestException('Name must be 32 characters or less');
279
+ }
280
+ const printableAsciiPattern = /^[\x20-\x7E]*$/;
281
+ if (!printableAsciiPattern.test(matterConfig.name)) {
282
+ throw new common_1.BadRequestException('Name must contain only printable ASCII characters');
283
+ }
138
284
  }
139
285
  }
140
286
  };
141
287
  exports.MatterBridgesService = MatterBridgesService;
142
- exports.MatterBridgesService = MatterBridgesService = __decorate([
288
+ exports.MatterBridgesService = MatterBridgesService = MatterBridgesService_1 = __decorate([
143
289
  (0, common_1.Injectable)(),
144
- __metadata("design:paramtypes", [homebridge_ipc_service_1.HomebridgeIpcService])
290
+ __metadata("design:paramtypes", [homebridge_ipc_service_1.HomebridgeIpcService,
291
+ config_editor_service_1.ConfigEditorService])
145
292
  ], MatterBridgesService);
146
293
  //# sourceMappingURL=matter-bridges.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"matter-bridges.service.js","sourceRoot":"","sources":["../../../src/modules/matter-bridges/matter-bridges.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,2CAA2C;AAE3C,6FAAuF;AAGhF,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B,YACmB,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IAC1D,CAAC;IAKG,KAAK,CAAC,gBAAgB;QAC3B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,6BAA6B,EAAE,8BAA8B,CAA2B,CAAA;QACjJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAOM,KAAK,CAAC,uBAAuB,CAAC,MAAM;QACzC,MAAM,QAAQ,GAAG,CAAC,IAAI,EAAE,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAA;QAClD,CAAC,CAAA;QAED,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAA;QAC1F,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAA;QAGlE,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;YAChC,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;YACvC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAA;YACpD,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAA;YAC9E,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAA;QAC5F,CAAC,CAAA;QAED,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAA;QACpD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAClC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAC3C,CAAC;IAQM,4BAA4B,CAAC,KAAuE,EAAE,QAAgB;QAC3H,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QACtD,OAAO;YACL,EAAE,EAAE,IAAI;SACT,CAAA;IACH,CAAC;IAMM,KAAK,CAAC,mBAAmB,CAAC,oBAA4B;QAC3D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QACrE,OAAO,IAAI,CAAC,4BAA4B,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAA;IAC7E,CAAC;IAMM,KAAK,CAAC,gBAAgB,CAAC,oBAA4B;QACxD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QACrE,OAAO,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAA;IAC1E,CAAC;IAMM,KAAK,CAAC,iBAAiB,CAAC,oBAA4B;QACzD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QACrE,OAAO,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAA;IAC3E,CAAC;IAOO,KAAK,CAAC,iBAAiB,CAAC,oBAA4B;QAE1D,IAAI,oBAAoB,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;YAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,oBAAoB,CAAC,CAAA;YACzE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,oBAAoB,EAAE,CAAC,CAAA;YACrE,CAAC;YACD,OAAO,MAAM,CAAC,UAAU,CAAA;QAC1B,CAAC;QAED,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAMM,KAAK,CAAC,oBAAoB,CAAC,oBAA4B;QAC5D,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QAErE,IAAI,CAAC;YAEH,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,gCAAgC,EAAE,UAAU,CAAC,CAAA;YAGzF,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,gCAAgC,EAAE,iCAAiC,CAA4B,CAAA;QACxJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAA;YACvE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;QAChC,CAAC;IACH,CAAC;IAKM,KAAK,CAAC,oBAAoB;QAC/B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,0BAA0B,EAAE,2BAA2B,CAA8B,CAAA;QAC9I,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAA;YACrD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;QACzB,CAAC;IACH,CAAC;IAKM,KAAK,CAAC,eAAe,CAAC,UAAkB;QAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7C,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAA;IACjE,CAAC;IAKM,KAAK,CAAC,yBAAyB,CAAC,UAAkB;QACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,CAAA;IAC/D,CAAC;IAKM,KAAK,CAAC,uBAAuB,CAAC,OAAgD;QACnF,IAAI,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACjE,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,+BAA+B,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAA;YAClH,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kCAAkC,EAAE,mCAAmC,CAAC,CAAA;QACjI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YACxD,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IAMM,KAAK,CAAC,wBAAwB,CAAC,oBAA4B;QAChE,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;YACrE,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,gCAAgC,EAAE,UAAU,CAAC,CAAA;YACzF,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kCAAkC,EAAE,mCAAmC,CAAC,CAAA;QACjI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAA;YACzD,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IAMM,KAAK,CAAC,sBAAsB,CAAC,oBAA4B;QAC9D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;YACrE,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAA;YAC3F,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,kCAAkC,EAAE,mCAAmC,CAAC,CAAA;QACjI,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAA;YACvD,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;CACF,CAAA;AAxMY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAG8B,6CAAoB;GAFlD,oBAAoB,CAwMhC"}
1
+ {"version":3,"file":"matter-bridges.service.js","sourceRoot":"","sources":["../../../src/modules/matter-bridges/matter-bridges.service.ts"],"names":[],"mappings":"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"}
@@ -674,38 +674,11 @@ let PluginsService = PluginsService_1 = class PluginsService {
674
674
  },
675
675
  },
676
676
  };
677
- const matterBridgeSchema = {
678
- type: 'object',
679
- notitle: true,
680
- condition: {
681
- functionBody: 'return false',
682
- },
683
- properties: {
684
- name: {
685
- type: 'string',
686
- },
687
- port: {
688
- type: 'integer',
689
- maximum: 65535,
690
- },
691
- vendorId: {
692
- type: 'integer',
693
- },
694
- productId: {
695
- type: 'integer',
696
- },
697
- debug: {
698
- type: 'boolean',
699
- },
700
- },
701
- };
702
677
  if (configSchema.schema && typeof configSchema.schema.properties === 'object') {
703
678
  configSchema.schema.properties._bridge = childBridgeSchema;
704
- configSchema.schema.properties._matter = matterBridgeSchema;
705
679
  }
706
680
  else if (typeof configSchema.schema === 'object') {
707
681
  configSchema.schema._bridge = childBridgeSchema;
708
- configSchema.schema._matter = matterBridgeSchema;
709
682
  }
710
683
  return configSchema;
711
684
  }