@switchbot/homebridge-switchbot 5.0.0-beta.62 → 5.0.0-beta.64

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.
@@ -50,5 +50,12 @@ export declare class RoboticVacuumAccessory extends BaseMatterAccessory {
50
50
  * Update battery percentage (no PowerSource cluster for this device type)
51
51
  */
52
52
  updateBatteryPercentage(percentageOrBatPercentRemaining: number): Promise<void>;
53
+ private handleDock;
54
+ private handleServiceArea;
55
+ private simulateCleaningSequence;
56
+ private simulateDockingSequence;
57
+ private requestDeviceStatus;
58
+ startCleaningSimulation(): Promise<void>;
59
+ startDockingSimulation(): Promise<void>;
53
60
  }
54
61
  //# sourceMappingURL=RoboticVacuumAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoboticVacuumAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/RoboticVacuumAccessory.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAwH9D,qBAAa,sBAAuB,SAAQ,mBAAmB;IAE7D,OAAO,CAAC,kBAAkB,CAA4C;IACtE,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,YAAY,CAAoB;gBAE5B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YAuFtH,mBAAmB;YAYnB,qBAAqB;YA6CrB,WAAW;YAYX,UAAU;YAmBV,WAAW;YAwBX,YAAY;YAKZ,YAAY;IAanB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAc3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMjC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAa1C;;OAEG;IACU,uBAAuB,CAAC,+BAA+B,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAoB7F"}
1
+ {"version":3,"file":"RoboticVacuumAccessory.d.ts","sourceRoot":"","sources":["../../src/devices-matter/RoboticVacuumAccessory.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAkB,MAAM,YAAY,CAAA;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAwH9D,qBAAa,sBAAuB,SAAQ,mBAAmB;IAE7D,OAAO,CAAC,kBAAkB,CAA4C;IACtE,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,YAAY,CAAoB;gBAE5B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,OAAO,uBAAuB,EAAE,yBAAyB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;YAoItH,mBAAmB;YA4DnB,qBAAqB;YAiDrB,WAAW;YAYX,UAAU;YAmBV,WAAW;YAwBX,YAAY;YAKZ,YAAY;IAanB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAc3C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMjC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM1C;;OAEG;IACU,uBAAuB,CAAC,+BAA+B,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAqB9E,UAAU;YAaV,iBAAiB;YAKjB,wBAAwB;YAsBxB,uBAAuB;YAsBvB,mBAAmB;IAYpB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAKxC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;CAIrD"}
@@ -106,34 +106,74 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
106
106
  currentMode: 0,
107
107
  },
