@switchbot/homebridge-switchbot 5.0.0-beta.134 → 5.0.0-beta.136

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 (93) hide show
  1. package/config.schema.json +0 -11
  2. package/dist/deviceFactory.d.ts +3 -1
  3. package/dist/deviceFactory.d.ts.map +1 -1
  4. package/dist/deviceFactory.js +3 -18
  5. package/dist/deviceFactory.js.map +1 -1
  6. package/dist/devices/genericDevice.d.ts +1 -1
  7. package/dist/devices/genericDevice.d.ts.map +1 -1
  8. package/dist/devices/genericDevice.js +79 -159
  9. package/dist/devices/genericDevice.js.map +1 -1
  10. package/dist/homebridge-ui/public/index.html +107 -124
  11. package/dist/homebridge-ui/public/js/api.d.ts +1 -4
  12. package/dist/homebridge-ui/public/js/api.d.ts.map +1 -1
  13. package/dist/homebridge-ui/public/js/api.js +1 -7
  14. package/dist/homebridge-ui/public/js/api.js.map +1 -1
  15. package/dist/homebridge-ui/public/js/api.ts +1 -8
  16. package/dist/homebridge-ui/public/js/app.js +201 -90
  17. package/dist/homebridge-ui/public/js/app.js.map +2 -2
  18. package/dist/homebridge-ui/public/js/app.ts +5 -6
  19. package/dist/homebridge-ui/public/js/credentials.d.ts.map +1 -1
  20. package/dist/homebridge-ui/public/js/credentials.js +1 -1
  21. package/dist/homebridge-ui/public/js/credentials.js.map +1 -1
  22. package/dist/homebridge-ui/public/js/credentials.ts +7 -3
  23. package/dist/homebridge-ui/public/js/devices-delete.js +1 -1
  24. package/dist/homebridge-ui/public/js/devices-delete.js.map +1 -1
  25. package/dist/homebridge-ui/public/js/devices-delete.ts +1 -1
  26. package/dist/homebridge-ui/public/js/devices.d.ts.map +1 -1
  27. package/dist/homebridge-ui/public/js/devices.js +0 -1
  28. package/dist/homebridge-ui/public/js/devices.js.map +1 -1
  29. package/dist/homebridge-ui/public/js/devices.ts +0 -2
  30. package/dist/homebridge-ui/public/js/discovery.d.ts.map +1 -1
  31. package/dist/homebridge-ui/public/js/discovery.js +6 -3
  32. package/dist/homebridge-ui/public/js/discovery.js.map +1 -1
  33. package/dist/homebridge-ui/public/js/discovery.ts +9 -3
  34. package/dist/homebridge-ui/public/js/logger.d.ts +1 -0
  35. package/dist/homebridge-ui/public/js/logger.d.ts.map +1 -1
  36. package/dist/homebridge-ui/public/js/logger.js +8 -3
  37. package/dist/homebridge-ui/public/js/logger.js.map +1 -1
  38. package/dist/homebridge-ui/public/js/logger.ts +12 -6
  39. package/dist/homebridge-ui/public/js/modals.d.ts +4 -0
  40. package/dist/homebridge-ui/public/js/modals.d.ts.map +1 -1
  41. package/dist/homebridge-ui/public/js/modals.js +152 -59
  42. package/dist/homebridge-ui/public/js/modals.js.map +1 -1
  43. package/dist/homebridge-ui/public/js/modals.ts +187 -60
  44. package/dist/homebridge-ui/public/js/render.d.ts +3 -0
  45. package/dist/homebridge-ui/public/js/render.d.ts.map +1 -1
  46. package/dist/homebridge-ui/public/js/render.js +63 -24
  47. package/dist/homebridge-ui/public/js/render.js.map +1 -1
  48. package/dist/homebridge-ui/public/js/render.ts +102 -51
  49. package/dist/homebridge-ui/utils/logger.js +1 -1
  50. package/dist/homebridge-ui/utils/logger.js.map +1 -1
  51. package/dist/platform.d.ts.map +1 -1
  52. package/dist/platform.js +40 -32
  53. package/dist/platform.js.map +1 -1
  54. package/dist/switchbotClient.d.ts +5 -5
  55. package/dist/switchbotClient.d.ts.map +1 -1
  56. package/dist/switchbotClient.js +21 -12
  57. package/dist/switchbotClient.js.map +1 -1
  58. package/docs/variables/default.html +1 -1
  59. package/package.json +1 -1
  60. package/scripts/build-ui.js +4 -3
  61. package/scripts/generate-matter-maps.js +34 -17
  62. package/scripts/sync-device-types.mjs +4 -1
  63. package/src/deviceFactory.ts +3 -18
  64. package/src/devices/genericDevice.ts +77 -164
  65. package/src/homebridge-ui/public/index.html +107 -124
  66. package/src/homebridge-ui/public/js/api.ts +1 -8
  67. package/src/homebridge-ui/public/js/app.ts +5 -6
  68. package/src/homebridge-ui/public/js/credentials.ts +7 -3
  69. package/src/homebridge-ui/public/js/devices-delete.ts +1 -1
  70. package/src/homebridge-ui/public/js/devices.ts +0 -2
  71. package/src/homebridge-ui/public/js/discovery.ts +9 -3
  72. package/src/homebridge-ui/public/js/logger.ts +12 -6
  73. package/src/homebridge-ui/public/js/modals.ts +187 -60
  74. package/src/homebridge-ui/public/js/render.ts +102 -51
  75. package/src/homebridge-ui/utils/logger.ts +1 -1
  76. package/src/platform.ts +40 -31
  77. package/src/switchbotClient.ts +42 -27
  78. package/test/accessory-restore.spec.ts +9 -8
  79. package/test/device-mapping.spec.ts +4 -3
  80. package/test/deviceFactory.spec.ts +4 -3
  81. package/test/e2e/run-e2e.spec.ts +6 -10
  82. package/test/fan-swing.spec.ts +7 -6
  83. package/test/helpers/matter-harness.ts +18 -7
  84. package/test/lock-users.spec.ts +5 -5
  85. package/test/matter-childbridge.spec.ts +10 -7
  86. package/test/matter-descriptors.spec.ts +8 -8
  87. package/test/matter-device-state.spec.ts +52 -36
  88. package/test/matter-integration.spec.ts +53 -6
  89. package/test/platform.integration.spec.ts +7 -5
  90. package/test/switchbot-client-debounce.spec.ts +36 -40
  91. package/test/switchbot-client-openapi.spec.ts +22 -15
  92. package/test/switchbotClient.spec.ts +4 -3
  93. package/test/utils.spec.ts +2 -1
