@switchbot/homebridge-switchbot 5.0.0-beta.146 → 5.0.0-beta.148
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/.github/workflows/ci.yml +1 -1
- package/.github/workflows/manual-e2e.yml +3 -3
- package/config.schema.json +6 -0
- package/dist/deviceCommandMapper.d.ts +10 -0
- package/dist/deviceCommandMapper.d.ts.map +1 -0
- package/dist/deviceCommandMapper.js +319 -0
- package/dist/deviceCommandMapper.js.map +1 -0
- package/dist/deviceFactory.d.ts +2 -3
- package/dist/deviceFactory.d.ts.map +1 -1
- package/dist/deviceFactory.js +12 -3
- package/dist/deviceFactory.js.map +1 -1
- package/dist/homebridge-ui/endpoints/config.d.ts.map +1 -1
- package/dist/homebridge-ui/endpoints/config.js +1 -18
- package/dist/homebridge-ui/endpoints/config.js.map +1 -1
- package/dist/homebridge-ui/endpoints/devices.d.ts.map +1 -1
- package/dist/homebridge-ui/endpoints/devices.js +1 -350
- package/dist/homebridge-ui/endpoints/devices.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +6 -0
- package/dist/homebridge-ui/public/js/advanced-settings.d.ts.map +1 -1
- package/dist/homebridge-ui/public/js/advanced-settings.js +22 -12
- package/dist/homebridge-ui/public/js/advanced-settings.js.map +1 -1
- package/dist/homebridge-ui/public/js/advanced-settings.ts +36 -25
- package/dist/homebridge-ui/public/js/api.d.ts +1 -1
- package/dist/homebridge-ui/public/js/api.d.ts.map +1 -1
- package/dist/homebridge-ui/public/js/api.js +111 -52
- package/dist/homebridge-ui/public/js/api.js.map +1 -1
- package/dist/homebridge-ui/public/js/api.ts +112 -53
- package/dist/homebridge-ui/public/js/app.js +234 -177
- package/dist/homebridge-ui/public/js/app.js.map +4 -4
- package/dist/homebridge-ui/public/js/credentials.d.ts.map +1 -1
- package/dist/homebridge-ui/public/js/credentials.js +26 -23
- package/dist/homebridge-ui/public/js/credentials.js.map +1 -1
- package/dist/homebridge-ui/public/js/credentials.ts +26 -25
- package/dist/homebridge-ui/public/js/devices-delete.d.ts.map +1 -1
- package/dist/homebridge-ui/public/js/devices-delete.js +3 -10
- package/dist/homebridge-ui/public/js/devices-delete.js.map +1 -1
- package/dist/homebridge-ui/public/js/devices-delete.ts +3 -12
- package/dist/homebridge-ui/public/js/devices.d.ts.map +1 -1
- package/dist/homebridge-ui/public/js/devices.js +0 -3
- package/dist/homebridge-ui/public/js/devices.js.map +1 -1
- package/dist/homebridge-ui/public/js/devices.ts +5 -9
- package/dist/homebridge-ui/server.js +0 -2
- package/dist/homebridge-ui/server.js.map +1 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +3 -2
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +1 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +1 -0
- package/dist/settings.js.map +1 -1
- package/dist/switchbotClient.d.ts.map +1 -1
- package/dist/switchbotClient.js +42 -55
- package/dist/switchbotClient.js.map +1 -1
- package/docs/variables/default.html +1 -1
- package/package.json +1 -1
- package/src/deviceCommandMapper.ts +333 -0
- package/src/deviceFactory.ts +14 -6
- package/src/homebridge-ui/endpoints/config.ts +2 -18
- package/src/homebridge-ui/endpoints/devices.ts +1 -392
- package/src/homebridge-ui/public/index.html +6 -0
- package/src/homebridge-ui/public/js/advanced-settings.ts +36 -25
- package/src/homebridge-ui/public/js/api.ts +112 -53
- package/src/homebridge-ui/public/js/credentials.ts +26 -25
- package/src/homebridge-ui/public/js/devices-delete.ts +3 -12
- package/src/homebridge-ui/public/js/devices.ts +5 -9
- package/src/homebridge-ui/server.ts +0 -2
- package/src/platform.ts +3 -2
- package/src/settings.ts +2 -0
- package/src/switchbotClient.ts +43 -54
- package/dist/homebridge-ui/endpoints/credentials.d.ts +0 -6
- package/dist/homebridge-ui/endpoints/credentials.d.ts.map +0 -1
- package/dist/homebridge-ui/endpoints/credentials.js +0 -65
- package/dist/homebridge-ui/endpoints/credentials.js.map +0 -1
- package/src/homebridge-ui/endpoints/credentials.ts +0 -74
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/credentials.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/credentials.ts"],"names":[],"mappings":"AAIA,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiC1D;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAiErD"}
|
|
@@ -1,29 +1,31 @@
|
|
|
1
|
-
import { fetchCredentialStatus as apiFetchCredentialStatus, saveCredentials as apiSaveCredentials, syncParentPluginConfigFromDisk } from './api.js';
|
|
2
1
|
import { uiLog } from './logger.js';
|
|
3
2
|
import { hideBusyUi, showBusyUi } from './modal.js';
|
|
4
3
|
import { toastError, toastSuccess, toastWarning } from './toast.js';
|
|
5
4
|
export async function loadCredentialStatus() {
|
|
6
5
|
try {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
uiLog.error('Failed to load credentials');
|
|
6
|
+
if (typeof homebridge.getPluginConfig !== 'function') {
|
|
7
|
+
uiLog.error('Homebridge UI API not available');
|
|
10
8
|
return;
|
|
11
9
|
}
|
|
10
|
+
const configArr = await homebridge.getPluginConfig();
|
|
11
|
+
const config = Array.isArray(configArr) && configArr.length > 0 ? configArr[0] : {};
|
|
12
|
+
const token = config.openApiToken || '';
|
|
13
|
+
const secret = config.openApiSecret || '';
|
|
12
14
|
const tokenStatus = document.getElementById('tokenStatus');
|
|
13
15
|
const secretStatus = document.getElementById('secretStatus');
|
|
14
16
|
if (!tokenStatus || !secretStatus) {
|
|
15
17
|
return;
|
|
16
18
|
}
|
|
17
|
-
if (
|
|
18
|
-
tokenStatus.textContent = `✓ Configured (${
|
|
19
|
+
if (token) {
|
|
20
|
+
tokenStatus.textContent = `✓ Configured (${token.length} characters)`;
|
|
19
21
|
tokenStatus.classList.add('ok');
|
|
20
22
|
}
|
|
21
23
|
else {
|
|
22
24
|
tokenStatus.textContent = 'Not configured';
|
|
23
25
|
tokenStatus.classList.remove('ok');
|
|
24
26
|
}
|
|
25
|
-
if (
|
|
26
|
-
secretStatus.textContent = `✓ Configured (${
|
|
27
|
+
if (secret) {
|
|
28
|
+
secretStatus.textContent = `✓ Configured (${secret.length} characters)`;
|
|
27
29
|
secretStatus.classList.add('ok');
|
|
28
30
|
}
|
|
29
31
|
else {
|
|
@@ -54,23 +56,24 @@ export async function saveCredentials() {
|
|
|
54
56
|
saveBtn.disabled = true;
|
|
55
57
|
saveBtn.textContent = 'Saving...';
|
|
56
58
|
uiLog.info('Saving credentials...');
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const message = result?.message || 'Credentials saved successfully';
|
|
60
|
-
saveStatus.textContent = `✓ ${message}`;
|
|
61
|
-
saveStatus.classList.remove('error');
|
|
62
|
-
saveStatus.classList.add('success-msg');
|
|
63
|
-
toastSuccess(message);
|
|
64
|
-
const synced = await syncParentPluginConfigFromDisk(true);
|
|
65
|
-
if (synced) {
|
|
66
|
-
saveStatus.textContent += ' - Config saved automatically.';
|
|
67
|
-
toastSuccess('Configuration synced and saved automatically');
|
|
59
|
+
if (typeof homebridge.getPluginConfig !== 'function' || typeof homebridge.updatePluginConfig !== 'function') {
|
|
60
|
+
throw new TypeError('Homebridge UI API not available');
|
|
68
61
|
}
|
|
69
|
-
|
|
70
|
-
|
|
62
|
+
const configArr = await homebridge.getPluginConfig();
|
|
63
|
+
if (!Array.isArray(configArr) || configArr.length === 0) {
|
|
64
|
+
throw new Error('No plugin config found');
|
|
71
65
|
}
|
|
72
|
-
|
|
73
|
-
;
|
|
66
|
+
const config = configArr[0];
|
|
67
|
+
config.openApiToken = token;
|
|
68
|
+
config.openApiSecret = secret;
|
|
69
|
+
await homebridge.updatePluginConfig([config]);
|
|
70
|
+
if (typeof homebridge.savePluginConfig === 'function') {
|
|
71
|
+
await homebridge.savePluginConfig();
|
|
72
|
+
}
|
|
73
|
+
saveStatus.textContent = `✓ Credentials saved successfully`;
|
|
74
|
+
saveStatus.classList.remove('error');
|
|
75
|
+
saveStatus.classList.add('success-msg');
|
|
76
|
+
toastSuccess('Credentials saved successfully');
|
|
74
77
|
document.getElementById('token').value = '';
|
|
75
78
|
document.getElementById('secret').value = '';
|
|
76
79
|
// Reload status to verify save
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/credentials.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,32 @@
|
|
|
1
|
-
import { fetchCredentialStatus as apiFetchCredentialStatus, saveCredentials as apiSaveCredentials, syncParentPluginConfigFromDisk } from './api.js'
|
|
2
1
|
import { uiLog } from './logger.js'
|
|
3
2
|
import { hideBusyUi, showBusyUi } from './modal.js'
|
|
4
3
|
import { toastError, toastSuccess, toastWarning } from './toast.js'
|
|
5
4
|
|
|
6
5
|
export async function loadCredentialStatus(): Promise<void> {
|
|
7
6
|
try {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
if (!creds) {
|
|
11
|
-
uiLog.error('Failed to load credentials')
|
|
7
|
+
if (typeof homebridge.getPluginConfig !== 'function') {
|
|
8
|
+
uiLog.error('Homebridge UI API not available')
|
|
12
9
|
return
|
|
13
10
|
}
|
|
11
|
+
const configArr = await homebridge.getPluginConfig()
|
|
12
|
+
const config = Array.isArray(configArr) && configArr.length > 0 ? configArr[0] : {}
|
|
13
|
+
const token = config.openApiToken || ''
|
|
14
|
+
const secret = config.openApiSecret || ''
|
|
14
15
|
|
|
15
16
|
const tokenStatus = document.getElementById('tokenStatus')
|
|
16
17
|
const secretStatus = document.getElementById('secretStatus')
|
|
17
|
-
|
|
18
18
|
if (!tokenStatus || !secretStatus) {
|
|
19
19
|
return
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
tokenStatus.textContent = `✓ Configured (${creds.tokenLength} characters)`
|
|
21
|
+
if (token) {
|
|
22
|
+
tokenStatus.textContent = `✓ Configured (${token.length} characters)`
|
|
24
23
|
tokenStatus.classList.add('ok')
|
|
25
24
|
} else {
|
|
26
25
|
tokenStatus.textContent = 'Not configured'
|
|
27
26
|
tokenStatus.classList.remove('ok')
|
|
28
27
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
secretStatus.textContent = `✓ Configured (${creds.secretLength} characters)`
|
|
28
|
+
if (secret) {
|
|
29
|
+
secretStatus.textContent = `✓ Configured (${secret.length} characters)`
|
|
32
30
|
secretStatus.classList.add('ok')
|
|
33
31
|
} else {
|
|
34
32
|
secretStatus.textContent = 'Not configured'
|
|
@@ -62,22 +60,25 @@ export async function saveCredentials(): Promise<void> {
|
|
|
62
60
|
saveBtn.textContent = 'Saving...'
|
|
63
61
|
uiLog.info('Saving credentials...')
|
|
64
62
|
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
if (typeof homebridge.getPluginConfig !== 'function' || typeof homebridge.updatePluginConfig !== 'function') {
|
|
64
|
+
throw new TypeError('Homebridge UI API not available')
|
|
65
|
+
}
|
|
66
|
+
const configArr = await homebridge.getPluginConfig()
|
|
67
|
+
if (!Array.isArray(configArr) || configArr.length === 0) {
|
|
68
|
+
throw new Error('No plugin config found')
|
|
69
|
+
}
|
|
70
|
+
const config = configArr[0]
|
|
71
|
+
config.openApiToken = token
|
|
72
|
+
config.openApiSecret = secret
|
|
73
|
+
await homebridge.updatePluginConfig([config])
|
|
74
|
+
if (typeof homebridge.savePluginConfig === 'function') {
|
|
75
|
+
await homebridge.savePluginConfig()
|
|
76
|
+
}
|
|
67
77
|
|
|
68
|
-
|
|
69
|
-
saveStatus.textContent = `✓ ${message}`
|
|
78
|
+
saveStatus.textContent = `✓ Credentials saved successfully`
|
|
70
79
|
saveStatus.classList.remove('error')
|
|
71
80
|
saveStatus.classList.add('success-msg')
|
|
72
|
-
toastSuccess(
|
|
73
|
-
|
|
74
|
-
const synced = await syncParentPluginConfigFromDisk(true)
|
|
75
|
-
if (synced) {
|
|
76
|
-
saveStatus.textContent += ' - Config saved automatically.'
|
|
77
|
-
toastSuccess('Configuration synced and saved automatically')
|
|
78
|
-
} else {
|
|
79
|
-
toastWarning('Credentials saved, but configuration sync failed')
|
|
80
|
-
}
|
|
81
|
+
toastSuccess('Credentials saved successfully')
|
|
81
82
|
|
|
82
83
|
// Clear inputs after successful save
|
|
83
84
|
;(document.getElementById('token') as HTMLInputElement).value = ''
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devices-delete.d.ts","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/devices-delete.ts"],"names":[],"mappings":"AAyEA,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"devices-delete.d.ts","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/devices-delete.ts"],"names":[],"mappings":"AAyEA,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkChG;AA6ED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC,CA0ChE"}
|
|
@@ -69,19 +69,15 @@ export async function deleteDeviceFromConfig(deviceId, deviceName) {
|
|
|
69
69
|
}
|
|
70
70
|
try {
|
|
71
71
|
showBusyUi();
|
|
72
|
-
uiLog.info('
|
|
72
|
+
uiLog.info('Deleting device from config:', deviceId);
|
|
73
73
|
const resp = await apiDeleteDevice(deviceId);
|
|
74
74
|
uiLog.info('Delete response:', resp);
|
|
75
|
-
if (!resp || resp.success === false) {
|
|
76
|
-
throw new Error(resp?.data?.message || 'Failed to delete device');
|
|
77
|
-
}
|
|
78
75
|
uiLog.info('Syncing parent config from disk...');
|
|
79
76
|
const synced = await syncParentPluginConfigFromDisk(true);
|
|
80
77
|
if (!synced) {
|
|
81
78
|
toastWarning('Device deleted, but configuration sync failed');
|
|
82
79
|
}
|
|
83
80
|
uiLog.info('Refreshing device list...');
|
|
84
|
-
// Refresh device list
|
|
85
81
|
const list = await fetchDevices();
|
|
86
82
|
uiLog.info('Rendering devices:', list.length);
|
|
87
83
|
renderDeviceList(list);
|
|
@@ -176,12 +172,9 @@ export async function deleteAllDevicesFromConfig() {
|
|
|
176
172
|
return;
|
|
177
173
|
}
|
|
178
174
|
showBusyUi();
|
|
179
|
-
uiLog.info('
|
|
175
|
+
uiLog.info('Deleting all devices from config');
|
|
180
176
|
const resp = await apiDeleteAllDevices();
|
|
181
177
|
uiLog.info('Delete all response:', resp);
|
|
182
|
-
if (!resp || resp.success === false) {
|
|
183
|
-
throw new Error(resp?.data?.message || 'Failed to delete all devices');
|
|
184
|
-
}
|
|
185
178
|
uiLog.info('Syncing parent config from disk...');
|
|
186
179
|
const synced = await syncParentPluginConfigFromDisk(true);
|
|
187
180
|
if (!synced) {
|
|
@@ -191,7 +184,7 @@ export async function deleteAllDevicesFromConfig() {
|
|
|
191
184
|
const updatedList = await fetchDevices();
|
|
192
185
|
uiLog.info('Rendering devices:', updatedList.length);
|
|
193
186
|
renderDeviceList(updatedList);
|
|
194
|
-
const deletedCount = resp?.deletedCount ||
|
|
187
|
+
const deletedCount = resp?.deletedCount || 0;
|
|
195
188
|
uiLog.info(`✓ Removed ${deletedCount} device(s) successfully`);
|
|
196
189
|
toastSuccess(`Removed ${deletedCount} device(s) successfully`);
|
|
197
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devices-delete.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/devices-delete.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"devices-delete.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/devices-delete.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,14 +82,10 @@ export async function deleteDeviceFromConfig(deviceId: string, deviceName: strin
|
|
|
82
82
|
|
|
83
83
|
try {
|
|
84
84
|
showBusyUi()
|
|
85
|
-
uiLog.info('
|
|
85
|
+
uiLog.info('Deleting device from config:', deviceId)
|
|
86
86
|
const resp = await apiDeleteDevice(deviceId)
|
|
87
87
|
uiLog.info('Delete response:', resp)
|
|
88
88
|
|
|
89
|
-
if (!resp || resp.success === false) {
|
|
90
|
-
throw new Error(resp?.data?.message || 'Failed to delete device')
|
|
91
|
-
}
|
|
92
|
-
|
|
93
89
|
uiLog.info('Syncing parent config from disk...')
|
|
94
90
|
const synced = await syncParentPluginConfigFromDisk(true)
|
|
95
91
|
if (!synced) {
|
|
@@ -97,7 +93,6 @@ export async function deleteDeviceFromConfig(deviceId: string, deviceName: strin
|
|
|
97
93
|
}
|
|
98
94
|
|
|
99
95
|
uiLog.info('Refreshing device list...')
|
|
100
|
-
// Refresh device list
|
|
101
96
|
const list = await fetchDevices()
|
|
102
97
|
uiLog.info('Rendering devices:', list.length)
|
|
103
98
|
renderDeviceList(list)
|
|
@@ -205,14 +200,10 @@ export async function deleteAllDevicesFromConfig(): Promise<void> {
|
|
|
205
200
|
}
|
|
206
201
|
|
|
207
202
|
showBusyUi()
|
|
208
|
-
uiLog.info('
|
|
203
|
+
uiLog.info('Deleting all devices from config')
|
|
209
204
|
const resp = await apiDeleteAllDevices()
|
|
210
205
|
uiLog.info('Delete all response:', resp)
|
|
211
206
|
|
|
212
|
-
if (!resp || resp.success === false) {
|
|
213
|
-
throw new Error(resp?.data?.message || 'Failed to delete all devices')
|
|
214
|
-
}
|
|
215
|
-
|
|
216
207
|
uiLog.info('Syncing parent config from disk...')
|
|
217
208
|
const synced = await syncParentPluginConfigFromDisk(true)
|
|
218
209
|
if (!synced) {
|
|
@@ -224,7 +215,7 @@ export async function deleteAllDevicesFromConfig(): Promise<void> {
|
|
|
224
215
|
uiLog.info('Rendering devices:', updatedList.length)
|
|
225
216
|
renderDeviceList(updatedList)
|
|
226
217
|
|
|
227
|
-
const deletedCount = resp?.deletedCount ||
|
|
218
|
+
const deletedCount = resp?.deletedCount || 0
|
|
228
219
|
uiLog.info(`✓ Removed ${deletedCount} device(s) successfully`)
|
|
229
220
|
toastSuccess(`Removed ${deletedCount} device(s) successfully`)
|
|
230
221
|
} catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/devices.ts"],"names":[],"mappings":"AAMA,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/devices.ts"],"names":[],"mappings":"AAMA,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CA2E3I;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAUzD;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAG3D"}
|
|
@@ -21,9 +21,6 @@ export async function addDeviceToConfig(device, options = {}) {
|
|
|
21
21
|
keyId: importValues.keyId,
|
|
22
22
|
});
|
|
23
23
|
uiLog.info('Add device response:', resp);
|
|
24
|
-
if (!resp || resp.success === false) {
|
|
25
|
-
throw new Error(resp?.data?.message || 'Failed to add device');
|
|
26
|
-
}
|
|
27
24
|
const alreadyExists = !!resp?.alreadyExists;
|
|
28
25
|
const message = resp?.message
|
|
29
26
|
|| (alreadyExists
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/devices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAA;AAClF,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAW,EAAE,UAAuD,EAAE;IAC5G,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IACrD,IAAI,CAAC;QACH,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;QAE9D,MAAM,YAAY,GAAQ,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAA;QAC9D,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,gBAAgB,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAC1H,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;QACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"devices.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/devices.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export async function addDeviceToConfig(device: any, options: { refresh?: boolea
|
|
|
14
14
|
return { added: false }
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
|
|
17
18
|
showBusyUi()
|
|
18
19
|
uiLog.info('Adding device to config:', device)
|
|
19
20
|
const resp = await addDevice(device.id, importValues.configDeviceName, importValues.configDeviceType, {
|
|
@@ -25,16 +26,11 @@ export async function addDeviceToConfig(device: any, options: { refresh?: boolea
|
|
|
25
26
|
})
|
|
26
27
|
uiLog.info('Add device response:', resp)
|
|
27
28
|
|
|
28
|
-
if (!resp || resp.success === false) {
|
|
29
|
-
throw new Error(resp?.data?.message || 'Failed to add device')
|
|
30
|
-
}
|
|
31
|
-
|
|
32
29
|
const alreadyExists = !!resp?.alreadyExists
|
|
33
|
-
const message
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
: `Device "${importValues.configDeviceName}" added successfully!`)
|
|
30
|
+
const message = resp?.message
|
|
31
|
+
|| (alreadyExists
|
|
32
|
+
? `Device "${importValues.configDeviceName}" already in config`
|
|
33
|
+
: `Device "${importValues.configDeviceName}" added successfully!`)
|
|
38
34
|
|
|
39
35
|
if (alreadyExists) {
|
|
40
36
|
toastInfo(message)
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { HomebridgePluginUiServer } from '@homebridge/plugin-ui-utils';
|
|
2
2
|
import { registerConfigEndpoints } from './endpoints/config.js';
|
|
3
|
-
import { registerCredentialsEndpoint } from './endpoints/credentials.js';
|
|
4
3
|
import { registerDeviceEndpoints } from './endpoints/devices.js';
|
|
5
4
|
import { registerDiscoveryEndpoint } from './endpoints/discovery.js';
|
|
6
5
|
const server = new HomebridgePluginUiServer();
|
|
@@ -8,6 +7,5 @@ const server = new HomebridgePluginUiServer();
|
|
|
8
7
|
registerConfigEndpoints(server);
|
|
9
8
|
registerDiscoveryEndpoint(server);
|
|
10
9
|
registerDeviceEndpoints(server);
|
|
11
|
-
registerCredentialsEndpoint(server);
|
|
12
10
|
server.ready();
|
|
13
11
|
//# sourceMappingURL=server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/homebridge-ui/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/homebridge-ui/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAEpE,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAA;AAE7C,yBAAyB;AACzB,uBAAuB,CAAC,MAAM,CAAC,CAAA;AAC/B,yBAAyB,CAAC,MAAM,CAAC,CAAA;AACjC,uBAAuB,CAAC,MAAM,CAAC,CAAA;AAE/B,MAAM,CAAC,KAAK,EAAE,CAAA"}
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAkE7D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CA2KtD,CAAA;AA+yBD,qBAAa,oBAAoB;IAC/B,GAAG,EAAE,GAAG,GAAG,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,qBAAqB,CAAA;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAK;IAEnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE7B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,oBAAoB,CAA8B;IAE1D,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,oBAAoB,CAAI;IAChC,OAAO,CAAC,gBAAgB,CAAI;gBAEhB,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG;
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAkE7D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CA2KtD,CAAA;AA+yBD,qBAAa,oBAAoB;IAC/B,GAAG,EAAE,GAAG,GAAG,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,qBAAqB,CAAA;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAK;IAEnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE7B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,oBAAoB,CAA8B;IAE1D,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,CAAC,oBAAoB,CAAI;IAChC,OAAO,CAAC,gBAAgB,CAAI;gBAEhB,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG;IAqC1D;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkI5B;;OAEG;YACW,yBAAyB;IAmCvC,OAAO,CAAC,aAAa;IAUf,WAAW;IAsLX,kBAAkB,CAAC,SAAS,EAAE,GAAG;IAYvC,wBAAwB,CAAC,CAAC,SAAS,EAAE,GAAG;CASzC;AAGD,qBAAa,uBAAuB;IAClC,GAAG,EAAE,GAAG,GAAG,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,qBAAqB,CAAA;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAK;IACnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE7B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,oBAAoB,CAA8B;gBAE9C,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG;IA8CpD,WAAW;IAwCjB,OAAO,CAAC,aAAa;YAUP,qBAAqB;IAU7B,kBAAkB,CAAC,SAAS,EAAE,GAAG;IAWvC,wBAAwB,CAAC,SAAS,EAAE,GAAG;IAWjC,yBAAyB;CAqHhC;;AAED,wBAA8D"}
|
package/dist/platform.js
CHANGED
|
@@ -1053,7 +1053,8 @@ export class SwitchBotHAPPlatform {
|
|
|
1053
1053
|
openApiLastReset = 0;
|
|
1054
1054
|
constructor(log, config, api) {
|
|
1055
1055
|
this.log = log;
|
|
1056
|
-
|
|
1056
|
+
// Ensure both log and logger are set for downstream device constructors
|
|
1057
|
+
this.config = { ...config, log, logger: log };
|
|
1057
1058
|
this.api = api;
|
|
1058
1059
|
this.accessories = new Map();
|
|
1059
1060
|
this.log.info('SwitchBot HAP platform initialized');
|
|
@@ -1276,7 +1277,7 @@ export class SwitchBotHAPPlatform {
|
|
|
1276
1277
|
_raw: raw,
|
|
1277
1278
|
};
|
|
1278
1279
|
const type = normalizeTypeForMatter(d.type);
|
|
1279
|
-
const deviceOpts = { id: d.id, type, name: d.name, encryptionKey: d.encryptionKey, keyId: d.keyId };
|
|
1280
|
+
const deviceOpts = { id: d.id, type, name: d.name, encryptionKey: d.encryptionKey, keyId: d.keyId, log: this.log };
|
|
1280
1281
|
this.log.debug(`[Matter/Debug] Device options for ${d.name ?? d.id}:`, JSON.stringify(deviceOpts, null, 2));
|
|
1281
1282
|
const matterSupported = !!DEVICE_MATTER_SUPPORTED[(type || '').toLowerCase()];
|
|
1282
1283
|
// Auto-detect Matter from Homebridge API, allow manual override via config
|