@switchbot/homebridge-switchbot 5.1.0-beta.4 → 5.1.0-beta.5

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.
@@ -243,8 +243,8 @@
243
243
  </div>
244
244
  </div>
245
245
 
246
- <script type="module" src="js/app.js?v=63bcfa66"></script>
247
- <script type="module" src="js/advanced-settings.js?v=4952da80"></script>
246
+ <script type="module" src="js/app.js?v=ca5ec0b0"></script>
247
+ <script type="module" src="js/advanced-settings.js?v=031779bb"></script>
248
248
  <script type="module" src="js/legacy-view.js"></script>
249
249
  </body>
250
250
 
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-settings.d.ts","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/advanced-settings.ts"],"names":[],"mappings":"AAGA,iBAAe,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+BnD;AAED,iBAAe,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+CnD"}
1
+ {"version":3,"file":"advanced-settings.d.ts","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/advanced-settings.ts"],"names":[],"mappings":"AAGA,iBAAe,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CA+BnD;AAED,iBAAe,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgDnD"}
@@ -46,10 +46,11 @@ async function saveAdvancedSettings() {
46
46
  if (!Array.isArray(pluginConfigBlocks) || !pluginConfigBlocks.length) {
47
47
  throw new Error('No plugin config blocks returned from Homebridge');
48
48
  }
49
- // Find the SwitchBot config block
50
- const idx = pluginConfigBlocks.findIndex(c => (c.platform || c.name || '').toLowerCase().includes('switchbot'));
49
+ // Find or add the SwitchBot config block
50
+ let idx = pluginConfigBlocks.findIndex(c => (c.platform || c.name || '').toLowerCase().includes('switchbot'));
51
51
  if (idx === -1) {
52
- throw new Error('SwitchBot config not found');
52
+ pluginConfigBlocks.push({ platform: 'SwitchBot' });
53
+ idx = pluginConfigBlocks.length - 1;
53
54
  }
54
55
  const config = pluginConfigBlocks[idx];
55
56
  // Update config values from UI
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-settings.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/advanced-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced-settings.js","sourceRoot":"","sources":["../../../../src/homebridge-ui/public/js/advanced-settings.ts"],"names":[],"mappings":"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"}
@@ -46,10 +46,11 @@ async function saveAdvancedSettings(): Promise<void> {
46
46
  if (!Array.isArray(pluginConfigBlocks) || !pluginConfigBlocks.length) {
47
47
  throw new Error('No plugin config blocks returned from Homebridge')
48
48
  }
49
- // Find the SwitchBot config block
50
- const idx = pluginConfigBlocks.findIndex(c => (c.platform || c.name || '').toLowerCase().includes('switchbot'))
49
+ // Find or add the SwitchBot config block
50
+ let idx = pluginConfigBlocks.findIndex(c => (c.platform || c.name || '').toLowerCase().includes('switchbot'))
51
51
  if (idx === -1) {
52
- throw new Error('SwitchBot config not found')
52
+ pluginConfigBlocks.push({ platform: 'SwitchBot' })
53
+ idx = pluginConfigBlocks.length - 1
53
54
  }
54
55
  const config = pluginConfigBlocks[idx]
55
56
  // Update config values from UI
@@ -3766,14 +3766,19 @@ async function saveCredentials2() {
3766
3766
  if (typeof homebridge.getPluginConfig !== "function" || typeof homebridge.updatePluginConfig !== "function") {
3767
3767
  throw new TypeError("Homebridge UI API not available");
3768
3768
  }
3769
- const configArr = await homebridge.getPluginConfig();
3770
- if (!Array.isArray(configArr) || configArr.length === 0) {
3771
- throw new Error("No plugin config found");
3769
+ let configArr = await homebridge.getPluginConfig();
3770
+ if (!Array.isArray(configArr)) {
3771
+ configArr = [];
3772
+ }
3773
+ let idx = configArr.findIndex((c) => (c.platform || c.name || "").toLowerCase() === "switchbot");
3774
+ if (idx === -1) {
3775
+ configArr.push({ platform: "SwitchBot" });
3776
+ idx = configArr.length - 1;
3772
3777
  }
3773
- const config = configArr[0];
3778
+ const config = configArr[idx];
3774
3779
  config.openApiToken = token;
3775
3780
  config.openApiSecret = secret;
3776
- await homebridge.updatePluginConfig([config]);
3781
+ await homebridge.updatePluginConfig(configArr);
3777
3782
  if (typeof homebridge.savePluginConfig === "function") {
3778
3783
  await homebridge.savePluginConfig();
3779
3784
  }