@@ -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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"}
@@ -1,4 +1,9 @@
1
- import type { DEVICE_TYPES } from './constants.js'
1
+ // Move regexes to module scope to avoid re-compilation on every call
2
+ // import type { DEVICE_TYPES } from './constants.js' // Removed unused import
3
+
4
+ const SPACES_REGEX = /\s/g
5
+ const CAMELCASE_REGEX = /([A-Z])/g
6
+ const FIRST_CHAR_REGEX = /^./
2
7
 
3
8
  /**
4
9
  * Get RSSI signal quality level and color based on dBm value
@@ -129,7 +134,9 @@ export function renderBadge(text: string, style: string): HTMLElement {
129
134
  }
130
135
 
131
136
  export function renderConnectionBadge(connectionType: string): HTMLElement | null {
132
- if (!connectionType) { return null }
137
+ if (!connectionType) {
138
+ return null
139
+ }
133
140
 
134
141
  const badge = renderBadge(connectionType, '')
135
142
 
@@ -265,17 +272,27 @@ export function renderDeviceDetailsPanel(device: any): HTMLElement {
265
272
  let batteryHistory: Array<{ value: number, ts: number }> = []
266
273
  try {
267
274
  const raw = localStorage.getItem(batteryHistoryKey)
268
- if (raw) batteryHistory = JSON.parse(raw)
269
- } catch {}
275
+ if (raw) {
276
+ batteryHistory = JSON.parse(raw)
277
+ }
278
+ } catch (e) {
279
+ // Optionally log or handle error
280
+ }
270
281
  const now = Date.now()
271
282
  if (typeof device?.battery === 'number') {
272
283
  // Only add if different from last or >1h since last
273
- const last = batteryHistory[batteryHistory.length - 1]
284
+ const last = batteryHistory.at(-1)
274
285
  if (!last || last.value !== device.battery || now - last.ts > 60 * 60 * 1000) {
275
286
  batteryHistory.push({ value: device.battery, ts: now })
276
287
  // Keep only last 30 entries (about a month if daily)
277
- if (batteryHistory.length > 30) batteryHistory = batteryHistory.slice(-30)
278
- try { localStorage.setItem(batteryHistoryKey, JSON.stringify(batteryHistory)) } catch {}
288
+ if (batteryHistory.length > 30) {
289
+ batteryHistory = batteryHistory.slice(-30)
290
+ }
291
+ try {
292
+ localStorage.setItem(batteryHistoryKey, JSON.stringify(batteryHistory))
293
+ } catch (e) {
294
+ // Optionally log or handle error
295
+ }
279
296
  }
280
297
  }
281
298
 
@@ -291,8 +308,6 @@ export function renderDeviceDetailsPanel(device: any): HTMLElement {
291
308
  { label: 'Last Seen', value: formatLastSeen(device?.lastSeen || device?.lastseen || device?.updatedAt) },
292
309
  ]
293
310
 
294
-
295
-
296
311
  for (const row of rows) {
297
312
  const line = document.createElement('div')
298
313
  line.style.display = 'flex'
@@ -366,7 +381,9 @@ export function renderDeviceDetailsPanel(device: any): HTMLElement {
366
381
  chart.style.height = '28px'
367
382
  chart.style.display = 'flex'
368
383
  // SVG sparkline
369
- const w = 120, h = 24, pad = 2
384
+ const w = 120
385
+ const h = 24
386
+ const pad = 2
370
387
  const min = Math.min(...batteryHistory.map(b => b.value), 100)
371
388
  const max = Math.max(...batteryHistory.map(b => b.value), 0)
372
389
  const range = max - min || 1
@@ -424,11 +441,26 @@ export function renderDeviceDetailsPanel(device: any): HTMLElement {
424
441
 
425
442
  // --- Expose advanced/extra features dynamically ---
426
443
  const featureKeys = [
427
- 'airQuality', 'pm25', 'pm10', 'voc', 'co2', 'humidity', 'temperature',
428
- 'preset', 'mode', 'presetMode', 'direction', 'calibration', 'multiCommand',
429
- 'extendedInfo', 'segmentedControl', 'features', 'capabilities', 'state',
444
+ 'airQuality',
445
+ 'pm25',
446
+ 'pm10',
447
+ 'voc',
448
+ 'co2',
449
+ 'humidity',
450
+ 'temperature',
451
+ 'preset',
452
+ 'mode',
453
+ 'presetMode',
454
+ 'direction',
455
+ 'calibration',
456
+ 'multiCommand',
457
+ 'extendedInfo',
458
+ 'segmentedControl',
459
+ 'features',
460
+ 'capabilities',
461
+ 'state',
430
462
  ]
431
- const shown = new Set(rows.map(r => r.label.toLowerCase().replace(/\s/g, '')))
463
+ const shown = new Set(rows.map(r => r.label.toLowerCase().replace(SPACES_REGEX, '')))
432
464
  for (const key of featureKeys) {
433
465
  if (device && device[key] !== undefined && !shown.has(key.toLowerCase())) {
434
466
  const line = document.createElement('div')
@@ -441,7 +473,7 @@ export function renderDeviceDetailsPanel(device: any): HTMLElement {
441
473
  const label = document.createElement('span')
442
474
  label.style.fontWeight = '600'
443
475
  label.style.minWidth = '110px'
444
- label.textContent = key.replace(/([A-Z])/g, ' $1').replace(/^./, s => s.toUpperCase()) + ':'
476
+ label.textContent = `${key.replace(CAMELCASE_REGEX, ' $1').replace(FIRST_CHAR_REGEX, s => s.toUpperCase())}:`
445
477
 
446
478
  const value = document.createElement('span')
447
479
  value.style.fontFamily = 'monospace'
@@ -533,37 +565,38 @@ export async function renderDiscoveredDevices(
533
565
 
534
566
  nameContainer.appendChild(selectCheckbox)
535
567
 
536
-
537
568
  nameContainer.appendChild(name)
538
569
 
539
570
  // Show firmware update available indicator if present
540
571
  if (d.firmwareUpdateAvailable) {
541
- const fwBadge = document.createElement('span');
542
- fwBadge.textContent = 'Update Available';
543
- fwBadge.style.cssText = 'background: #fb923c; color: #111; padding: 1px 7px; border-radius: 3px; font-size: 10px; font-weight: 600; margin-left: 6px;';
544
- fwBadge.title = 'A firmware update is available for this device.';
545
- nameContainer.appendChild(fwBadge);
572
+ const fwBadge = document.createElement('span')
573
+ fwBadge.textContent = 'Update Available'
574
+ fwBadge.style.cssText = 'background: #fb923c; color: #111; padding: 1px 7px; border-radius: 3px; font-size: 10px; font-weight: 600; margin-left: 6px;'
575
+ fwBadge.title = 'A firmware update is available for this device.'
576
+ nameContainer.appendChild(fwBadge)
546
577
  }
547
578
 
548
579
  // Show offline/unreachable indicator if device is offline
549
- let offline = false;
550
- let lastSeen = d.lastSeen || d.lastseen || d.updatedAt;
580
+ let offline = false
581
+ const lastSeen = d.lastSeen || d.lastseen || d.updatedAt
551
582
  if (typeof d.offline === 'boolean') {
552
- offline = d.offline;
583
+ offline = d.offline
553
584
  } else if (lastSeen) {
554
585
  try {
555
- const last = new Date(lastSeen).getTime();
556
- if (!isNaN(last) && Date.now() - last > 1000 * 60 * 60) { // 1 hour
557
- offline = true;
586
+ const last = new Date(lastSeen).getTime()
587
+ if (!Number.isNaN(last)) {
588
+ if (Date.now() - last > 1000 * 60 * 60) { // 1 hour
589
+ offline = true
590
+ }
558
591
  }
559
592
  } catch {}
560
593
  }
561
594
  if (offline) {
562
- const offlineBadge = document.createElement('span');
563
- offlineBadge.textContent = 'Offline';
564
- offlineBadge.style.cssText = 'background: #dc2626; color: white; padding: 1px 7px; border-radius: 3px; font-size: 10px; font-weight: 600; margin-left: 6px;';
565
- offlineBadge.title = 'Device is offline or unreachable.';
566
- nameContainer.appendChild(offlineBadge);
595
+ const offlineBadge = document.createElement('span')
596
+ offlineBadge.textContent = 'Offline'
597
+ offlineBadge.style.cssText = 'background: #dc2626; color: white; padding: 1px 7px; border-radius: 3px; font-size: 10px; font-weight: 600; margin-left: 6px;'
598
+ offlineBadge.title = 'Device is offline or unreachable.'
599
+ nameContainer.appendChild(offlineBadge)
567
600
  }
568
601
 
569
602
  const expandedDetails = document.createElement('div')
@@ -596,7 +629,9 @@ export async function renderDiscoveredDevices(
596
629
  // Add connection type badge
597
630
  if (d.connectionType) {
598
631
  const badge = renderConnectionBadge(d.connectionType)
599
- if (badge) { nameContainer.appendChild(badge) }
632
+ if (badge) {
633
+ nameContainer.appendChild(badge)
634
+ }
600
635
  }
601
636
 
602
637
  // Add IR badge if it's an IR device
@@ -612,14 +647,14 @@ export async function renderDiscoveredDevices(
612
647
 
613
648
  // Add battery warning indicator if battery < 20%
614
649
  if (typeof d.battery === 'number' && d.battery < 20) {
615
- const batteryWarn = document.createElement('span');
616
- batteryWarn.textContent = `⚠️ ${d.battery}%`;
617
- batteryWarn.style.cssText =
618
- d.battery < 10
650
+ const batteryWarn = document.createElement('span')
651
+ batteryWarn.textContent = `⚠️ ${d.battery}%`
652
+ batteryWarn.style.cssText
653
+ = d.battery < 10
619
654
  ? 'background: #dc2626; color: white; padding: 1px 6px; border-radius: 3px; font-size: 10px; font-weight: 600; margin-left: 6px;'
620
- : 'background: #fbbf24; color: #111; padding: 1px 6px; border-radius: 3px; font-size: 10px; font-weight: 600; margin-left: 6px;';
621
- batteryWarn.title = d.battery < 10 ? 'Battery critically low' : 'Battery low';
622
- nameContainer.appendChild(batteryWarn);
655
+ : 'background: #fbbf24; color: #111; padding: 1px 6px; border-radius: 3px; font-size: 10px; font-weight: 600; margin-left: 6px;'
656
+ batteryWarn.title = d.battery < 10 ? 'Battery critically low' : 'Battery low'
657
+ nameContainer.appendChild(batteryWarn)
623
658
  }
624
659
 
625
660
  const details = document.createElement('div')
@@ -632,8 +667,12 @@ export async function renderDiscoveredDevices(
632
667
  details.style.wordBreak = 'break-word'
633
668
 
634
669
  let detailsText = `ID: ${d.id} | Type: ${d.type} | Model: ${d.model || 'N/A'}`
635
- if (d.hubDeviceId) { detailsText += ` | Hub: ${d.hubDeviceId}` }
636
- if (d.address) { detailsText += ` | MAC: ${d.address}` }
670
+ if (d.hubDeviceId) {
671
+ detailsText += ` | Hub: ${d.hubDeviceId}`
672
+ }
673
+ if (d.address) {
674
+ detailsText += ` | MAC: ${d.address}`
675
+ }
637
676
  details.textContent = detailsText
638
677
 
639
678
  info.appendChild(nameContainer)
@@ -727,7 +766,7 @@ export function filterDevices(
727
766
 
728
767
  // Filter by connection type
729
768
  if (connectionType !== 'all') {
730
- filtered = filtered.filter(d => {
769
+ filtered = filtered.filter((d) => {
731
770
  if (connectionType === 'ir') {
732
771
  return d.isIR === true
733
772
  }
@@ -747,7 +786,7 @@ export function filterDevices(
747
786
  // Filter by search query
748
787
  if (searchQuery.trim()) {
749
788
  const query = searchQuery.toLowerCase()
750
- filtered = filtered.filter(d => {
789
+ filtered = filtered.filter((d) => {
751
790
  const name = (d.name || '').toLowerCase()
752
791
  const id = (d.id || '').toLowerCase()
753
792
  const type = (d.type || '').toLowerCase()
@@ -792,11 +831,11 @@ export function sortDevices(
792
831
  case 'connection': {
793
832
  // Sort by connection type: Both > BLE > OpenAPI > Others
794
833
  const connectionOrder: Record<string, number> = {
795
- 'Both': 0,
796
- 'BLE': 1,
797
- 'OpenAPI': 2,
798
- 'API': 2,
799
- 'Unknown': 3,
834
+ Both: 0,
835
+ BLE: 1,
836
+ OpenAPI: 2,
837
+ API: 2,
838
+ Unknown: 3,
800
839
  }
801
840
  sorted.sort((a, b) => {
802
841
  const aOrder = connectionOrder[a.connectionType || 'Unknown'] ?? 3
@@ -844,6 +883,9 @@ export function getDiscoveryPreferences(): {
844
883
  /**
845
884
  * Save filter/sort preferences to localStorage
846
885
  * @param preferences Preferences object to save
886
+ * @param preferences.connectionType Connection type filter
887
+ * @param preferences.sortBy Sort criterion
888
+ * @param preferences.searchQuery Search query string
847
889
  */