108
108
  rvcCleanMode: (() => {
109
- if (capabilities.cleanAction === 'vacuum-only') {
110
- return {
111
- supportedModes: [
112
- { label: 'Quiet', mode: 0, modeTags: [{ value: 2 }] },
113
- { label: 'Standard', mode: 1, modeTags: [{ value: 16384 }] },
114
- { label: 'Strong', mode: 2, modeTags: [{ value: 7 }] },
115
- { label: 'MAX', mode: 3, modeTags: [{ value: 8 }] },
116
- ],
117
- currentMode: 1,
118
- };
119
- }
120
- else if (capabilities.cleanAction === 'vacuum-or-mop') {
121
- return {
122
- supportedModes: [
123
- { label: 'Vacuum', mode: 0, modeTags: [{ value: 16385 }] },
124
- { label: 'Mop', mode: 1, modeTags: [{ value: 16386 }] },
125
- ],
126
- currentMode: 0,
127
- };
128
- }
129
- else {
130
- return {
131
- supportedModes: [
132
- { label: 'Vacuum', mode: 0, modeTags: [{ value: 16385 }] },
133
- { label: 'Vacuum & Mop', mode: 1, modeTags: [{ value: 16385 }, { value: 16386 }] },
134
- ],
135
- currentMode: 0,
136
- };
109
+ switch (model) {
110
+ case 'K10':
111
+ return {
112
+ supportedModes: [
113
+ { label: 'Vacuum', mode: 0, modeTags: [{ value: 16385 }] },
114
+ ],
115
+ currentMode: 0,
116
+ };
117
+ case 'Robot Vacuum Cleaner S1':
118
+ case 'Robot Vacuum Cleaner S1 Plus':
119
+ return {
120
+ supportedModes: [
121
+ { label: 'Quiet', mode: 0, modeTags: [{ value: 2 }] },
122
+ { label: 'Standard', mode: 1, modeTags: [{ value: 16384 }] },
123
+ { label: 'Strong', mode: 2, modeTags: [{ value: 7 }] },
124
+ { label: 'MAX', mode: 3, modeTags: [{ value: 8 }] },
125
+ ],
126
+ currentMode: 1,
127
+ };
128
+ case 'Mini Robot Vacuum K10+':
129
+ case 'Mini Robot Vacuum K10+ Pro':
130
+ case 'K10+ Pro Combo':
131
+ return {
132
+ supportedModes: [
133
+ { label: 'Vacuum', mode: 0, modeTags: [{ value: 16385 }] },
134
+ { label: 'Mop', mode: 1, modeTags: [{ value: 16386 }] },
135
+ { label: 'Sweep & Mop', mode: 2, modeTags: [{ value: 16385 }, { value: 16386 }] },
136
+ ],
137
+ currentMode: 0,
138
+ };
139
+ case 'Multitasking Household Robot K20+ Pro':
140
+ return {
141
+ supportedModes: [
142
+ { label: 'Vacuum', mode: 0, modeTags: [{ value: 16385 }] },
143
+ { label: 'Vacuum & Mop', mode: 1, modeTags: [{ value: 16385 }, { value: 16386 }] },
144
+ { label: 'Deep Clean', mode: 2, modeTags: [{ value: 16384 }] },
145
+ ],
146
+ currentMode: 0,
147
+ };
148
+ case 'Floor Cleaning Robot S10':
149
+ case 'Floor Cleaning Robot S20':
150
+ return {
151
+ supportedModes: [
152
+ { label: 'Vacuum', mode: 0, modeTags: [{ value: 16385 }] },
153
+ { label: 'Mop', mode: 1, modeTags: [{ value: 16386 }] },
154
+ ],
155
+ currentMode: 0,
156
+ };
157
+ case 'Robot Vacuum K11+':
158
+ return {
159
+ supportedModes: [
160
+ { label: 'Quiet', mode: 0, modeTags: [{ value: 2 }] },
161
+ { label: 'Standard', mode: 1, modeTags: [{ value: 16384 }] },
162
+ { label: 'Strong', mode: 2, modeTags: [{ value: 7 }] },
163
+ { label: 'MAX', mode: 3, modeTags: [{ value: 8 }] },
164
+ { label: 'Deep Clean', mode: 4, modeTags: [{ value: 16384 }, { value: 16385 }] },
165
+ ],
166
+ currentMode: 1,
167
+ };
168
+ default:
169
+ return {
170
+ supportedModes: [
171
+ { label: 'Vacuum', mode: 0, modeTags: [{ value: 16385 }] },
172
+ { label: 'Vacuum & Mop', mode: 1, modeTags: [{ value: 16385 }, { value: 16386 }] },
173
+ { label: 'Deep Clean', mode: 2, modeTags: [{ value: 16384 }] },
174
+ ],
175
+ currentMode: 0,
176
+ };
137
177
  }
138
178
  })(),
139
179
  rvcOperationalState: {
@@ -141,9 +181,12 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
141
181
  { operationalStateId: 0 }, // Stopped
142
182
  { operationalStateId: 1 }, // Running
143
183
  { operationalStateId: 2 }, // Paused
184
+ { operationalStateId: 3 }, // Error
144
185
  { operationalStateId: 64 }, // Seeking Charger
145
186
  { operationalStateId: 65 }, // Charging
146
187
  { operationalStateId: 66 }, // Docked
188
+ { operationalStateId: 67 }, // In Remote Control
189
+ { operationalStateId: 68 }, // In Dust Collecting
147
190
  ],
148
191
  operationalState: 66,
149
192
  },
