@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.
Files changed (44) hide show
  1. package/dist/homebridge-ui/endpoints/devices.d.ts.map +1 -1
  2. package/dist/homebridge-ui/endpoints/devices.js +64 -1
  3. package/dist/homebridge-ui/endpoints/devices.js.map +1 -1
  4. package/dist/homebridge-ui/public/js/api.d.ts.map +1 -1
  5. package/dist/homebridge-ui/public/js/api.js +24 -11
  6. package/dist/homebridge-ui/public/js/api.js.map +1 -1
  7. package/dist/homebridge-ui/public/js/api.ts +24 -12
  8. package/dist/homebridge-ui/public/js/app.js +118 -263
  9. package/dist/homebridge-ui/public/js/app.js.map +3 -3
  10. package/dist/homebridge-ui/public/js/devices.d.ts.map +1 -1
  11. package/dist/homebridge-ui/public/js/devices.js +2 -0
  12. package/dist/homebridge-ui/public/js/devices.js.map +1 -1
  13. package/dist/homebridge-ui/public/js/devices.ts +2 -0
  14. package/dist/homebridge-ui/public/js/discovery.d.ts +5 -0
  15. package/dist/homebridge-ui/public/js/discovery.d.ts.map +1 -1
  16. package/dist/homebridge-ui/public/js/discovery.js +80 -249
  17. package/dist/homebridge-ui/public/js/discovery.js.map +1 -1
  18. package/dist/homebridge-ui/public/js/discovery.ts +89 -251
  19. package/dist/homebridge-ui/public/js/modals.d.ts.map +1 -1
  20. package/dist/homebridge-ui/public/js/modals.js +4 -2
  21. package/dist/homebridge-ui/public/js/modals.js.map +1 -1
  22. package/dist/homebridge-ui/public/js/modals.ts +6 -2
  23. package/dist/homebridge-ui/public/js/render.d.ts.map +1 -1
  24. package/dist/homebridge-ui/public/js/render.js +2 -1
  25. package/dist/homebridge-ui/public/js/render.js.map +1 -1
  26. package/dist/homebridge-ui/public/js/render.ts +2 -1
  27. package/dist/homebridge-ui/public/js/toast.d.ts.map +1 -1
  28. package/dist/homebridge-ui/public/js/toast.js +15 -6
  29. package/dist/homebridge-ui/public/js/toast.js.map +1 -1
  30. package/dist/homebridge-ui/public/js/toast.ts +14 -7
  31. package/dist/homebridge-ui/utils/config-parser.d.ts +4 -0
  32. package/dist/homebridge-ui/utils/config-parser.d.ts.map +1 -1
  33. package/dist/homebridge-ui/utils/config-parser.js +21 -0
  34. package/dist/homebridge-ui/utils/config-parser.js.map +1 -1
  35. package/docs/variables/default.html +1 -1
  36. package/package.json +4 -4
  37. package/src/homebridge-ui/endpoints/devices.ts +66 -1
  38. package/src/homebridge-ui/public/js/api.ts +24 -12
  39. package/src/homebridge-ui/public/js/devices.ts +2 -0
  40. package/src/homebridge-ui/public/js/discovery.ts +89 -251
  41. package/src/homebridge-ui/public/js/modals.ts +6 -2
  42. package/src/homebridge-ui/public/js/render.ts +2 -1
  43. package/src/homebridge-ui/public/js/toast.ts +14 -7
  44. 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;AAsBnB,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"}
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
- const toast = homebridge?.toast;
6
- const fn = toast?.[method];
7
- if (typeof fn === 'function') {
8
- fn(message, title);
9
- return;
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} failed:`, e);
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,KAAK,GAAG,UAAU,EAAE,KAAK,CAAA;QAC/B,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,MAAM,CAAC,CAAA;QAC1B,IAAI,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC;YAC7B,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAClB,OAAM;QACR,CAAC;QAED,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,UAAU,EAAE,CAAC,CAAC,CAAA;IAC1C,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"}
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
- const toast = homebridge?.toast
11
- const fn = toast?.[method]
12
- if (typeof fn === 'function') {
13
- fn(message, title)
14
- return
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} failed:`, e)
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,CAEzE"}
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":"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"}
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">=&gt;</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/60a12cae6a3610a71cc0082a617bb39a92daaeec/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>
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.152",
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
- const diskResp = await homebridge.request('/platform-config', {})
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(diskResp.data.devices || [])
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] = diskResp.data
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
- config.devices = config.devices.filter((d: any) => String(d.deviceId ?? d.id ?? '').trim().toLowerCase() !== normalizedDeviceId)
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
- const idx = Array.isArray(configArr) ? configArr.findIndex(isSwitchBotPlatformConfig) : -1
326
+ // Find or create the SwitchBot config block
327
+ let idx = Array.isArray(configArr) ? configArr.findIndex(isSwitchBotPlatformConfig) : -1
329
328
  if (idx === -1) {
330
- throw new Error('SwitchBot config not found')
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
- throw new TypeError('No devices array in config')
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()
@@ -67,6 +67,8 @@ export async function addDeviceToConfig(device: any, options: { refresh?: boolea
67
67
  }
68
68
 
69
69
  if (refresh) {
70
+ // Force reload of config from disk after add
71
+ await syncParentPluginConfigFromDisk(true)
70
72
  await loadConfiguredDevices()
71
73
  }
72
74