848
890
  export function setDiscoveryPreferences(preferences: {
849
891
  connectionType: 'all' | 'ble' | 'api' | 'both' | 'ir'
@@ -862,7 +904,9 @@ export function renderDeviceList(list: any[]): void {
862
904
  const status = document.getElementById('status')
863
905
  const removeAllContainer = document.getElementById('removeAllContainer')
864
906
 
865
- if (!ul || !status) { return }
907
+ if (!ul || !status) {
908
+ return
909
+ }
866
910
 
867
911
  if (!list.length) {
868
912
  status.textContent = 'No devices found in config.'
@@ -1000,7 +1044,12 @@ export function renderDeviceList(list: any[]): void {
1000
1044
  copyBtn.classList.remove('success')
1001
1045
  }, 1200)
1002
1046
  } catch (e) {
1003
- alert('Failed to copy')
1047
+ copyBtn.textContent = 'Failed'
1048
+ copyBtn.classList.add('error')
1049
+ setTimeout(() => {
1050
+ copyBtn.textContent = 'Copy ID'
1051
+ copyBtn.classList.remove('error')
1052
+ }, 1200)
1004
1053
  }
1005
1054
  })
1006
1055
 
@@ -1023,4 +1072,6 @@ export function renderDeviceList(list: any[]): void {
1023
1072
  li.appendChild(buttons)
1024
1073
  ul.appendChild(li)
1025
1074
  }