@@ -174,59 +217,114 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
174
217
  async handleChangeRunMode(request) {
175
218
  this.logInfo(`ChangeToMode (run) request received: ${JSON.stringify(request)}`);
176
219
  const { newMode } = request;
177
- const modeStr = ['Idle', 'Cleaning'][newMode] || `Unknown (mode=${newMode})`;
178
- this.logInfo(`changing run mode to: ${modeStr}`);
179
- if (newMode === 1) {
180
- await this.handleStart();
181
- }
182
- else if (newMode === 0) {
183
- await this.handleGoHome();
184
- }
185
- }
186
- async handleChangeCleanMode(request) {
187
- this.logInfo(`ChangeToMode (clean) request received: ${JSON.stringify(request)}`);
188
- const { newMode } = request;
189
- if (this.capabilities.cleanAction === 'vacuum-only') {
190
- const mapPow = ['Quiet', 'Standard', 'Strong', 'MAX'];
191
- const label = mapPow[newMode] ?? `Unknown (${newMode})`;
192
- this.logInfo(`changing suction level to: ${label}`);
193
- if (this.capabilities.suctionKind === 'powLevel-0-3') {
194
- try {
195
- this.logInfo(`[OpenAPI] Sending PowLevel: ${newMode}`);
196
- await this.sendOpenAPICommand('PowLevel', String(newMode));
197
- this.logInfo(`[OpenAPI] PowLevel command sent: ${newMode}`);
220
+ const modeStr = ['Idle', 'Cleaning', 'Returning to Dock'][newMode] || `Unknown (mode=${newMode})`;
221
+ this.logInfo(`Changing run mode to: ${modeStr}`);
222
+ switch (this.model) {
223
+ case 'Robot Vacuum Cleaner S1':
224
+ case 'Robot Vacuum Cleaner S1 Plus': {
225
+ if (newMode === 1) {
226
+ await this.handleStart();
198
227
  }
199
- catch (e) {
200
- this.logWarn(`OpenAPI PowLevel failed: ${String(e?.message ?? e)}`);
228
+ else if (newMode === 0) {
229
+ await this.handleGoHome();
201
230
  }
231
+ break;
202
232
  }
203
- else if (this.capabilities.suctionKind === 'fanLevel-1-4') {
204
- this.currentFanLevel = (Math.min(3, Math.max(0, Number(newMode))) + 1);
205
- try {
206
- this.logInfo(`[OpenAPI] Sending changeParam fanLevel: ${this.currentFanLevel}`);
207
- await this.sendOpenAPICommand('changeParam', JSON.stringify({ fanLevel: this.currentFanLevel }));
208
- this.logInfo(`[OpenAPI] changeParam command sent: fanLevel=${this.currentFanLevel}`);
233
+ case 'Mini Robot Vacuum K10+':
234
+ case 'Mini Robot Vacuum K10+ Pro':
235
+ case 'K10+ Pro Combo': {
236
+ if (newMode === 1) {
237
+ await this.handleStart();
209
238
  }
210
- catch (e) {
211
- this.logWarn(`OpenAPI changeParam(fanLevel) failed: ${String(e?.message ?? e)}`);
239
+ else if (newMode === 2) {
240
+ await this.handleDock();
212
241
  }
242
+ break;
213
243
  }
214
- this.updateCleanMode(newMode);
215
- return;
244
+ case 'Multitasking Household Robot K20+ Pro': {
245
+ if (newMode === 1) {
246
+ await this.handleStart();
247
+ }
248
+ else if (newMode === 0) {
249
+ await this.handleGoHome();
250
+ }
251
+ else if (newMode === 2) {
252
+ await this.handlePause();
253
+ }
254
+ break;
255
+ }
256
+ case 'Floor Cleaning Robot S10':
257
+ case 'Floor Cleaning Robot S20': {
258
+ if (newMode === 1) {
259
+ await this.handleStart();
260
+ }
261
+ else if (newMode === 0) {
262
+ await this.handleGoHome();
263
+ }
264
+ break;
265
+ }
266
+ case 'Robot Vacuum K11+': {
267
+ if (newMode === 1) {
268
+ await this.handleStart();
269
+ }
270
+ else if (newMode === 0) {
271
+ await this.handleGoHome();
272
+ }
273
+ else if (newMode === 2) {
274
+ await this.handleDock();
275
+ }
276
+ break;
277
+ }
278
+ default:
279
+ this.logWarn(`Run mode change not supported for model: ${this.model}`);
216
280
  }
217
- if (this.capabilities.cleanAction === 'vacuum-or-mop') {
218
- const label = newMode === 0 ? 'Vacuum' : 'Mop';
219
- this.currentCleanAction = newMode === 0 ? 'vacuum' : 'mop';
220
- this.logInfo(`changing clean action to: ${label}`);
221
- this.logInfo(`[OpenAPI] (no command sent for cleanAction change, just updating state)`);
222
- this.updateCleanMode(newMode);
223
- return;
281
+ }
282
+ async handleChangeCleanMode(request) {
283
+ this.logInfo(`ChangeToMode (clean) request received: ${JSON.stringify(request)}`);
284
+ const { newMode } = request;
285
+ switch (this.model) {
286
+ case 'Robot Vacuum Cleaner S1':
287
+ case 'Robot Vacuum Cleaner S1 Plus': {
288
+ const mapPowS1 = ['Quiet', 'Standard', 'Strong', 'MAX'];
289
+ const labelS1 = mapPowS1[newMode] ?? `Unknown (${newMode})`;
290
+ this.logInfo(`Changing suction level to: ${labelS1}`);
291
+ await this.sendOpenAPICommand('PowLevel', String(newMode));
292
+ break;
293
+ }
294
+ case 'Mini Robot Vacuum K10+':
295
+ case 'Mini Robot Vacuum K10+ Pro':
296
+ case 'K10+ Pro Combo': {
297
+ const mapPowK10 = ['Vacuum', 'Mop', 'Sweep & Mop'];
298
+ const labelK10 = mapPowK10[newMode] ?? `Unknown (${newMode})`;
299
+ this.logInfo(`Changing cleaning mode to: ${labelK10}`);
300
+ await this.sendOpenAPICommand('CleanMode', String(newMode));
301
+ break;
302
+ }
303
+ case 'Multitasking Household Robot K20+ Pro': {
304
+ const mapPowK20 = ['Vacuum', 'Vacuum & Mop', 'Deep Clean'];
305
+ const labelK20 = mapPowK20[newMode] ?? `Unknown (${newMode})`;
306
+ this.logInfo(`Changing cleaning mode to: ${labelK20}`);
307
+ await this.sendOpenAPICommand('CleanMode', String(newMode));
308
+ break;
309
+ }
310
+ case 'Floor Cleaning Robot S10':
311
+ case 'Floor Cleaning Robot S20': {
312
+ const mapPowS10 = ['Vacuum', 'Mop'];
313
+ const labelS10 = mapPowS10[newMode] ?? `Unknown (${newMode})`;
314
+ this.logInfo(`Changing cleaning mode to: ${labelS10}`);
315
+ await this.sendOpenAPICommand('CleanMode', String(newMode));
316
+ break;
317
+ }
318
+ case 'Robot Vacuum K11+': {
319
+ const mapPowK11 = ['Quiet', 'Standard', 'Strong', 'MAX', 'Deep Clean'];
320
+ const labelK11 = mapPowK11[newMode] ?? `Unknown (${newMode})`;
321
+ this.logInfo(`Changing suction level to: ${labelK11}`);
322
+ await this.sendOpenAPICommand('PowLevel', String(newMode));
323
+ break;
324
+ }
325
+ default:
326
+ this.logWarn(`Clean mode change not supported for model: ${this.model}`);
224
327
  }
225
- const label = newMode === 0 ? 'Vacuum' : 'Vacuum & Mop';
226
- this.currentCleanAction = newMode === 0 ? 'vacuum' : 'vacuum_mop';
227
- this.logInfo(`changing clean action to: ${label}`);
228
- this.logInfo(`[OpenAPI] (no command sent for cleanAction change, just updating state)`);
229
- this.updateCleanMode(newMode);
230
328
  }
231
329
  async handlePause() {
232
330
  this.logInfo('pausing.');
@@ -322,16 +420,7 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
322
420
  }
323
421
  updateCleanMode(mode) {
324
422
  this.updateState('rvcCleanMode', { currentMode: mode });
325
- let label = `Unknown (${mode})`;
326
- if (this.capabilities.cleanAction === 'vacuum-only') {
327
- label = ['Quiet', 'Standard', 'Strong', 'MAX'][mode] || label;
328
- }
329
- else if (this.capabilities.cleanAction === 'vacuum-or-mop') {
330
- label = ['Vacuum', 'Mop'][mode] || label;
331
- }
332
- else {
333
- label = ['Vacuum', 'Vacuum & Mop'][mode] || label;
334
- }
423
+ const label = mode === 0 ? 'Vacuum' : mode === 1 ? 'Mop' : mode === 2 ? 'Vacuum & Mop' : 'Unknown';
335
424
  this.logInfo(`clean mode updated to: ${label}`);
336
425
  }
337
426
  /**
@@ -355,5 +444,86 @@ export class RoboticVacuumAccessory extends BaseMatterAccessory {
355
444
  this.context.batteryChargeLevel = chargeLevel;
356
445
  }
357
446
  }
447
+ async handleDock() {
448
+ this.logInfo('Docking the vacuum.');
449
+ try {
450
+ this.logInfo('[OpenAPI] Sending dock command');
451
+ await this.sendOpenAPICommand('dock');
452
+ this.logInfo('[OpenAPI] Dock command sent successfully');
453
+ this.updateRunMode(0); // Set to Idle after docking
454
+ this.updateOperationalState(64); // Seeking Charger state
455
+ }
456
+ catch (error) {
457
+ this.logWarn(`Docking failed: ${String(error?.message ?? error)}`);
458
+ }
459
+ }
460
+ async handleServiceArea() {
461
+ this.logWarn(`Service area functionality is not supported for model: ${this.model}`);
462
+ // Placeholder for potential future support.
463
+ }
464
+ async simulateCleaningSequence() {
465
+ this.logInfo('Starting cleaning sequence simulation.');
466
+ this.updateOperationalState(1); // Set to Running
467
+ setTimeout(async () => {
468
+ this.logInfo('Cleaning sequence timer expired. Requesting device status update.');
469
+ try {
470
+ const status = await this.requestDeviceStatus();
471
+ if (status && status.operationalState) {
472
+ this.logInfo(`Device status found: ${status.operationalState}`);
473
+ this.updateOperationalState(status.operationalState);
474
+ }
475
+ else {
476
+ this.logWarn('Device status not found. Setting operational state to Stopped.');
477
+ this.updateOperationalState(0); // Default to Stopped
478
+ }
479
+ }
480
+ catch (error) {
481
+ this.logWarn(`Failed to fetch device status: ${String(error?.message ?? error)}`);
482
+ this.updateOperationalState(0); // Default to Stopped
483
+ }
484
+ }, 5000); // Simulate a 5-second cleaning sequence
485
+ }
486
+ async simulateDockingSequence() {
487
+ this.logInfo('Starting docking sequence simulation.');
488
+ this.updateOperationalState(64); // Set to Seeking Charger
489
+ setTimeout(async () => {
490
+ this.logInfo('Docking sequence timer expired. Requesting device status update.');
491
+ try {
492
+ const status = await this.requestDeviceStatus();
493
+ if (status && status.operationalState) {
494
+ this.logInfo(`Device status found: ${status.operationalState}`);
495
+ this.updateOperationalState(status.operationalState);
496
+ }
497
+ else {
498
+ this.logWarn('Device status not found. Setting operational state to Docked.');
499
+ this.updateOperationalState(66); // Default to Docked
500
+ }
501
+ }
502
+ catch (error) {
503
+ this.logWarn(`Failed to fetch device status: ${String(error?.message ?? error)}`);
504
+ this.updateOperationalState(66); // Default to Docked
505
+ }
506
+ }, 5000); // Simulate a 5-second docking sequence
507
+ }
508
+ async requestDeviceStatus() {
509
+ this.logInfo('Requesting device status from OpenAPI.');
510
+ try {
511
+ const response = await this.sendOpenAPICommand('getDeviceStatus');
512
+ this.logInfo(`Device status response: ${JSON.stringify(response)}`);
513
+ return response;
514
+ }
515
+ catch (error) {
516
+ this.logWarn(`Failed to request device status: ${String(error?.message ?? error)}`);
517
+ return null;
518
+ }
519
+ }
520
+ async startCleaningSimulation() {
521
+ this.logInfo('Initiating cleaning simulation.');
522
+ await this.simulateCleaningSequence();
523
+ }
524
+ async startDockingSimulation() {
525
+ this.logInfo('Initiating docking simulation.');
526
+ await this.simulateDockingSequence();
527
+ }
358
528
  }
359
529
  //# sourceMappingURL=RoboticVacuumAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RoboticVacuumAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/RoboticVacuumAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoboticVacuumAccessory.js","sourceRoot":"","sources":["../../src/devices-matter/RoboticVacuumAccessory.ts"],"names":[],"mappings":"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"}
@@ -216,6 +216,7 @@
216
216
  // ignore
217
217
  }
218
218
  }
219
+ console.log('Cached Accessories:', cachedAccessories); // Log cached accessories for debugging
219
220
  if (cachedAccessories.length > 0) {
220
221
  cachedAccessories.sort((a, b) => {
221
222
  return a.displayName.toLowerCase() > b.displayName.toLowerCase()
@@ -230,9 +231,16 @@
230
231
  cachedAccessories.forEach((a) => {
231
232
  const option = document.createElement('option');
232
233
  option.text = a.displayName;
233
- option.value = a.uuid;
234
+ option.value = a.UUID || a.uuid; // Handle both HAP and Matter UUID formats
234
235
  deviceSelect.add(option);
235
236
  });
237
+ const cachedAccessoriesList = document.getElementById('cachedAccessoriesList');
238
+ cachedAccessoriesList.innerHTML = ''; // Clear previous entries
239
+ cachedAccessories.forEach((a) => {
240
+ const listItem = document.createElement('li');
241
+ listItem.textContent = `${a.displayName} (${a.UUID || a.uuid})`;
242
+ cachedAccessoriesList.appendChild(listItem);
243
+ });
236
244
  const validateConfig = (config) => {
237
245
  const deviceIds = new Set();
238
246
  const isValid = config[0].options.devices.every((device) => {
@@ -278,6 +286,11 @@
278
286
  }
279
287
  };
280
288
 
289
+ const protocolInfo = document.createElement('p');
290
+ protocolInfo.id = 'protocolInfo';
291
+ protocolInfo.style.marginTop = '10px';
292
+ document.getElementById('deviceInfo').appendChild(protocolInfo);
293
+
281
294
  const addDeviceButton = document.createElement('button');
282
295
  addDeviceButton.textContent = 'Add Device to Config';
283
296
  addDeviceButton.className = 'btn btn-success';
@@ -292,11 +305,6 @@
292
305
  });
293
306
  document.getElementById('deviceInfo').appendChild(addDeviceButton);
294
307
 
295
- const protocolInfo = document.createElement('p');
296
- protocolInfo.id = 'protocolInfo';
297
- protocolInfo.style.marginTop = '10px';
298
- document.getElementById('deviceInfo').appendChild(protocolInfo);
299
-
300
308
  const updateTableWithDetails = (deviceContext) => {
301
309
  const tableBody = document.querySelector('#deviceTable tbody');
302
310
  tableBody.innerHTML = '';
@@ -1 +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-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></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/17d247ba190c1566fda89c3f4beac86d81072395/src/index.ts#L13">index.ts:13</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>
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-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></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/1470fad58097550b826e629ee948a75378e74f10/src/index.ts#L13">index.ts:13</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.62",
5
+ "version": "5.0.0-beta.64",
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": [