@switchbot/homebridge-switchbot 5.0.0-beta.152 → 5.0.0-beta.154
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/dist/homebridge-ui/endpoints/devices.d.ts.map +1 -1
- package/dist/homebridge-ui/endpoints/devices.js +64 -1
- package/dist/homebridge-ui/endpoints/devices.js.map +1 -1
- package/dist/homebridge-ui/public/js/api.d.ts.map +1 -1
- package/dist/homebridge-ui/public/js/api.js +24 -11
- package/dist/homebridge-ui/public/js/api.js.map +1 -1
- package/dist/homebridge-ui/public/js/api.ts +24 -12
- package/dist/homebridge-ui/public/js/app.js +118 -263
- package/dist/homebridge-ui/public/js/app.js.map +3 -3
- package/dist/homebridge-ui/public/js/devices.d.ts.map +1 -1
- package/dist/homebridge-ui/public/js/devices.js +2 -0
- package/dist/homebridge-ui/public/js/devices.js.map +1 -1
- package/dist/homebridge-ui/public/js/devices.ts +2 -0
- package/dist/homebridge-ui/public/js/discovery.d.ts +5 -0
- package/dist/homebridge-ui/public/js/discovery.d.ts.map +1 -1
- package/dist/homebridge-ui/public/js/discovery.js +80 -249
- package/dist/homebridge-ui/public/js/discovery.js.map +1 -1
- package/dist/homebridge-ui/public/js/discovery.ts +89 -251
- package/dist/homebridge-ui/public/js/modals.d.ts.map +1 -1
- package/dist/homebridge-ui/public/js/modals.js +4 -2
- package/dist/homebridge-ui/public/js/modals.js.map +1 -1
- package/dist/homebridge-ui/public/js/modals.ts +6 -2
- package/dist/homebridge-ui/public/js/render.d.ts.map +1 -1
- package/dist/homebridge-ui/public/js/render.js +2 -1
- package/dist/homebridge-ui/public/js/render.js.map +1 -1
- package/dist/homebridge-ui/public/js/render.ts +2 -1
- package/dist/homebridge-ui/public/js/toast.d.ts.map +1 -1
- package/dist/homebridge-ui/public/js/toast.js +15 -6
- package/dist/homebridge-ui/public/js/toast.js.map +1 -1
- package/dist/homebridge-ui/public/js/toast.ts +14 -7
- package/dist/homebridge-ui/utils/config-parser.d.ts +4 -0
- package/dist/homebridge-ui/utils/config-parser.d.ts.map +1 -1
- package/dist/homebridge-ui/utils/config-parser.js +21 -0
- package/dist/homebridge-ui/utils/config-parser.js.map +1 -1
- package/docs/variables/default.html +1 -1
- package/package.json +4 -4
- package/src/homebridge-ui/endpoints/devices.ts +66 -1
- package/src/homebridge-ui/public/js/api.ts +24 -12
- package/src/homebridge-ui/public/js/devices.ts +2 -0
- package/src/homebridge-ui/public/js/discovery.ts +89 -251
- package/src/homebridge-ui/public/js/modals.ts +6 -2
- package/src/homebridge-ui/public/js/render.ts +2 -1
- package/src/homebridge-ui/public/js/toast.ts +14 -7
- package/src/homebridge-ui/utils/config-parser.ts +17 -0
|
@@ -263,6 +263,7 @@ export function renderDeviceDetailsPanel(device) {
|
|
|
263
263
|
}
|
|
264
264
|
}
|
|
265
265
|
const rows = [
|
|
266
|
+
{ label: 'Name', value: String(device?.name || device?.configDeviceName || 'N/A') },
|
|
266
267
|
{ label: 'Device ID', value: String(device?.id || device?.deviceId || 'N/A'), copyable: !!(device?.id || device?.deviceId) },
|
|
267
268
|
{ label: 'MAC Address', value: String(device?.address || 'N/A'), copyable: !!device?.address },
|
|
268
269
|
{ label: 'Device Type', value: String(device?.type || device?.configDeviceType || 'N/A') },
|
|
@@ -944,7 +945,7 @@ export function renderDeviceList(list) {
|
|
|
944
945
|
deleteBtn.style.background = '#ef4444';
|
|
945
946
|
deleteBtn.onclick = async () => {
|
|
946
947
|
const { deleteDeviceFromConfig } = await import('./devices-delete.js');
|
|
947
|
-
await deleteDeviceFromConfig(d.id, d.name || d.id);
|
|
948
|
+
await deleteDeviceFromConfig(d.id || d.deviceId, d.name || d.id || d.deviceId);
|
|
948
949
|
};
|
|
949
950
|
buttons.appendChild(editBtn);
|
|
950
951
|
buttons.appendChild(copyBtn);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -295,6 +295,7 @@ export function renderDeviceDetailsPanel(device: any): HTMLElement {
|
|
|
295
295
|
}
|
|
296
296
|
|
|
297
297
|
const rows: Array<{ label: string, value: string, copyable?: boolean }> = [
|
|
298
|
+
{ label: 'Name', value: String(device?.name || device?.configDeviceName || 'N/A') },
|
|
298
299
|
{ label: 'Device ID', value: String(device?.id || device?.deviceId || 'N/A'), copyable: !!(device?.id || device?.deviceId) },
|
|
299
300
|
{ label: 'MAC Address', value: String(device?.address || 'N/A'), copyable: !!device?.address },
|
|
300
301
|
{ label: 'Device Type', value: String(device?.type || device?.configDeviceType || 'N/A') },
|
|
@@ -1066,7 +1067,7 @@ export function renderDeviceList(list: any[]): void {
|
|
|
1066
1067
|
deleteBtn.style.background = '#ef4444'
|
|
1067
1068
|
deleteBtn.onclick = async () => {
|
|
1068
1069
|
const { deleteDeviceFromConfig } = await import('./devices-delete.js')
|
|
1069
|
-
await deleteDeviceFromConfig(d.id, d.name || d.id)
|
|
1070
|
+
await deleteDeviceFromConfig(d.id || d.deviceId, d.name || d.id || d.deviceId)
|
|
1070
1071
|
}
|
|
1071
1072
|
|
|
1072
1073
|
buttons.appendChild(editBtn)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/toast.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/toast.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAA;AA6BnB,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAElE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAElE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAE/D"}
|
|
@@ -2,16 +2,25 @@ import './types.js';
|
|
|
2
2
|
import { uiLog } from './logger.js';
|
|
3
3
|
function showToast(method, message, title = 'SwitchBot') {
|
|
4
4
|
try {
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
// Defensive: check for window and homebridge existence
|
|
6
|
+
const hb = typeof window !== 'undefined' ? window.homebridge : undefined;
|
|
7
|
+
const toast = hb && typeof hb.toast === 'object' ? hb.toast : undefined;
|
|
8
|
+
const fn = toast && typeof toast[method] === 'function' ? toast[method] : undefined;
|
|
9
|
+
if (fn) {
|
|
10
|
+
try {
|
|
11
|
+
fn(message, title);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
catch (err) {
|
|
15
|
+
uiLog.warn(`Toast ${method} threw:`, err);
|
|
16
|
+
}
|
|
10
17
|
}
|
|
18
|
+
// Fallback: log to console
|
|
11
19
|
uiLog.info(`[Toast:${method}] ${title} - ${message}`);
|
|
12
20
|
}
|
|
13
21
|
catch (e) {
|
|
14
|
-
uiLog.warn(`Toast ${method}
|
|
22
|
+
uiLog.warn(`Toast ${method} outer error:`, e);
|
|
23
|
+
uiLog.info(`[Toast:${method}] ${title} - ${message}`);
|
|
15
24
|
}
|
|
16
25
|
}
|
|
17
26
|
export function toastSuccess(message, title) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/toast.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAA;AACnB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,SAAS,SAAS,CAChB,MAAgD,EAChD,OAAe,EACf,KAAK,GAAG,WAAW;IAEnB,IAAI,CAAC;QACH,MAAM,
|
|
1
|
+
{"version":3,"file":"toast.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/toast.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,CAAA;AACnB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC,SAAS,SAAS,CAChB,MAAgD,EAChD,OAAe,EACf,KAAK,GAAG,WAAW;IAEnB,IAAI,CAAC;QACH,uDAAuD;QACvD,MAAM,EAAE,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAE,MAAc,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;QACjF,MAAM,KAAK,GAAG,EAAE,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;QACvE,MAAM,EAAE,GAAG,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACnF,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC;gBACH,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;gBAClB,OAAM;YACR,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,SAAS,EAAE,GAAG,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QACD,2BAA2B;QAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,KAAK,KAAK,MAAM,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,eAAe,EAAE,CAAC,CAAC,CAAA;QAC7C,KAAK,CAAC,IAAI,CAAC,UAAU,MAAM,KAAK,KAAK,MAAM,OAAO,EAAE,CAAC,CAAA;IACvD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,KAAc;IAC1D,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,KAAc;IACxD,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,KAAc;IAC1D,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,KAAc;IACvD,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -7,16 +7,23 @@ function showToast(
|
|
|
7
7
|
title = 'SwitchBot',
|
|
8
8
|
): void {
|
|
9
9
|
try {
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
// Defensive: check for window and homebridge existence
|
|
11
|
+
const hb = typeof window !== 'undefined' ? (window as any).homebridge : undefined
|
|
12
|
+
const toast = hb && typeof hb.toast === 'object' ? hb.toast : undefined
|
|
13
|
+
const fn = toast && typeof toast[method] === 'function' ? toast[method] : undefined
|
|
14
|
+
if (fn) {
|
|
15
|
+
try {
|
|
16
|
+
fn(message, title)
|
|
17
|
+
return
|
|
18
|
+
} catch (err) {
|
|
19
|
+
uiLog.warn(`Toast ${method} threw:`, err)
|
|
20
|
+
}
|
|
15
21
|
}
|
|
16
|
-
|
|
22
|
+
// Fallback: log to console
|
|
17
23
|
uiLog.info(`[Toast:${method}] ${title} - ${message}`)
|
|
18
24
|
} catch (e) {
|
|
19
|
-
uiLog.warn(`Toast ${method}
|
|
25
|
+
uiLog.warn(`Toast ${method} outer error:`, e)
|
|
26
|
+
uiLog.info(`[Toast:${method}] ${title} - ${message}`)
|
|
20
27
|
}
|
|
21
28
|
}
|
|
22
29
|
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ensure required fields are present on the SwitchBot platform config
|
|
3
|
+
*/
|
|
4
|
+
export declare function enforcePlatformConfigFields(platform: any): void;
|
|
1
5
|
import type { HomebridgePluginUiServer } from '@homebridge/plugin-ui-utils';
|
|
2
6
|
export declare const SWITCHBOT_PLATFORM_REGEX: RegExp;
|
|
3
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-parser.d.ts","sourceRoot":"","sources":["../../../src/homebridge-ui/utils/config-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAO3E,eAAO,MAAM,wBAAwB,QAAe,CAAA;AAEpD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,EAAE,CAWlD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,CAGtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,EAAE,CAYlD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,eAAe,GAAG,MAAM,GAAG,SAAS,CAEtG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMvG;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,wBAAwB;;;;GA6BhF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"config-parser.d.ts","sourceRoot":"","sources":["../../../src/homebridge-ui/utils/config-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAK/D;AACD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAO3E,eAAO,MAAM,wBAAwB,QAAe,CAAA;AAEpD;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,EAAE,CAWlD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,CAGtD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,EAAE,CAYlD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,eAAe,GAAG,MAAM,GAAG,SAAS,CAEtG;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,cAAc,GAAG,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMvG;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,wBAAwB;;;;GA6BhF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAUzE"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ensure required fields are present on the SwitchBot platform config
|
|
3
|
+
*/
|
|
4
|
+
export function enforcePlatformConfigFields(platform) {
|
|
5
|
+
if (!platform)
|
|
6
|
+
return;
|
|
7
|
+
if (!platform.platform)
|
|
8
|
+
platform.platform = 'SwitchBot';
|
|
9
|
+
if (!platform.name)
|
|
10
|
+
platform.name = 'SwitchBot';
|
|
11
|
+
if (!Array.isArray(platform.devices))
|
|
12
|
+
platform.devices = [];
|
|
13
|
+
}
|
|
1
14
|
import fs from 'node:fs/promises';
|
|
2
15
|
import { uiLog } from './logger.js';
|
|
3
16
|
// Module-scope regex pattern to avoid recompilation
|
|
@@ -82,6 +95,14 @@ export async function getSwitchBotPlatformConfig(server) {
|
|
|
82
95
|
* Save the Homebridge config file
|
|
83
96
|
*/
|
|
84
97
|
export async function saveConfig(cfgPath, cfg) {
|
|
98
|
+
// Defensive: enforce required fields on all SwitchBot platform blocks before saving
|
|
99
|
+
if (cfg && Array.isArray(cfg.platforms)) {
|
|
100
|
+
for (const p of cfg.platforms) {
|
|
101
|
+
if (p && (String(p.platform || '').toLowerCase() === 'switchbot' || String(p.name || '').toLowerCase() === 'switchbot')) {
|
|
102
|
+
enforcePlatformConfigFields(p);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
85
106
|
await fs.writeFile(cfgPath, JSON.stringify(cfg, null, 2), 'utf-8');
|
|
86
107
|
}
|
|
87
108
|
//# sourceMappingURL=config-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../../src/homebridge-ui/utils/config-parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../../src/homebridge-ui/utils/config-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
<!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>default | @switchbot/homebridge-switchbot</title><meta name="description" content="Documentation for @switchbot/homebridge-switchbot"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">@switchbot/homebridge-switchbot</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">default</a></li></ul><h1>Variable default</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">default</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=></span> <span class="tsd-signature-type">void</span></div><div class="tsd-comment tsd-typography"><p>Registers the SwitchBot platform with Homebridge.</p>
|
|
2
2
|
</div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">API</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">void</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">api</span>: <span class="tsd-signature-type">API</span></span><div class="tsd-comment tsd-typography"><p>The Homebridge API instance.</p>
|
|
3
|
-
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/OpenWonderLabs/homebridge-switchbot/blob/
|
|
3
|
+
</div></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/OpenWonderLabs/homebridge-switchbot/blob/aceaaed9ccb5470ce6256731974aefb6d184f070/src/index.ts#L22">index.ts:22</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">@switchbot/homebridge-switchbot</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@switchbot/homebridge-switchbot",
|
|
3
3
|
"displayName": "SwitchBot",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "5.0.0-beta.
|
|
5
|
+
"version": "5.0.0-beta.154",
|
|
6
6
|
"description": "The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.",
|
|
7
7
|
"author": "SwitchBot <support@wondertechlabs.com> (https://github.com/SwitchBot)",
|
|
8
8
|
"contributors": [
|
|
@@ -67,13 +67,13 @@
|
|
|
67
67
|
"check": "npm install && npm outdated",
|
|
68
68
|
"ports:free": "node scripts/free-dev-ports.mjs",
|
|
69
69
|
"typecheck": "tsc --noEmit",
|
|
70
|
-
"lint": "eslint src/**/*.ts test/**/*.ts src/homebridge-ui/**/*.html && npm run typecheck",
|
|
70
|
+
"lint": "eslint src/**/*.ts test/**/*.ts src/homebridge-ui/**/*.html src/homebridge-ui/public/js/*.ts && npm run typecheck",
|
|
71
71
|
"lint:src": "eslint src/**/*.ts",
|
|
72
72
|
"lint:test": "eslint test/**/*.ts",
|
|
73
73
|
"lint:ui": "eslint src/homebridge-ui/**/*.html",
|
|
74
|
-
"lint:fix": "eslint src/**/*.ts test/**/*.ts src/homebridge-ui/**/*.html --fix && npm run typecheck",
|
|
74
|
+
"lint:fix": "eslint src/**/*.ts test/**/*.ts src/homebridge-ui/**/*.html src/homebridge-ui/public/js/*.ts --fix && npm run typecheck",
|
|
75
75
|
"watch": "npm run ports:free && npm run build && npm run plugin-ui && npm link && nodemon",
|
|
76
|
-
"watch:ui": "npm run ports:free && bash -c 'npx homebridge -I -U ~/.homebridge-dev & HB_PID=$!; sleep 6; UIX_STORAGE_PATH=~/.homebridge-dev node ./node_modules/homebridge-config-ui-x/dist/bin/standalone.js & npm run watch:files'",
|
|
76
|
+
"watch:ui": "npm run ports:free && bash -c 'npx homebridge -I -U -D ~/.homebridge-dev & HB_PID=$!; sleep 6; UIX_STORAGE_PATH=~/.homebridge-dev node ./node_modules/homebridge-config-ui-x/dist/bin/standalone.js & npm run watch:files'",
|
|
77
77
|
"watch:files": "nodemon",
|
|
78
78
|
"plugin-ui": "mkdir -p ./dist/homebridge-ui/public && if [ -d ./src/homebridge-ui/public ]; then rsync -a ./src/homebridge-ui/public/ ./dist/homebridge-ui/public/; fi && node scripts/build-ui.js",
|
|
79
79
|
"build": "npm run sync:device-types && npm run clean && tsc && npm run plugin-ui",
|
|
@@ -1,13 +1,78 @@
|
|
|
1
1
|
import type { HomebridgePluginUiServer } from '@homebridge/plugin-ui-utils'
|
|
2
2
|
|
|
3
3
|
import { SwitchBotClient } from '../../switchbotClient.js'
|
|
4
|
-
import { getAllDevices, getSwitchBotPlatformConfig } from '../utils/config-parser.js'
|
|
4
|
+
import { getAllDevices, getDevicesRef, getSwitchBotPlatformConfig } from '../utils/config-parser.js'
|
|
5
5
|
import { uiLog } from '../utils/logger.js'
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Register device CRUD endpoints
|
|
9
9
|
*/
|
|
10
10
|
export function registerDeviceEndpoints(server: HomebridgePluginUiServer) {
|
|
11
|
+
/**
|
|
12
|
+
* POST /add-devices - Add or update multiple devices in the Homebridge config
|
|
13
|
+
* Expects: { devices: Array<{ deviceId, configDeviceType, configDeviceName, ... }> }
|
|
14
|
+
*/
|
|
15
|
+
server.onRequest('/add-devices', async (body: any) => {
|
|
16
|
+
try {
|
|
17
|
+
if (!body || !Array.isArray(body.devices) || body.devices.length === 0) {
|
|
18
|
+
throw new Error('No devices provided')
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const { platform, cfg, cfgPath } = await getSwitchBotPlatformConfig(server)
|
|
22
|
+
const devicesRef = getDevicesRef(platform)
|
|
23
|
+
const incomingDevices = body.devices
|
|
24
|
+
let added = 0
|
|
25
|
+
let updated = 0
|
|
26
|
+
|
|
27
|
+
for (const newDev of incomingDevices) {
|
|
28
|
+
const id = String(newDev.deviceId || newDev.id || '').trim().toLowerCase()
|
|
29
|
+
if (!id) {
|
|
30
|
+
continue
|
|
31
|
+
}
|
|
32
|
+
const idx = devicesRef.findIndex((d: any) => String(d.deviceId || d.id || '').trim().toLowerCase() === id)
|
|
33
|
+
if (idx >= 0) {
|
|
34
|
+
// Update existing device
|
|
35
|
+
devicesRef[idx] = { ...devicesRef[idx], ...newDev }
|
|
36
|
+
updated++
|
|
37
|
+
} else {
|
|
38
|
+
// Add new device
|
|
39
|
+
devicesRef.push({ ...newDev })
|
|
40
|
+
added++
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Log devicesRef and cfgPath before saving
|
|
45
|
+
uiLog.info(`[DEBUG] devicesRef before save:`, JSON.stringify(devicesRef, null, 2))
|
|
46
|
+
uiLog.info(`[DEBUG] cfgPath:`, cfgPath)
|
|
47
|
+
await import('../utils/config-parser.js').then(m => m.saveConfig(cfgPath, cfg))
|
|
48
|
+
|
|
49
|
+
// Log the config file contents after saving for debugging
|
|
50
|
+
try {
|
|
51
|
+
const fs = await import('node:fs/promises')
|
|
52
|
+
const raw = await fs.readFile(cfgPath, 'utf-8')
|
|
53
|
+
uiLog.info(`[DEBUG] Config after add-devices save:`, raw)
|
|
54
|
+
} catch (e) {
|
|
55
|
+
uiLog.warn(`[DEBUG] Could not read config after save:`, e)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
uiLog.info(`POST /add-devices - Added: ${added}, Updated: ${updated}`)
|
|
59
|
+
return {
|
|
60
|
+
success: true,
|
|
61
|
+
data: {
|
|
62
|
+
added,
|
|
63
|
+
updated,
|
|
64
|
+
total: devicesRef.length,
|
|
65
|
+
},
|
|
66
|
+
}
|
|
67
|
+
} catch (e) {
|
|
68
|
+
const msg = e instanceof Error ? e.message : String(e)
|
|
69
|
+
uiLog.error(`POST /add-devices failed: ${msg}`)
|
|
70
|
+
return {
|
|
71
|
+
success: false,
|
|
72
|
+
error: msg,
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
})
|
|
11
76
|
/**
|
|
12
77
|
* POST /test-connection - Test connectivity and basic read for a device
|
|
13
78
|
*/
|
|
@@ -66,12 +66,7 @@ export async function syncParentPluginConfigFromDisk(autoSave = false): Promise<
|
|
|
66
66
|
return false
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
if (!diskResp || diskResp.success === false || !diskResp.data) {
|
|
71
|
-
uiLog.warn('Failed to fetch fresh platform config from disk')
|
|
72
|
-
return false
|
|
73
|
-
}
|
|
74
|
-
|
|
69
|
+
// Use Homebridge UI API to fetch and update config
|
|
75
70
|
const pluginConfigBlocks = await homebridge.getPluginConfig()
|
|
76
71
|
if (!Array.isArray(pluginConfigBlocks) || !pluginConfigBlocks.length) {
|
|
77
72
|
uiLog.warn('No plugin config blocks returned from Homebridge')
|
|
@@ -85,12 +80,12 @@ export async function syncParentPluginConfigFromDisk(autoSave = false): Promise<
|
|
|
85
80
|
}
|
|
86
81
|
|
|
87
82
|
// Validate and fix device types before saving
|
|
88
|
-
const errors = validateAndFixDeviceTypes(
|
|
83
|
+
const errors = validateAndFixDeviceTypes(pluginConfigBlocks[index].devices || [])
|
|
89
84
|
if (errors.length > 0) {
|
|
90
85
|
toastError(`Invalid device types found: ${errors.map(e => `${e.name} (${e.type})`).join(', ')}`)
|
|
91
86
|
return false
|
|
92
87
|
}
|
|
93
|
-
pluginConfigBlocks[index]
|
|
88
|
+
// pluginConfigBlocks[index] is already up to date
|
|
94
89
|
await homebridge.updatePluginConfig(pluginConfigBlocks)
|
|
95
90
|
|
|
96
91
|
// Auto-save to disk if requested - prevents parent UI from overwriting with stale cache
|
|
@@ -309,7 +304,10 @@ export async function deleteDevice(deviceId: string): Promise<any> {
|
|
|
309
304
|
}
|
|
310
305
|
const normalizedDeviceId = String(deviceId).trim().toLowerCase()
|
|
311
306
|
const before = config.devices.length
|
|
312
|
-
|
|
307
|
+
// Remove the target device
|
|
308
|
+
config.devices = config.devices.filter(d => String(d.deviceId ?? d.id ?? '').trim().toLowerCase() !== normalizedDeviceId)
|
|
309
|
+
// Defensive: filter out any invalid device entries (missing required fields)
|
|
310
|
+
config.devices = config.devices.filter(d => d && typeof d === 'object' && d.deviceId && d.configDeviceType)
|
|
313
311
|
if (config.devices.length === before) {
|
|
314
312
|
throw new Error('Device not found in config')
|
|
315
313
|
}
|
|
@@ -325,16 +323,30 @@ export async function deleteAllDevices(): Promise<any> {
|
|
|
325
323
|
throw new TypeError('Homebridge UI API not available')
|
|
326
324
|
}
|
|
327
325
|
const configArr = await homebridge.getPluginConfig()
|
|
328
|
-
|
|
326
|
+
// Find or create the SwitchBot config block
|
|
327
|
+
let idx = Array.isArray(configArr) ? configArr.findIndex(isSwitchBotPlatformConfig) : -1
|
|
329
328
|
if (idx === -1) {
|
|
330
|
-
|
|
329
|
+
// If not found, create a new config block for SwitchBot
|
|
330
|
+
const newBlock = { platform: 'SwitchBot', devices: [] }
|
|
331
|
+
configArr.push(newBlock)
|
|
332
|
+
idx = configArr.length - 1
|
|
331
333
|
}
|
|
332
334
|
const config = configArr[idx]
|
|
335
|
+
// Always ensure devices is an array
|
|
333
336
|
if (!Array.isArray(config.devices)) {
|
|
334
|
-
|
|
337
|
+
config.devices = []
|
|
335
338
|
}
|
|
336
339
|
const deletedCount = config.devices.length
|
|
337
340
|
config.devices = []
|
|
341
|
+
// Defensive: ensure required fields for schema compliance
|
|
342
|
+
if (!config.platform) {
|
|
343
|
+
config.platform = 'SwitchBot'
|
|
344
|
+
}
|
|
345
|
+
// Ensure 'name' property is present (required by schema for Homebridge platform blocks)
|
|
346
|
+
if (!config.name) {
|
|
347
|
+
config.name = 'SwitchBot'
|
|
348
|
+
}
|
|
349
|
+
// Save updated config
|
|
338
350
|
await homebridge.updatePluginConfig(configArr)
|
|
339
351
|
if (typeof homebridge.savePluginConfig === 'function') {
|
|
340
352
|
await homebridge.savePluginConfig()
|