1075
+
1076
+ // No return value needed for void function
1026
1077
  }
@@ -1,5 +1,5 @@
1
1
  /* eslint-disable no-console */
2
- const PREFIX = '[SwitchBot UI]';
2
+ const PREFIX = '[SwitchBot UI/Server]';
3
3
  export const uiLog = {
4
4
  info: (message, ...parameters) => {
5
5
  console.log(PREFIX, message, ...parameters);
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/homebridge-ui/utils/logger.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,MAAM,MAAM,GAAG,gBAAgB,CAAA;AAE/B,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,UAAiB,EAAE,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,CAAA;IAC7C,CAAC;IACD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,UAAiB,EAAE,EAAE;QAC9C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,CAAA;IAC9C,CAAC;IACD,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,UAAiB,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,CAAA;IAC/C,CAAC;IACD,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,UAAiB,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,CAAA;IAC/C,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/homebridge-ui/utils/logger.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,MAAM,MAAM,GAAG,uBAAuB,CAAA;AAEtC,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,UAAiB,EAAE,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,CAAA;IAC7C,CAAC;IACD,IAAI,EAAE,CAAC,OAAe,EAAE,GAAG,UAAiB,EAAE,EAAE;QAC9C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,CAAA;IAC9C,CAAC;IACD,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,UAAiB,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,CAAA;IAC/C,CAAC;IACD,KAAK,EAAE,CAAC,OAAe,EAAE,GAAG,UAAiB,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,CAAA;IAC/C,CAAC;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAkE7D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAyItD,CAAA;AA+yBD,qBAAa,oBAAoB;IAC/B,GAAG,EAAE,GAAG,GAAG,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,qBAAqB,CAAA;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAK;IAEnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE7B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,oBAAoB,CAA8B;gBAE9C,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG;IA2C1D;;OAEG;YACW,yBAAyB;IAmCvC,OAAO,CAAC,aAAa;IAUf,WAAW;IAsMX,kBAAkB,CAAC,SAAS,EAAE,GAAG;IAYvC,wBAAwB,CAAC,CAAC,SAAS,EAAE,GAAG;CASzC;AAGD,qBAAa,uBAAuB;IAClC,GAAG,EAAE,GAAG,GAAG,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,qBAAqB,CAAA;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAK;IACnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE7B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,oBAAoB,CAA8B;gBAE9C,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG;IA8CpD,WAAW;IAwCjB,OAAO,CAAC,aAAa;YAUP,qBAAqB;IAU7B,kBAAkB,CAAC,SAAS,EAAE,GAAG;IAWvC,wBAAwB,CAAC,SAAS,EAAE,GAAG;IAWjC,yBAAyB;CAqHhC;AAED,eAAe,oBAAoB,CAAA"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAkE7D,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CA2KtD,CAAA;AA+yBD,qBAAa,oBAAoB;IAC/B,GAAG,EAAE,GAAG,GAAG,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,qBAAqB,CAAA;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAK;IAEnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE7B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,oBAAoB,CAA8B;gBAE9C,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG;IAkC1D;;OAEG;YACW,yBAAyB;IAmCvC,OAAO,CAAC,aAAa;IAUf,WAAW;IAsLX,kBAAkB,CAAC,SAAS,EAAE,GAAG;IAYvC,wBAAwB,CAAC,CAAC,SAAS,EAAE,GAAG;CASzC;AAGD,qBAAa,uBAAuB;IAClC,GAAG,EAAE,GAAG,GAAG,SAAS,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,qBAAqB,CAAA;IAC7B,OAAO,EAAE,GAAG,EAAE,CAAK;IACnB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE7B,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,oBAAoB,CAA8B;gBAE9C,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,GAAG;IA8CpD,WAAW;IAwCjB,OAAO,CAAC,aAAa;YAUP,qBAAqB;IAU7B,kBAAkB,CAAC,SAAS,EAAE,GAAG;IAWvC,wBAAwB,CAAC,SAAS,EAAE,GAAG;IAWjC,yBAAyB;CAqHhC;AAED,eAAe,oBAAoB,CAAA"}
package/dist/platform.js CHANGED
@@ -87,12 +87,46 @@ export const DEVICE_MATTER_CLUSTERS = {
87
87
  }, // Switch in HAP, RobotVacuumCleaner in Matter
88
88
  curtain: {
89
89
  windowCovering: {
90
- type: 5, // GenericWindowCovering - supports lift feature (covers curtain3, rollershade variants via normalization)
90
+ currentPositionLiftPercent100ths: 0,
91
+ targetPositionLiftPercent100ths: 0,
92
+ operationalStatus: {
93
+ global: 0,
94
+ lift: 0,
95
+ tilt: 0,
96
+ },
97
+ endProductType: 0,
98
+ configStatus: {
99
+ operational: true,
100
+ onlineReserved: true,
101
+ liftMovementReversed: false,
102
+ liftPositionAware: true,
103
+ tiltPositionAware: false,
104
+ liftEncoderControlled: true,
105
+ tiltEncoderControlled: false,
106
+ },
91
107
  },
92
108
  }, // WindowCovering → WindowCovering (includes curtain3, rollershade variants via normalization)
93
109
  blindtilt: {
94
110
  windowCovering: {
95
- type: 8, // TiltBlindLiftAndTilt - supports tilt feature
111
+ currentPositionLiftPercent100ths: 0,
112
+ targetPositionLiftPercent100ths: 0,
113
+ currentPositionTiltPercent100ths: 0,
114
+ targetPositionTiltPercent100ths: 0,
115
+ operationalStatus: {
116
+ global: 0,
117
+ lift: 0,
118
+ tilt: 0,
119
+ },
120
+ endProductType: 8,
121
+ configStatus: {
122
+ operational: true,
123
+ onlineReserved: true,
124
+ liftMovementReversed: false,
125
+ liftPositionAware: true,
126
+ tiltPositionAware: true,
127
+ liftEncoderControlled: true,
128
+ tiltEncoderControlled: true,
129
+ },
96
130
  },
97
131
  }, // WindowCovering with tilt → WindowCovering
98
132
  fan: {
@@ -1015,7 +1049,7 @@ export class SwitchBotHAPPlatform {
1015
1049
  configReloadInterval = null;
1016
1050
  constructor(log, config, api) {
1017
1051
  this.log = log;
1018
- this.config = config ?? {};
1052
+ this.config = { ...config, logger: log };
1019
1053
  this.api = api;
1020
1054
  this.accessories = new Map();
1021
1055
  this.log.info('SwitchBot HAP platform initialized');
@@ -1028,15 +1062,6 @@ export class SwitchBotHAPPlatform {
1028
1062
  catch (e) {
1029
1063
  this.log.debug('Failed to create shared SwitchBot client', e);
1030
1064
  }
1031
- // Create/shared SwitchBot client and attach to config so child devices reuse it.
1032
- try {
1033
- const client = new SwitchBotClient(this.config);
1034
- void client.init();
1035
- this.config._client = client;
1036
- }
1037
- catch (e) {
1038
- this.log.debug('Failed to create shared SwitchBot client', e);
1039
- }
1040
1065
  // Wait for Homebridge to finish launching to create/register accessories
1041
1066
  if (this.api && typeof this.api.on === 'function') {
1042
1067
  this.api.on('didFinishLaunching', async () => {
@@ -1113,24 +1138,7 @@ export class SwitchBotHAPPlatform {
1113
1138
  _raw: raw,
1114
1139
  };
1115
1140
  const type = normalizeTypeForMatter(d.type);
1116
- const windowCoveringTypes = ['curtain', 'curtain3', 'rollershade', 'roller shade', 'blindtilt', 'blind tilt'];
1117
- // Patch: If a config override for matterType is present, update DEVICE_MATTER_CLUSTERS for this device
1118
- if (windowCoveringTypes.includes(type.toLowerCase()) && typeof raw.matterType === 'number') {
1119
- if (DEVICE_MATTER_CLUSTERS[type] && DEVICE_MATTER_CLUSTERS[type].windowCovering) {
1120
- DEVICE_MATTER_CLUSTERS[type].windowCovering.type = raw.matterType;
1121
- this.log.info(`[Matter/Debug] Overriding DEVICE_MATTER_CLUSTERS.${type}.windowCovering.type to`, raw.matterType);
1122
- }
1123
- }
1124
1141
  const deviceOpts = { id: d.id, type, name: d.name, encryptionKey: d.encryptionKey, keyId: d.keyId };
1125
- if (windowCoveringTypes.includes(type.toLowerCase())) {
1126
- if (typeof raw.matterType === 'number') {
1127
- deviceOpts.matterType = raw.matterType;
1128
- this.log.info(`[Matter/Debug] Passing matterType override for device ${d.name ?? d.id}: matterType=${raw.matterType}`);
1129
- }
1130
- else {
1131
- this.log.info(`[Matter/Debug] No matterType override for device ${d.name ?? d.id}`);
1132
- }
1133
- }
1134
1142
  this.log.debug(`[Matter/Debug] Device options for ${d.name ?? d.id}:`, JSON.stringify(deviceOpts, null, 2));
1135
1143
  const matterSupported = !!DEVICE_MATTER_SUPPORTED[(type || '').toLowerCase()];
1136
1144
  // Auto-detect Matter from Homebridge API, allow manual override via config
@@ -1340,7 +1348,7 @@ export class SwitchBotMatterPlatform {
1340
1348
  configReloadInterval = null;
1341
1349
  constructor(log, config, api) {
1342
1350
  this.log = log;
1343
- this.config = config ?? {};
1351
+ this.config = { ...config, logger: log };
1344
1352
  this.api = api;
1345
1353
  this.accessories = new Map();
1346
1354
  this.log.info('SwitchBot Matter platform initialized');
@@ -1405,7 +1413,7 @@ export class SwitchBotMatterPlatform {
1405
1413
  const matterEnabled = matterAvailable || !!this.config.enableMatter;
1406
1414
  const useMatter = matterEnabled && matterSupported;
1407
1415
  try {
1408
- const created = await createDevice({ id: d.id, type, name: d.name }, this.config, useMatter);
1416
+ const created = await createDevice({ id: d.id, type, name: d.name, log: this.log }, this.config, useMatter);
1409
1417
  this.devices.push(created);
1410
1418
  if (useMatter) {
1411
1419
  this.log.info(`Prepared Matter accessory for ${d.id} (${type})${matterAvailable ? ' (auto-detected)' : ' (manually enabled)'}`);
@@ -1499,7 +1507,7 @@ export class SwitchBotMatterPlatform {
1499
1507
  continue;
1500
1508
  }
1501
1509
  try {
1502
- const created = await createDevice({ id: d.id, type, name: d.name }, this.config, true);
1510
+ const created = await createDevice({ id: d.id, type, name: d.name, log: this.log }, this.config, true);
1503
1511
  const createdDesc = await created.createAccessory(this.api);
1504
1512
  const uuid = matterApi.uuid.generate(`${d.id}`);
1505
1513
  // Try to find existing restored accessory by deviceId