homebridge-config-ui-x 5.8.1-beta.0 → 5.8.1-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -1
- package/dist/core/auth/auth.controller.d.ts +6 -0
- package/dist/core/config/config.interfaces.d.ts +9 -0
- package/dist/core/config/config.service.d.ts +9 -0
- package/dist/core/config/config.service.js +34 -0
- package/dist/core/config/config.service.js.map +1 -1
- package/dist/core/config/config.startup.js +36 -17
- package/dist/core/config/config.startup.js.map +1 -1
- package/dist/core/feature-flags/feature-flags.registry.d.ts +6 -0
- package/dist/core/feature-flags/feature-flags.registry.js +16 -0
- package/dist/core/feature-flags/feature-flags.registry.js.map +1 -0
- package/dist/core/ssl/ssl-cert-generator.service.d.ts +15 -0
- package/dist/core/ssl/ssl-cert-generator.service.js +127 -0
- package/dist/core/ssl/ssl-cert-generator.service.js.map +1 -0
- package/dist/modules/child-bridges/child-bridges.gateway.d.ts +1 -1
- package/dist/modules/child-bridges/child-bridges.interfaces.d.ts +23 -0
- package/dist/modules/child-bridges/child-bridges.interfaces.js +3 -0
- package/dist/modules/child-bridges/child-bridges.interfaces.js.map +1 -0
- package/dist/modules/child-bridges/child-bridges.service.d.ts +2 -1
- package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
- package/dist/modules/config-editor/config-editor.controller.d.ts +9 -0
- package/dist/modules/config-editor/config-editor.controller.js +68 -0
- package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
- package/dist/modules/config-editor/config-editor.module.js +2 -0
- package/dist/modules/config-editor/config-editor.module.js.map +1 -1
- package/dist/modules/config-editor/config-editor.service.d.ts +11 -1
- package/dist/modules/config-editor/config-editor.service.js +58 -2
- package/dist/modules/config-editor/config-editor.service.js.map +1 -1
- package/dist/modules/plugins/plugins.service.js +9 -0
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.controller.d.ts +17 -0
- package/dist/modules/server/server.controller.js +73 -1
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.d.ts +18 -0
- package/dist/modules/server/server.service.js +246 -15
- package/dist/modules/server/server.service.js.map +1 -1
- package/dist/modules/status/status.controller.d.ts +1 -1
- package/dist/modules/status/status.gateway.d.ts +2 -0
- package/dist/modules/status/status.interfaces.d.ts +21 -1
- package/dist/modules/status/status.interfaces.js +1 -1
- package/dist/modules/status/status.interfaces.js.map +1 -1
- package/dist/modules/status/status.service.d.ts +4 -1
- package/dist/modules/status/status.service.js +10 -1
- package/dist/modules/status/status.service.js.map +1 -1
- package/package.json +24 -25
- package/public/3rdpartylicenses.txt +41 -46
- package/public/assets/matter.svg +8 -0
- package/public/assets/plugin-ui-utils/ui.js +3 -0
- package/public/assets/plugin-ui-utils/ui.js.map +1 -1
- package/public/chunk-2HJ656K2.js +16 -0
- package/public/chunk-4GXPXAHY.js +3 -0
- package/public/{chunk-V3C7C7EN.js → chunk-5HSTGU2S.js} +1 -1
- package/public/{chunk-DNUMFPYO.js → chunk-5IK7S5UY.js} +1 -1
- package/public/chunk-6BSVFS3Z.js +1 -0
- package/public/{chunk-U6TKGNUK.js → chunk-6EXUDJK2.js} +1 -1
- package/public/chunk-6IQUVFAH.js +50 -0
- package/public/{chunk-RVUMQRET.js → chunk-7RAE6BDV.js} +1 -1
- package/public/{chunk-TLBEKXHD.js → chunk-7T3PHJA2.js} +2 -2
- package/public/{chunk-MCTQNRNY.js → chunk-AF6WHPSI.js} +1 -1
- package/public/{chunk-X5I7VO64.js → chunk-AOMA2RFA.js} +1 -1
- package/public/{chunk-5MJEXXHL.js → chunk-BF2MU3RQ.js} +1 -1
- package/public/{chunk-4FLH4IVW.js → chunk-BI7LP7NL.js} +1 -1
- package/public/{chunk-EGQRFXJX.js → chunk-BIXWXEEW.js} +1 -1
- package/public/{chunk-WHRLX747.js → chunk-BPL74ASO.js} +1 -1
- package/public/chunk-C23A5G7X.js +4 -0
- package/public/chunk-CQLJRFML.js +2 -0
- package/public/chunk-FECLRIF2.js +1 -0
- package/public/{chunk-NKI252SY.js → chunk-FSNKYVUR.js} +1 -1
- package/public/{chunk-VJUHJIH5.js → chunk-GJ4NQ6RR.js} +1 -1
- package/public/{chunk-PVNX3HYT.js → chunk-GU2LDNRA.js} +1 -1
- package/public/{chunk-DK7MYE3J.js → chunk-HOVPO47J.js} +1 -1
- package/public/chunk-HVEA2SOL.js +1 -0
- package/public/{chunk-HO2NICCO.js → chunk-HW3MSWTY.js} +1 -1
- package/public/{chunk-YGOEVQRR.js → chunk-I4IR5TID.js} +1 -1
- package/public/{chunk-ZUAZWBIX.js → chunk-IMHGEFPQ.js} +1 -1
- package/public/{chunk-YVDK3EOM.js → chunk-J6Q2DPRL.js} +3 -3
- package/public/{chunk-CIW7STIN.js → chunk-KBANEWIP.js} +1 -1
- package/public/chunk-KRAE3ZV7.js +4 -0
- package/public/{chunk-4D7SO56O.js → chunk-KYFLQ7R3.js} +1 -1
- package/public/{chunk-ZETLSG2P.js → chunk-LCVDYVDC.js} +1 -1
- package/public/chunk-LLGR6YT6.js +1 -0
- package/public/{chunk-ZLTMAIRB.js → chunk-LQIV3IVL.js} +1 -1
- package/public/{chunk-EJBPBSDP.js → chunk-LUVKT24F.js} +1 -1
- package/public/{chunk-HT3PN2D6.js → chunk-MC3ZSW3C.js} +1 -1
- package/public/chunk-MFJYDGFF.js +1 -0
- package/public/{chunk-XKORRXX3.js → chunk-MHXXUKNU.js} +1 -1
- package/public/{chunk-3AGCTUR5.js → chunk-NJB7W7XG.js} +1 -1
- package/public/chunk-NKVA4YGF.js +1 -0
- package/public/{chunk-JEM72QI4.js → chunk-O4BJGTI7.js} +1 -1
- package/public/{chunk-RET7MUHU.js → chunk-O6NBNFQY.js} +1 -1
- package/public/{chunk-P5OPZ4GC.js → chunk-OAWUW5JK.js} +1 -1
- package/public/{chunk-C43SEGRM.js → chunk-OMFAE35M.js} +6 -6
- package/public/{chunk-CSJGPPHT.js → chunk-OO2PFMUT.js} +1 -1
- package/public/{chunk-TRUVGAER.js → chunk-OTLQZLR6.js} +1 -1
- package/public/{chunk-VUPUGOBM.js → chunk-P47D6YKF.js} +1 -1
- package/public/{chunk-EABVNED6.js → chunk-PELXH4TO.js} +5 -5
- package/public/{chunk-E5J3S4YB.js → chunk-PKFOUW7F.js} +1 -1
- package/public/chunk-Q433GZ7T.js +2 -0
- package/public/{chunk-BH54XSQA.js → chunk-QD3VVLOS.js} +1 -1
- package/public/{chunk-ZLR6ILMY.js → chunk-RM3JSPOW.js} +1 -1
- package/public/{chunk-25P6WVYP.js → chunk-SBX42YGL.js} +1 -1
- package/public/{chunk-ZMJUY55O.js → chunk-TVXZP4H4.js} +1 -1
- package/public/chunk-U5XWZU46.js +1 -0
- package/public/{chunk-A3CTSVI7.js → chunk-UDI7EA7K.js} +1 -1
- package/public/{chunk-JFO6W63X.js → chunk-VNVPY4GU.js} +1 -1
- package/public/{chunk-SRD73LUH.js → chunk-WKZJCNS6.js} +1 -1
- package/public/{chunk-AVG2I56K.js → chunk-WQPHE2UF.js} +1 -1
- package/public/{chunk-F3XDUS25.js → chunk-WWOSAPQ6.js} +1 -1
- package/public/{chunk-CG3R5XYS.js → chunk-XNI3GOWL.js} +1 -1
- package/public/{chunk-W2OFDURW.js → chunk-XYQ2P6TQ.js} +1 -1
- package/public/{chunk-B4OJTNBD.js → chunk-Y7FUFGRH.js} +1 -1
- package/public/chunk-YJAZ7E5U.js +1 -0
- package/public/{chunk-MNXD7GCG.js → chunk-YLFJH4ZN.js} +1 -1
- package/public/{chunk-CZG25KG3.js → chunk-YX6RZUQD.js} +1 -1
- package/public/chunk-YYORCSG2.js +5 -0
- package/public/{chunk-BCWIL2QW.js → chunk-ZA7Y6W26.js} +1 -1
- package/public/{chunk-FTAY6FFO.js → chunk-ZL7WGJJW.js} +1 -1
- package/public/index.html +2 -2
- package/public/main-MGR4YROM.js +1 -0
- package/public/media/fa-brands-400-E7XUCEPO.woff2 +0 -0
- package/public/media/fa-regular-400-LBQEIAJB.woff2 +0 -0
- package/public/media/fa-solid-900-XY6737PV.woff2 +0 -0
- package/public/media/matter-P563JGDL.svg +8 -0
- package/public/{styles-SSUUEYLS.css → styles-CSF457UW.css} +1 -1
- package/scripts/extract-plugin-alias.js +53 -2
- package/public/chunk-6OMOJLOG.js +0 -1
- package/public/chunk-BGJJLMAP.js +0 -1
- package/public/chunk-CXYYIGZE.js +0 -1
- package/public/chunk-FOZRVZXH.js +0 -1
- package/public/chunk-JARGQQWZ.js +0 -1
- package/public/chunk-N73MIN6L.js +0 -1
- package/public/chunk-NCDEVAD6.js +0 -49
- package/public/chunk-RGGBZ2WL.js +0 -1
- package/public/chunk-TF55E6JJ.js +0 -1
- package/public/chunk-TTKCPQM5.js +0 -3
- package/public/chunk-WF2W4LFZ.js +0 -4
- package/public/chunk-XBFMEL7I.js +0 -4
- package/public/chunk-Y6XKIFOL.js +0 -2
- package/public/chunk-ZCKOC3EC.js +0 -5
- package/public/chunk-ZNMA56FO.js +0 -2
- package/public/chunk-ZZNAO4IK.js +0 -16
- package/public/main-6Z22MZZ4.js +0 -1
- package/public/media/fa-brands-400-E3YNADOB.woff2 +0 -0
- package/public/media/fa-regular-400-UOSVBSEG.woff2 +0 -0
- package/public/media/fa-solid-900-6JWCQRDQ.woff2 +0 -0
|
@@ -44,25 +44,37 @@ let ServerService = class ServerService {
|
|
|
44
44
|
this.accessoryId = this.configService.homebridgeConfig.bridge.username.split(':').join('');
|
|
45
45
|
this.accessoryInfoPath = (0, node_path_1.join)(this.configService.storagePath, 'persist', `AccessoryInfo.${this.accessoryId}.json`);
|
|
46
46
|
}
|
|
47
|
-
async deleteSingleDeviceAccessories(id, cachedAccessoriesDir) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
await (0, fs_extra_1.
|
|
52
|
-
|
|
47
|
+
async deleteSingleDeviceAccessories(id, cachedAccessoriesDir, protocol = 'both') {
|
|
48
|
+
if (protocol === 'hap' || protocol === 'both') {
|
|
49
|
+
const cachedAccessories = (0, node_path_1.join)(cachedAccessoriesDir, `cachedAccessories.${id}`);
|
|
50
|
+
const cachedAccessoriesBackup = (0, node_path_1.join)(cachedAccessoriesDir, `.cachedAccessories.${id}.bak`);
|
|
51
|
+
if (await (0, fs_extra_1.pathExists)(cachedAccessories)) {
|
|
52
|
+
await (0, fs_extra_1.unlink)(cachedAccessories);
|
|
53
|
+
this.logger.warn(`Bridge ${id} HAP accessory removal: removed ${cachedAccessories}.`);
|
|
54
|
+
}
|
|
55
|
+
if (await (0, fs_extra_1.pathExists)(cachedAccessoriesBackup)) {
|
|
56
|
+
await (0, fs_extra_1.unlink)(cachedAccessoriesBackup);
|
|
57
|
+
this.logger.warn(`Bridge ${id} HAP accessory removal: removed ${cachedAccessoriesBackup}.`);
|
|
58
|
+
}
|
|
53
59
|
}
|
|
54
|
-
if (
|
|
55
|
-
|
|
56
|
-
this.
|
|
60
|
+
if (protocol === 'matter' || protocol === 'both') {
|
|
61
|
+
const deviceId = id.split(':').join('').toUpperCase();
|
|
62
|
+
const matterPath = (0, node_path_1.join)(this.configService.storagePath, 'matter', deviceId);
|
|
63
|
+
if (await (0, fs_extra_1.pathExists)(matterPath)) {
|
|
64
|
+
await (0, fs_extra_1.remove)(matterPath);
|
|
65
|
+
this.logger.warn(`Bridge ${id} Matter accessory removal: removed Matter bridge storage at ${matterPath}.`);
|
|
66
|
+
}
|
|
57
67
|
}
|
|
58
68
|
}
|
|
59
69
|
async deleteSingleDevicePairing(id, resetPairingInfo) {
|
|
60
70
|
const persistPath = (0, node_path_1.join)(this.configService.storagePath, 'persist');
|
|
61
71
|
const accessoryInfo = (0, node_path_1.join)(persistPath, `AccessoryInfo.${id}.json`);
|
|
62
72
|
const identifierCache = (0, node_path_1.join)(persistPath, `IdentifierCache.${id}.json`);
|
|
73
|
+
const deviceId = id.includes(':') ? id.split(':').join('').toUpperCase() : id.toUpperCase();
|
|
74
|
+
const matterPath = (0, node_path_1.join)(this.configService.storagePath, 'matter', deviceId);
|
|
63
75
|
try {
|
|
64
76
|
const configFile = await this.configEditorService.getConfigFile();
|
|
65
|
-
const username = id.match(/.{1,2}/g)
|
|
77
|
+
const username = id.includes(':') ? id.toUpperCase() : id.match(/.{1,2}/g)?.join(':').toUpperCase() || id.toUpperCase();
|
|
66
78
|
const uiConfig = configFile.platforms.find(x => x.platform === 'config');
|
|
67
79
|
let blacklistChanged = false;
|
|
68
80
|
if (uiConfig.accessoryControl?.instanceBlacklist?.includes(username)) {
|
|
@@ -112,6 +124,10 @@ let ServerService = class ServerService {
|
|
|
112
124
|
await (0, fs_extra_1.unlink)(identifierCache);
|
|
113
125
|
this.logger.warn(`Bridge ${id} reset: removed ${identifierCache}.`);
|
|
114
126
|
}
|
|
127
|
+
if (await (0, fs_extra_1.pathExists)(matterPath)) {
|
|
128
|
+
await (0, fs_extra_1.remove)(matterPath);
|
|
129
|
+
this.logger.warn(`Bridge ${id} reset: removed Matter bridge storage at ${matterPath}.`);
|
|
130
|
+
}
|
|
115
131
|
await this.deleteDeviceAccessories(id);
|
|
116
132
|
}
|
|
117
133
|
async restartServer() {
|
|
@@ -155,6 +171,12 @@ let ServerService = class ServerService {
|
|
|
155
171
|
await this.configEditorService.updateConfigFile(configFile);
|
|
156
172
|
await (0, fs_extra_1.remove)((0, node_path_1.resolve)(this.configService.storagePath, 'accessories'));
|
|
157
173
|
await (0, fs_extra_1.remove)((0, node_path_1.resolve)(this.configService.storagePath, 'persist'));
|
|
174
|
+
const deviceId = oldUsername.split(':').join('').toUpperCase();
|
|
175
|
+
const matterPath = (0, node_path_1.join)(this.configService.storagePath, 'matter', deviceId);
|
|
176
|
+
if (await (0, fs_extra_1.pathExists)(matterPath)) {
|
|
177
|
+
await (0, fs_extra_1.remove)(matterPath);
|
|
178
|
+
this.logger.warn(`Bridge ${oldUsername} reset: removed Matter bridge storage at ${matterPath}.`);
|
|
179
|
+
}
|
|
158
180
|
this.logger.log('Homebridge bridge reset: accessories and persist directories were removed.');
|
|
159
181
|
}
|
|
160
182
|
async getDevicePairings() {
|
|
@@ -162,9 +184,68 @@ let ServerService = class ServerService {
|
|
|
162
184
|
const devices = (await (0, fs_extra_1.readdir)(persistPath))
|
|
163
185
|
.filter(x => x.match(/AccessoryInfo\.([A-Fa-f0-9]+)\.json$/));
|
|
164
186
|
const configFile = await this.configEditorService.getConfigFile();
|
|
165
|
-
|
|
187
|
+
const hapDevices = await Promise.all(devices.map(async (x) => {
|
|
166
188
|
return await this.getDevicePairingById(x.split('.')[1], configFile);
|
|
167
189
|
}));
|
|
190
|
+
const matterExternalDevices = await this.getMatterExternalAccessories(configFile, hapDevices);
|
|
191
|
+
return [...hapDevices, ...matterExternalDevices].sort((a, b) => a.name.localeCompare(b.name));
|
|
192
|
+
}
|
|
193
|
+
async getMatterExternalAccessories(configFile, hapDevices) {
|
|
194
|
+
const matterPath = (0, node_path_1.join)(this.configService.storagePath, 'matter');
|
|
195
|
+
if (!await (0, fs_extra_1.pathExists)(matterPath)) {
|
|
196
|
+
return [];
|
|
197
|
+
}
|
|
198
|
+
const matterDirs = (await (0, fs_extra_1.readdir)(matterPath))
|
|
199
|
+
.filter(x => x.match(/^[A-F0-9]{12}$/));
|
|
200
|
+
const matterExternalDevices = [];
|
|
201
|
+
for (const deviceId of matterDirs) {
|
|
202
|
+
try {
|
|
203
|
+
const hasHapAccessoryInfo = hapDevices.some(d => d._id === deviceId);
|
|
204
|
+
if (hasHapAccessoryInfo) {
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
207
|
+
const mainBridgeId = this.configService.homebridgeConfig.bridge.username.split(':').join('').toUpperCase();
|
|
208
|
+
if (deviceId.toUpperCase() === mainBridgeId) {
|
|
209
|
+
continue;
|
|
210
|
+
}
|
|
211
|
+
const accessoriesPath = (0, node_path_1.join)(matterPath, deviceId, 'accessories.json');
|
|
212
|
+
if (!await (0, fs_extra_1.pathExists)(accessoriesPath)) {
|
|
213
|
+
continue;
|
|
214
|
+
}
|
|
215
|
+
const accessories = await (0, fs_extra_1.readJson)(accessoriesPath);
|
|
216
|
+
if (!Array.isArray(accessories) || accessories.length === 0) {
|
|
217
|
+
continue;
|
|
218
|
+
}
|
|
219
|
+
const accessory = accessories[0];
|
|
220
|
+
const commissioningPath = (0, node_path_1.join)(matterPath, deviceId, 'commissioning.json');
|
|
221
|
+
let commissioned = false;
|
|
222
|
+
if (await (0, fs_extra_1.pathExists)(commissioningPath)) {
|
|
223
|
+
const commissioningInfo = await (0, fs_extra_1.readJson)(commissioningPath);
|
|
224
|
+
commissioned = commissioningInfo.commissioned || false;
|
|
225
|
+
}
|
|
226
|
+
const device = {
|
|
227
|
+
_id: deviceId,
|
|
228
|
+
_username: deviceId.match(/.{1,2}/g)?.join(':').toUpperCase() || deviceId,
|
|
229
|
+
_main: false,
|
|
230
|
+
_category: 'other',
|
|
231
|
+
_matter: true,
|
|
232
|
+
_matterOnly: true,
|
|
233
|
+
_isPaired: commissioned,
|
|
234
|
+
_plugin: accessory.plugin,
|
|
235
|
+
name: accessory.displayName || 'Matter External Accessory',
|
|
236
|
+
displayName: accessory.displayName || 'Matter External Accessory',
|
|
237
|
+
manufacturer: accessory.manufacturer || 'Unknown',
|
|
238
|
+
model: accessory.model || 'Unknown',
|
|
239
|
+
serialNumber: accessory.serialNumber || deviceId,
|
|
240
|
+
category: 1,
|
|
241
|
+
};
|
|
242
|
+
matterExternalDevices.push(device);
|
|
243
|
+
}
|
|
244
|
+
catch (e) {
|
|
245
|
+
this.logger.error(`Failed to read Matter external accessory ${deviceId}: ${e.message}`);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return matterExternalDevices;
|
|
168
249
|
}
|
|
169
250
|
async getDevicePairingById(deviceId, configFile = null) {
|
|
170
251
|
const persistPath = (0, node_path_1.join)(this.configService.storagePath, 'persist');
|
|
@@ -197,6 +278,7 @@ let ServerService = class ServerService {
|
|
|
197
278
|
device._isPaired = device.pairedClients && Object.keys(device.pairedClients).length > 0;
|
|
198
279
|
device._setupCode = this.generateSetupCode(device);
|
|
199
280
|
device._couldBeStale = !device._main && device._category === 'bridge' && !pluginBlock;
|
|
281
|
+
device._matter = !!(pluginBlock?._bridge?.matter);
|
|
200
282
|
delete device.signSk;
|
|
201
283
|
delete device.signPk;
|
|
202
284
|
delete device.configHash;
|
|
@@ -210,6 +292,41 @@ let ServerService = class ServerService {
|
|
|
210
292
|
await this.deleteSingleDevicePairing(id, resetPairingInfo);
|
|
211
293
|
return { ok: true };
|
|
212
294
|
}
|
|
295
|
+
async deleteDeviceMatterConfig(id) {
|
|
296
|
+
try {
|
|
297
|
+
const configFile = await this.configEditorService.getConfigFile();
|
|
298
|
+
const username = id.includes(':') ? id.toUpperCase() : id.match(/.{1,2}/g)?.join(':').toUpperCase() || id.toUpperCase();
|
|
299
|
+
const pluginBlocks = [
|
|
300
|
+
...(configFile.accessories || []),
|
|
301
|
+
...(configFile.platforms || []),
|
|
302
|
+
]
|
|
303
|
+
.filter((block) => block._bridge?.username?.toUpperCase() === username.toUpperCase());
|
|
304
|
+
const pluginBlock = pluginBlocks.find((block) => block._bridge?.matter);
|
|
305
|
+
if (!pluginBlock) {
|
|
306
|
+
this.logger.error(`Failed to find Matter configuration for child bridge ${id}.`);
|
|
307
|
+
throw new common_1.NotFoundException(`Matter configuration not found for bridge ${id}`);
|
|
308
|
+
}
|
|
309
|
+
delete pluginBlock._bridge.matter;
|
|
310
|
+
this.logger.warn(`Bridge ${id} Matter configuration removed from config.json.`);
|
|
311
|
+
await this.configEditorService.updateConfigFile(configFile);
|
|
312
|
+
}
|
|
313
|
+
catch (e) {
|
|
314
|
+
if (e instanceof common_1.NotFoundException) {
|
|
315
|
+
throw e;
|
|
316
|
+
}
|
|
317
|
+
this.logger.error(`Failed to remove Matter configuration for child bridge ${id} as ${e.message}.`);
|
|
318
|
+
throw new common_1.InternalServerErrorException(`Failed to remove Matter configuration: ${e.message}`);
|
|
319
|
+
}
|
|
320
|
+
this.logger.warn(`Shutting down Homebridge before removing Matter storage for bridge ${id}...`);
|
|
321
|
+
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
322
|
+
const deviceId = id.includes(':') ? id.split(':').join('').toUpperCase() : id.toUpperCase();
|
|
323
|
+
const matterPath = (0, node_path_1.join)(this.configService.storagePath, 'matter', deviceId);
|
|
324
|
+
if (await (0, fs_extra_1.pathExists)(matterPath)) {
|
|
325
|
+
await (0, fs_extra_1.remove)(matterPath);
|
|
326
|
+
this.logger.warn(`Bridge ${id} Matter storage removed at ${matterPath}.`);
|
|
327
|
+
}
|
|
328
|
+
return { ok: true };
|
|
329
|
+
}
|
|
213
330
|
async deleteDevicesPairing(bridges) {
|
|
214
331
|
this.logger.warn(`Shutting down Homebridge before resetting paired bridges ${bridges.map(x => x.id).join(', ')}...`);
|
|
215
332
|
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
@@ -233,9 +350,9 @@ let ServerService = class ServerService {
|
|
|
233
350
|
this.logger.warn(`Shutting down Homebridge before removing accessories for paired bridges ${bridges.map(x => x.id).join(', ')}...`);
|
|
234
351
|
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
235
352
|
const cachedAccessoriesDir = (0, node_path_1.join)(this.configService.storagePath, 'accessories');
|
|
236
|
-
for (const { id } of bridges) {
|
|
353
|
+
for (const { id, protocol } of bridges) {
|
|
237
354
|
try {
|
|
238
|
-
await this.deleteSingleDeviceAccessories(id, cachedAccessoriesDir);
|
|
355
|
+
await this.deleteSingleDeviceAccessories(id, cachedAccessoriesDir, protocol || 'both');
|
|
239
356
|
}
|
|
240
357
|
catch (e) {
|
|
241
358
|
this.logger.error(`Failed to remove accessories for bridge ${id} as ${e.message}.`);
|
|
@@ -316,13 +433,19 @@ let ServerService = class ServerService {
|
|
|
316
433
|
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
317
434
|
this.logger.warn('Shutting down Homebridge before removing cached accessories');
|
|
318
435
|
try {
|
|
319
|
-
this.logger.log('Clearing all cached accessories...');
|
|
436
|
+
this.logger.log('Clearing all HAP cached accessories...');
|
|
320
437
|
for (const thisCachedAccessoriesPath of cachedAccessoryPaths) {
|
|
321
438
|
if (await (0, fs_extra_1.pathExists)(thisCachedAccessoriesPath)) {
|
|
322
439
|
await (0, fs_extra_1.unlink)(thisCachedAccessoriesPath);
|
|
323
440
|
this.logger.warn(`Removed ${thisCachedAccessoriesPath}.`);
|
|
324
441
|
}
|
|
325
442
|
}
|
|
443
|
+
const matterDir = (0, node_path_1.join)(this.configService.storagePath, 'matter');
|
|
444
|
+
if (await (0, fs_extra_1.pathExists)(matterDir)) {
|
|
445
|
+
this.logger.log('Clearing all Matter cached accessories...');
|
|
446
|
+
await (0, fs_extra_1.remove)(matterDir);
|
|
447
|
+
this.logger.warn(`Removed Matter storage directory at ${matterDir}.`);
|
|
448
|
+
}
|
|
326
449
|
}
|
|
327
450
|
catch (e) {
|
|
328
451
|
this.logger.error(`Failed to clear all cached accessories at ${cachedAccessoriesPath} as ${e.message}.`);
|
|
@@ -331,6 +454,96 @@ let ServerService = class ServerService {
|
|
|
331
454
|
}
|
|
332
455
|
return { ok: true };
|
|
333
456
|
}
|
|
457
|
+
async getMatterAccessories() {
|
|
458
|
+
const matterDir = (0, node_path_1.join)(this.configService.storagePath, 'matter');
|
|
459
|
+
if (!await (0, fs_extra_1.pathExists)(matterDir)) {
|
|
460
|
+
return [];
|
|
461
|
+
}
|
|
462
|
+
const matterBridges = (await (0, fs_extra_1.readdir)(matterDir))
|
|
463
|
+
.filter(x => x.match(/^[A-F0-9]+$/));
|
|
464
|
+
const matterAccessories = [];
|
|
465
|
+
await Promise.all(matterBridges.map(async (deviceId) => {
|
|
466
|
+
try {
|
|
467
|
+
const accessoriesPath = (0, node_path_1.join)(matterDir, deviceId, 'accessories.json');
|
|
468
|
+
if (await (0, fs_extra_1.pathExists)(accessoriesPath)) {
|
|
469
|
+
const accessories = await (0, fs_extra_1.readJson)(accessoriesPath);
|
|
470
|
+
if (Array.isArray(accessories)) {
|
|
471
|
+
for (const accessory of accessories) {
|
|
472
|
+
accessory.$deviceId = deviceId;
|
|
473
|
+
accessory.$protocol = 'matter';
|
|
474
|
+
matterAccessories.push(accessory);
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
catch (e) {
|
|
480
|
+
this.logger.error(`Failed to read Matter accessories for bridge ${deviceId}: ${e.message}`);
|
|
481
|
+
}
|
|
482
|
+
}));
|
|
483
|
+
return matterAccessories;
|
|
484
|
+
}
|
|
485
|
+
async deleteMatterAccessory(deviceId, uuid) {
|
|
486
|
+
const matterAccessoriesPath = (0, node_path_1.join)(this.configService.storagePath, 'matter', deviceId, 'accessories.json');
|
|
487
|
+
if (!await (0, fs_extra_1.pathExists)(matterAccessoriesPath)) {
|
|
488
|
+
this.logger.error(`Matter accessories file not found for bridge ${deviceId}`);
|
|
489
|
+
throw new common_1.NotFoundException();
|
|
490
|
+
}
|
|
491
|
+
this.logger.warn(`Shutting down Homebridge before removing Matter accessory ${uuid} from bridge ${deviceId}...`);
|
|
492
|
+
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
493
|
+
const matterAccessories = await (0, fs_extra_1.readJson)(matterAccessoriesPath);
|
|
494
|
+
const accessoryIndex = matterAccessories.findIndex(x => x.uuid === uuid);
|
|
495
|
+
if (accessoryIndex > -1) {
|
|
496
|
+
matterAccessories.splice(accessoryIndex, 1);
|
|
497
|
+
await (0, fs_extra_1.writeJson)(matterAccessoriesPath, matterAccessories, { spaces: 2 });
|
|
498
|
+
this.logger.warn(`Removed Matter accessory with UUID ${uuid} from bridge ${deviceId}.`);
|
|
499
|
+
}
|
|
500
|
+
else {
|
|
501
|
+
this.logger.error(`Cannot find Matter accessory with UUID ${uuid} in bridge ${deviceId}.`);
|
|
502
|
+
throw new common_1.NotFoundException();
|
|
503
|
+
}
|
|
504
|
+
return { ok: true };
|
|
505
|
+
}
|
|
506
|
+
async deleteMatterAccessories(accessories) {
|
|
507
|
+
this.logger.warn(`Shutting down Homebridge before removing Matter accessories ${accessories.map(x => x.uuid).join(', ')}.`);
|
|
508
|
+
await this.homebridgeIpcService.restartAndWaitForClose();
|
|
509
|
+
const accessoriesByBridge = new Map();
|
|
510
|
+
for (const { deviceId, uuid } of accessories) {
|
|
511
|
+
if (!accessoriesByBridge.has(deviceId)) {
|
|
512
|
+
accessoriesByBridge.set(deviceId, []);
|
|
513
|
+
}
|
|
514
|
+
accessoriesByBridge.get(deviceId).push({ uuid });
|
|
515
|
+
}
|
|
516
|
+
for (const [deviceId, bridgeAccessories] of accessoriesByBridge.entries()) {
|
|
517
|
+
const matterAccessoriesPath = (0, node_path_1.join)(this.configService.storagePath, 'matter', deviceId, 'accessories.json');
|
|
518
|
+
try {
|
|
519
|
+
if (!await (0, fs_extra_1.pathExists)(matterAccessoriesPath)) {
|
|
520
|
+
this.logger.error(`Matter accessories file not found for bridge ${deviceId}`);
|
|
521
|
+
continue;
|
|
522
|
+
}
|
|
523
|
+
const matterAccessories = await (0, fs_extra_1.readJson)(matterAccessoriesPath);
|
|
524
|
+
for (const { uuid } of bridgeAccessories) {
|
|
525
|
+
try {
|
|
526
|
+
const accessoryIndex = matterAccessories.findIndex(x => x.uuid === uuid);
|
|
527
|
+
if (accessoryIndex > -1) {
|
|
528
|
+
matterAccessories.splice(accessoryIndex, 1);
|
|
529
|
+
this.logger.warn(`Removed Matter accessory with UUID ${uuid} from bridge ${deviceId}.`);
|
|
530
|
+
}
|
|
531
|
+
else {
|
|
532
|
+
this.logger.error(`Cannot find Matter accessory with UUID ${uuid} in bridge ${deviceId}.`);
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
catch (e) {
|
|
536
|
+
this.logger.error(`Failed to remove Matter accessory with UUID ${uuid} from bridge ${deviceId} as ${e.message}.`);
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
await (0, fs_extra_1.writeJson)(matterAccessoriesPath, matterAccessories, { spaces: 2 });
|
|
540
|
+
}
|
|
541
|
+
catch (e) {
|
|
542
|
+
this.logger.error(`Failed to process Matter accessories for bridge ${deviceId} as ${e.message}.`);
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
return { ok: true };
|
|
546
|
+
}
|
|
334
547
|
async getSetupCode() {
|
|
335
548
|
if (this.setupCode) {
|
|
336
549
|
return this.setupCode;
|
|
@@ -426,13 +639,31 @@ let ServerService = class ServerService {
|
|
|
426
639
|
await this.configEditorService.updateConfigFile(config);
|
|
427
640
|
}
|
|
428
641
|
async lookupUnusedPort() {
|
|
429
|
-
const
|
|
642
|
+
const min = this.configService.homebridgeConfig.ports?.start ?? 30000;
|
|
643
|
+
const max = this.configService.homebridgeConfig.ports?.end ?? 60000;
|
|
644
|
+
const randomPort = () => Math.floor(Math.random() * (max - min + 1) + min);
|
|
430
645
|
let port = randomPort();
|
|
431
646
|
while (await (0, tcp_port_used_1.check)(port)) {
|
|
432
647
|
port = randomPort();
|
|
433
648
|
}
|
|
434
649
|
return { port };
|
|
435
650
|
}
|
|
651
|
+
async lookupUnusedMatterPort() {
|
|
652
|
+
const min = 5530;
|
|
653
|
+
const max = 5541;
|
|
654
|
+
const randomPort = () => Math.floor(Math.random() * (max - min + 1) + min);
|
|
655
|
+
let port = randomPort();
|
|
656
|
+
let attempts = 0;
|
|
657
|
+
const maxAttempts = (max - min + 1) * 3;
|
|
658
|
+
while (await (0, tcp_port_used_1.check)(port) && attempts < maxAttempts) {
|
|
659
|
+
port = randomPort();
|
|
660
|
+
attempts++;
|
|
661
|
+
}
|
|
662
|
+
if (attempts >= maxAttempts) {
|
|
663
|
+
throw new common_1.InternalServerErrorException('No available ports in the Matter port range (5530-5541)');
|
|
664
|
+
}
|
|
665
|
+
return { port };
|
|
666
|
+
}
|
|
436
667
|
async getHomebridgePort() {
|
|
437
668
|
const config = await this.configEditorService.getConfigFile();
|
|
438
669
|
return { port: config.bridge.port };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.service.js","sourceRoot":"","sources":["../../../src/modules/server/server.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.service.js","sourceRoot":"","sources":["../../../src/modules/server/server.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ export declare class StatusController {
|
|
|
28
28
|
checkHomebridgeStatus(): Promise<{
|
|
29
29
|
status: import("./status.interfaces").HomebridgeStatus;
|
|
30
30
|
}>;
|
|
31
|
-
getChildBridges(): Promise<
|
|
31
|
+
getChildBridges(): Promise<import("../child-bridges/child-bridges.interfaces").ChildBridgeMetadata[]>;
|
|
32
32
|
getHomebridgeVersion(): Promise<import("../plugins/plugins.interfaces").HomebridgePlugin>;
|
|
33
33
|
getHomebridgeServerInfo(): Promise<{
|
|
34
34
|
serviceUser: string;
|
|
@@ -62,6 +62,7 @@ export declare class StatusGateway {
|
|
|
62
62
|
pin: string;
|
|
63
63
|
setupUri: string;
|
|
64
64
|
paired: boolean;
|
|
65
|
+
matter: import("./status.interfaces").HomebridgeStatusMatterUpdate;
|
|
65
66
|
}>;
|
|
66
67
|
getHomebridgeStatus(): Promise<WsException | {
|
|
67
68
|
status: import("./status.interfaces").HomebridgeStatus;
|
|
@@ -72,6 +73,7 @@ export declare class StatusGateway {
|
|
|
72
73
|
setupUri: string;
|
|
73
74
|
packageVersion: any;
|
|
74
75
|
paired: boolean;
|
|
76
|
+
matter: import("./status.interfaces").HomebridgeStatusMatterUpdate;
|
|
75
77
|
}>;
|
|
76
78
|
serverStatus(client: any): Promise<void>;
|
|
77
79
|
getRaspberryPiThrottledStatus(): Promise<{}>;
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
export declare enum HomebridgeStatus {
|
|
2
2
|
OK = "ok",
|
|
3
|
-
|
|
3
|
+
PENDING = "pending",
|
|
4
4
|
DOWN = "down"
|
|
5
5
|
}
|
|
6
|
+
export interface HomebridgeStatusMatterUpdate {
|
|
7
|
+
enabled: boolean;
|
|
8
|
+
port?: number;
|
|
9
|
+
setupUri?: string;
|
|
10
|
+
pin?: string;
|
|
11
|
+
serialNumber?: string;
|
|
12
|
+
commissioned?: boolean;
|
|
13
|
+
deviceCount?: number;
|
|
14
|
+
}
|
|
6
15
|
export interface HomebridgeStatusUpdate {
|
|
7
16
|
status: HomebridgeStatus;
|
|
8
17
|
paired?: null | boolean;
|
|
@@ -10,6 +19,7 @@ export interface HomebridgeStatusUpdate {
|
|
|
10
19
|
name?: string;
|
|
11
20
|
username?: string;
|
|
12
21
|
pin?: string;
|
|
22
|
+
matter: HomebridgeStatusMatterUpdate;
|
|
13
23
|
}
|
|
14
24
|
export interface DockerRelease {
|
|
15
25
|
tag_name: string;
|
|
@@ -25,3 +35,13 @@ export interface DockerReleaseInfo {
|
|
|
25
35
|
testTag: 'beta' | 'test' | null;
|
|
26
36
|
isLatestStable: boolean;
|
|
27
37
|
}
|
|
38
|
+
export interface HomebridgeStatsResponse {
|
|
39
|
+
consolePort: number;
|
|
40
|
+
port: number;
|
|
41
|
+
pin: string;
|
|
42
|
+
setupUri: string;
|
|
43
|
+
paired: boolean;
|
|
44
|
+
packageVersion: string;
|
|
45
|
+
status: HomebridgeStatus;
|
|
46
|
+
matter: HomebridgeStatusMatterUpdate;
|
|
47
|
+
}
|
|
@@ -4,7 +4,7 @@ exports.HomebridgeStatus = void 0;
|
|
|
4
4
|
var HomebridgeStatus;
|
|
5
5
|
(function (HomebridgeStatus) {
|
|
6
6
|
HomebridgeStatus["OK"] = "ok";
|
|
7
|
-
HomebridgeStatus["
|
|
7
|
+
HomebridgeStatus["PENDING"] = "pending";
|
|
8
8
|
HomebridgeStatus["DOWN"] = "down";
|
|
9
9
|
})(HomebridgeStatus || (exports.HomebridgeStatus = HomebridgeStatus = {}));
|
|
10
10
|
//# sourceMappingURL=status.interfaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.interfaces.js","sourceRoot":"","sources":["../../../src/modules/status/status.interfaces.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,6BAAS,CAAA;IACT,
|
|
1
|
+
{"version":3,"file":"status.interfaces.js","sourceRoot":"","sources":["../../../src/modules/status/status.interfaces.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,6BAAS,CAAA;IACT,uCAAmB,CAAA;IACnB,iCAAa,CAAA;AACf,CAAC,EAJW,gBAAgB,gCAAhB,gBAAgB,QAI3B"}
|
|
@@ -5,7 +5,7 @@ import { HomebridgeIpcService } from '../../core/homebridge-ipc/homebridge-ipc.s
|
|
|
5
5
|
import { Logger } from '../../core/logger/logger.service';
|
|
6
6
|
import { PluginsService } from '../plugins/plugins.service';
|
|
7
7
|
import { ServerService } from '../server/server.service';
|
|
8
|
-
import { DockerRelease, DockerReleaseInfo, HomebridgeStatus } from './status.interfaces';
|
|
8
|
+
import { DockerRelease, DockerReleaseInfo, HomebridgeStatus, HomebridgeStatusMatterUpdate } from './status.interfaces';
|
|
9
9
|
export declare class StatusService {
|
|
10
10
|
private httpService;
|
|
11
11
|
private logger;
|
|
@@ -17,6 +17,7 @@ export declare class StatusService {
|
|
|
17
17
|
private dashboardLayout;
|
|
18
18
|
private homebridgeStatus;
|
|
19
19
|
private homebridgeStatusChange;
|
|
20
|
+
private matterInfo;
|
|
20
21
|
private cpuLoadHistory;
|
|
21
22
|
private memoryUsageHistory;
|
|
22
23
|
private memoryInfo;
|
|
@@ -57,6 +58,7 @@ export declare class StatusService {
|
|
|
57
58
|
pin: string;
|
|
58
59
|
setupUri: string;
|
|
59
60
|
paired: boolean;
|
|
61
|
+
matter: HomebridgeStatusMatterUpdate;
|
|
60
62
|
}>;
|
|
61
63
|
getHomebridgeStatus(): Promise<{
|
|
62
64
|
status: HomebridgeStatus;
|
|
@@ -67,6 +69,7 @@ export declare class StatusService {
|
|
|
67
69
|
setupUri: string;
|
|
68
70
|
packageVersion: any;
|
|
69
71
|
paired: boolean;
|
|
72
|
+
matter: HomebridgeStatusMatterUpdate;
|
|
70
73
|
}>;
|
|
71
74
|
watchStats(client: any): Promise<void>;
|
|
72
75
|
private getHomebridgeStats;
|