@switchbot/homebridge-switchbot 5.0.0-beta.109 → 5.0.0-beta.110

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 (78) hide show
  1. package/config.schema.json +4 -0
  2. package/dist/device-types.d.ts +18 -2
  3. package/dist/device-types.d.ts.map +1 -1
  4. package/dist/device-types.js +71 -0
  5. package/dist/device-types.js.map +1 -1
  6. package/dist/deviceFactory.d.ts.map +1 -1
  7. package/dist/deviceFactory.js +1 -0
  8. package/dist/deviceFactory.js.map +1 -1
  9. package/dist/homebridge-ui/endpoints/config.d.ts +0 -3
  10. package/dist/homebridge-ui/endpoints/config.d.ts.map +1 -1
  11. package/dist/homebridge-ui/endpoints/config.js +40 -9
  12. package/dist/homebridge-ui/endpoints/config.js.map +1 -1
  13. package/dist/homebridge-ui/endpoints/devices.d.ts.map +1 -1
  14. package/dist/homebridge-ui/endpoints/devices.js +59 -2
  15. package/dist/homebridge-ui/endpoints/devices.js.map +1 -1
  16. package/dist/homebridge-ui/public/css/styles.css +254 -0
  17. package/dist/homebridge-ui/public/index.html +23 -168
  18. package/dist/homebridge-ui/public/js/api.d.ts +4 -0
  19. package/dist/homebridge-ui/public/js/api.d.ts.map +1 -1
  20. package/dist/homebridge-ui/public/js/api.js +14 -0
  21. package/dist/homebridge-ui/public/js/api.js.map +1 -1
  22. package/dist/homebridge-ui/public/js/api.ts +17 -1
  23. package/dist/homebridge-ui/public/js/app.js +556 -44
  24. package/dist/homebridge-ui/public/js/app.js.map +3 -3
  25. package/dist/homebridge-ui/public/js/app.ts +2 -1
  26. package/dist/homebridge-ui/public/js/devices-delete.d.ts +1 -0
  27. package/dist/homebridge-ui/public/js/devices-delete.d.ts.map +1 -1
  28. package/dist/homebridge-ui/public/js/devices-delete.js +108 -1
  29. package/dist/homebridge-ui/public/js/devices-delete.js.map +1 -1
  30. package/dist/homebridge-ui/public/js/devices-delete.ts +124 -1
  31. package/dist/homebridge-ui/public/js/devices.d.ts +1 -0
  32. package/dist/homebridge-ui/public/js/devices.d.ts.map +1 -1
  33. package/dist/homebridge-ui/public/js/devices.js +10 -0
  34. package/dist/homebridge-ui/public/js/devices.js.map +1 -1
  35. package/dist/homebridge-ui/public/js/devices.ts +10 -0
  36. package/dist/homebridge-ui/public/js/discovery.d.ts.map +1 -1
  37. package/dist/homebridge-ui/public/js/discovery.js +130 -4
  38. package/dist/homebridge-ui/public/js/discovery.js.map +1 -1
  39. package/dist/homebridge-ui/public/js/discovery.ts +158 -4
  40. package/dist/homebridge-ui/public/js/modals.d.ts.map +1 -1
  41. package/dist/homebridge-ui/public/js/modals.js +71 -26
  42. package/dist/homebridge-ui/public/js/modals.js.map +1 -1
  43. package/dist/homebridge-ui/public/js/modals.ts +74 -27
  44. package/dist/homebridge-ui/public/js/render.d.ts +57 -0
  45. package/dist/homebridge-ui/public/js/render.d.ts.map +1 -1
  46. package/dist/homebridge-ui/public/js/render.js +286 -13
  47. package/dist/homebridge-ui/public/js/render.js.map +1 -1
  48. package/dist/homebridge-ui/public/js/render.ts +331 -11
  49. package/dist/homebridge-ui/utils/device-migration.d.ts +35 -0
  50. package/dist/homebridge-ui/utils/device-migration.d.ts.map +1 -0
  51. package/dist/homebridge-ui/utils/device-migration.js +111 -0
  52. package/dist/homebridge-ui/utils/device-migration.js.map +1 -0
  53. package/dist/platform.js +2 -2
  54. package/dist/platform.js.map +1 -1
  55. package/docs/variables/default.html +1 -1
  56. package/package.json +1 -1
  57. package/src/device-types.ts +85 -0
  58. package/src/deviceFactory.ts +1 -0
  59. package/src/homebridge-ui/endpoints/config.ts +54 -10
  60. package/src/homebridge-ui/endpoints/devices.ts +62 -3
  61. package/src/homebridge-ui/public/css/styles.css +254 -0
  62. package/src/homebridge-ui/public/index.html +23 -168
  63. package/src/homebridge-ui/public/js/api.ts +17 -1
  64. package/src/homebridge-ui/public/js/app.ts +2 -1
  65. package/src/homebridge-ui/public/js/devices-delete.ts +124 -1
  66. package/src/homebridge-ui/public/js/devices.ts +10 -0
  67. package/src/homebridge-ui/public/js/discovery.ts +158 -4
  68. package/src/homebridge-ui/public/js/modals.ts +74 -27
  69. package/src/homebridge-ui/public/js/render.ts +331 -11
  70. package/src/homebridge-ui/utils/device-migration.ts +144 -0
  71. package/src/platform.ts +2 -2
  72. package/todo/COMPLETED.md +189 -0
  73. package/todo/README.md +59 -0
  74. package/todo/TODO.md +205 -0
  75. package/todo/mockups/filtering-sorting.svg +112 -0
  76. package/todo/mockups/modal-switchbot-theme.svg +66 -0
  77. package/todo/mockups/signal-strength-visualization.svg +94 -0
  78. package/TODO.md +0 -564
@@ -61,6 +61,7 @@
61
61
  "Keypad Touch",
62
62
  "Keypad Vision",
63
63
  "Keypad Vision Pro",
64
+ "Lock Vision Pro",
64
65
  "Lock Lite",
65
66
  "Smart Lock",
66
67
  "Smart Lock Pro",
@@ -91,8 +92,11 @@
91
92
  "Humidifier2",
92
93
  "Meter",
93
94
  "MeterPlus",
95
+ "Meter Plus",
94
96
  "MeterPro",
97
+ "Meter Pro",
95
98
  "MeterPro(CO2)",
99
+ "Meter Pro (CO2)",
96
100
  "Smart Radiator Thermostat",
97
101
  "Standing Circulator Fan",
98
102
  "WoIOSensor",
@@ -1,9 +1,9 @@
1
1
  export declare const DEVICE_TYPES: {
2
2
  readonly 'Window Coverings': readonly ["Blind Tilt", "Curtain", "Curtain3", "Roller Shade"];
3
- readonly 'Locks & Access': readonly ["Keypad", "Keypad Touch", "Keypad Vision", "Keypad Vision Pro", "Lock Lite", "Smart Lock", "Smart Lock Pro", "Smart Lock Ultra", "Video Doorbell"];
3
+ readonly 'Locks & Access': readonly ["Keypad", "Keypad Touch", "Keypad Vision", "Keypad Vision Pro", "Lock Vision Pro", "Lock Lite", "Smart Lock", "Smart Lock Pro", "Smart Lock Ultra", "Video Doorbell"];
4
4
  readonly Sensors: readonly ["Contact Sensor", "Motion Sensor", "Presence Sensor", "Water Detector"];
5
5
  readonly Lighting: readonly ["Candle Warmer Lamp", "Ceiling Light", "Ceiling Light Pro", "Color Bulb", "Floor Lamp", "RGBIC Neon Rope Light", "RGBIC Neon Wire Rope Light", "RGBICWW Floor Lamp", "RGBICWW Strip Light", "Strip Light", "Strip Light 3"];
6
- readonly 'Climate Control': readonly ["Air Purifier PM2.5", "Air Purifier Table PM2.5", "Air Purifier VOC", "Air Purifier Table VOC", "Battery Circulator Fan", "Circulator Fan", "Humidifier", "Humidifier2", "Meter", "MeterPlus", "MeterPro", "MeterPro(CO2)", "Smart Radiator Thermostat", "Standing Circulator Fan", "WoIOSensor"];
6
+ readonly 'Climate Control': readonly ["Air Purifier PM2.5", "Air Purifier Table PM2.5", "Air Purifier VOC", "Air Purifier Table VOC", "Battery Circulator Fan", "Circulator Fan", "Humidifier", "Humidifier2", "Meter", "MeterPlus", "Meter Plus", "MeterPro", "Meter Pro", "MeterPro(CO2)", "Meter Pro (CO2)", "Smart Radiator Thermostat", "Standing Circulator Fan", "WoIOSensor"];
7
7
  readonly 'Plugs & Switches': readonly ["Garage Door Opener", "Plug", "Plug Mini (EU)", "Plug Mini (JP)", "Plug Mini (US)", "Relay Switch 1", "Relay Switch 1PM", "Relay Switch 2PM"];
8
8
  readonly 'Robot Vacuums': readonly ["K10+", "K10+ Pro", "Robot Vacuum Cleaner K10+ Pro Combo", "Robot Vacuum Cleaner K11+", "Robot Vacuum Cleaner K20 Plus Pro", "Robot Vacuum Cleaner S1", "Robot Vacuum Cleaner S1 Plus", "Robot Vacuum Cleaner S10", "Robot Vacuum Cleaner S20"];
9
9
  readonly Hubs: readonly ["AI Hub", "Hub", "Hub 2", "Hub 3", "Hub Mini", "Hub Plus"];
@@ -12,4 +12,20 @@ export declare const DEVICE_TYPES: {
12
12
  readonly 'Other Devices': readonly ["AI Art Frame", "Bot", "Home Climate Panel", "Remote", "remote with screen"];
13
13
  };
14
14
  export declare const DEVICE_TYPE_NORMALIZATION_MAP: Record<string, string>;
15
+ /**
16
+ * Get all valid device types as a flat set for validation
17
+ */
18
+ export declare function getValidDeviceTypes(): Set<string>;
19
+ /**
20
+ * Normalize and validate a device type, returning a valid type or null
21
+ * @param deviceType The device type to validate/normalize
22
+ * @returns Valid device type string or null if no valid mapping found
23
+ */
24
+ export declare function normalizeDeviceType(deviceType: string | undefined | null): string | null;
25
+ /**
26
+ * Check if a device type is valid
27
+ * @param deviceType The device type to check
28
+ * @returns true if device type is in DEVICE_TYPES
29
+ */
30
+ export declare function isValidDeviceType(deviceType: string | undefined | null): boolean;
15
31
  //# sourceMappingURL=device-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-types.d.ts","sourceRoot":"","sources":["../src/device-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;CA0Ff,CAAA;AAEV,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoDhE,CAAA"}
1
+ {"version":3,"file":"device-types.d.ts","sourceRoot":"","sources":["../src/device-types.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY;;;;;;;;;;;;CA8Ff,CAAA;AAEV,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8EhE,CAAA;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,GAAG,CAAC,MAAM,CAAC,CAQjD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAsBxF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAMhF"}
@@ -5,6 +5,7 @@ export const DEVICE_TYPES = {
5
5
  'Keypad Touch',
6
6
  'Keypad Vision',
7
7
  'Keypad Vision Pro',
8
+ 'Lock Vision Pro',
8
9
  'Lock Lite',
9
10
  'Smart Lock',
10
11
  'Smart Lock Pro',
@@ -36,8 +37,11 @@ export const DEVICE_TYPES = {
36
37
  'Humidifier2',
37
38
  'Meter',
38
39
  'MeterPlus',
40
+ 'Meter Plus',
39
41
  'MeterPro',
42
+ 'Meter Pro',
40
43
  'MeterPro(CO2)',
44
+ 'Meter Pro (CO2)',
41
45
  'Smart Radiator Thermostat',
42
46
  'Standing Circulator Fan',
43
47
  'WoIOSensor',
@@ -90,14 +94,17 @@ export const DEVICE_TYPES = {
90
94
  'Other Devices': ['AI Art Frame', 'Bot', 'Home Climate Panel', 'Remote', 'remote with screen'],
91
95
  };
92
96
  export const DEVICE_TYPE_NORMALIZATION_MAP = {
97
+ // Sensor type conversions
93
98
  'motion sensor': 'motion',
94
99
  'contact sensor': 'contact',
95
100
  'presence sensor': 'contact',
96
101
  'water detector': 'water detector',
102
+ // Climate control conversions
97
103
  'humidifier2': 'humidifier',
98
104
  'circulator fan': 'fan',
99
105
  'battery circulator fan': 'fan',
100
106
  'standing circulator fan': 'fan',
107
+ // Lock/keypad conversions
101
108
  'smart lock': 'lock',
102
109
  'smart lock pro': 'lock',
103
110
  'smart lock ultra': 'lock',
@@ -106,6 +113,7 @@ export const DEVICE_TYPE_NORMALIZATION_MAP = {
106
113
  'keypad touch': 'lock',
107
114
  'keypad vision': 'lock',
108
115
  'keypad vision pro': 'lock',
116
+ // Light conversions
109
117
  'color bulb': 'light',
110
118
  'ceiling light': 'light',
111
119
  'ceiling light pro': 'light',
@@ -117,6 +125,7 @@ export const DEVICE_TYPE_NORMALIZATION_MAP = {
117
125
  'rgbicww strip light': 'lightstrip',
118
126
  'strip light': 'strip light',
119
127
  'strip light 3': 'strip light',
128
+ // Vacuum conversions
120
129
  'robot vacuum cleaner s1': 'vacuum',
121
130
  'robot vacuum cleaner s1 plus': 'vacuum',
122
131
  'robot vacuum cleaner s10': 'vacuum',
@@ -124,6 +133,7 @@ export const DEVICE_TYPE_NORMALIZATION_MAP = {
124
133
  'robot vacuum cleaner k10+ pro combo': 'wosweeper',
125
134
  'robot vacuum cleaner k11+': 'wosweeper',
126
135
  'robot vacuum cleaner k20 plus pro': 'wosweeper',
136
+ // Exact device type mappings (API format → canonical format)
127
137
  'plug mini (eu)': 'plug mini (eu)',
128
138
  'plug mini (jp)': 'plug mini (jp)',
129
139
  'plug mini (us)': 'plug mini (us)',
@@ -141,5 +151,66 @@ export const DEVICE_TYPE_NORMALIZATION_MAP = {
141
151
  'k10+': 'k10+',
142
152
  'k10+ pro': 'k10+ pro',
143
153
  'k10+ pro (wosweeperminipro)': 'k10+ pro (wosweeperminipro)',
154
+ // Handle spaced variants from config files (normalize back to API format)
155
+ 'meter pro': 'meterpro',
156
+ 'meter pro (co2)': 'meterpro(co2)',
157
+ 'meter plus': 'meterplus',
158
+ 'relay switch 1 pm': 'relay switch 1pm',
159
+ 'relay switch 2 pm': 'relay switch 2pm',
160
+ 'plug mini eu': 'plug mini (eu)',
161
+ 'plug mini jp': 'plug mini (jp)',
162
+ 'plug mini us': 'plug mini (us)',
163
+ // Migration mappings for invalid/legacy device types
164
+ 'lock vision pro': 'lock', // Valid alias; map to lock behavior
165
+ 'lock vision': 'Keypad Vision', // Invalid type
166
+ 'lock touch': 'Keypad Touch', // Invalid type
144
167
  };
168
+ /**
169
+ * Get all valid device types as a flat set for validation
170
+ */
171
+ export function getValidDeviceTypes() {
172
+ const validTypes = new Set();
173
+ for (const category of Object.values(DEVICE_TYPES)) {
174
+ for (const type of category) {
175
+ validTypes.add(type);
176
+ }
177
+ }
178
+ return validTypes;
179
+ }
180
+ /**
181
+ * Normalize and validate a device type, returning a valid type or null
182
+ * @param deviceType The device type to validate/normalize
183
+ * @returns Valid device type string or null if no valid mapping found
184
+ */
185
+ export function normalizeDeviceType(deviceType) {
186
+ if (!deviceType || typeof deviceType !== 'string') {
187
+ return null;
188
+ }
189
+ const trimmed = deviceType.trim();
190
+ const lowercase = trimmed.toLowerCase();
191
+ // Check if already valid
192
+ const validTypes = getValidDeviceTypes();
193
+ if (validTypes.has(trimmed)) {
194
+ return trimmed;
195
+ }
196
+ // Check normalization map
197
+ const normalized = DEVICE_TYPE_NORMALIZATION_MAP[lowercase];
198
+ if (normalized && validTypes.has(normalized)) {
199
+ return normalized;
200
+ }
201
+ // No valid mapping found
202
+ return null;
203
+ }
204
+ /**
205
+ * Check if a device type is valid
206
+ * @param deviceType The device type to check
207
+ * @returns true if device type is in DEVICE_TYPES
208
+ */
209
+ export function isValidDeviceType(deviceType) {
210
+ if (!deviceType || typeof deviceType !== 'string') {
211
+ return false;
212
+ }
213
+ const validTypes = getValidDeviceTypes();
214
+ return validTypes.has(deviceType.trim());
215
+ }
145
216
  //# sourceMappingURL=device-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-types.js","sourceRoot":"","sources":["../src/device-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device-types.js","sourceRoot":"","sources":["../src/device-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deviceFactory.d.ts","sourceRoot":"","sources":["../src/deviceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAmCtE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAoFD,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,qBAAqB,EAAE,SAAS,EAAE,OAAO;;2BAkC3E,GAAG;;GAG7B"}
1
+ {"version":3,"file":"deviceFactory.d.ts","sourceRoot":"","sources":["../src/deviceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAmCtE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAqFD,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,qBAAqB,EAAE,SAAS,EAAE,OAAO;;2BAkC3E,GAAG;;GAG7B"}
@@ -59,6 +59,7 @@ const DEVICE_CLASS_MAP = {
59
59
  'keypad touch': LockDevice,
60
60
  'keypad vision': LockDevice,
61
61
  'keypad vision pro': LockDevice,
62
+ 'lock vision pro': LockDevice,
62
63
  'color bulb': LightDevice,
63
64
  'ceiling light': LightDevice,
64
65
  'ceiling light pro': LightDevice,
@@ -1 +1 @@
1
- {"version":3,"file":"deviceFactory.js","sourceRoot":"","sources":["../src/deviceFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deviceFactory.js","sourceRoot":"","sources":["../src/deviceFactory.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,3 @@
1
1
  import type { HomebridgePluginUiServer } from '@homebridge/plugin-ui-utils';
2
- /**
3
- * Register config-related endpoints
4
- */
5
2
  export declare function registerConfigEndpoints(server: HomebridgePluginUiServer): void;
6
3
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/homebridge-ui/endpoints/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAQ3E;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,QAmEvE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/homebridge-ui/endpoints/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAU3E,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,QAgHvE"}
@@ -2,9 +2,8 @@ import { RequestError } from '@homebridge/plugin-ui-utils';
2
2
  import fs from 'node:fs/promises';
3
3
  import { getAllDevices, getSwitchBotPlatformConfig, SWITCHBOT_PLATFORM_REGEX } from '../utils/config-parser.js';
4
4
  import { uiLog } from '../utils/logger.js';
5
- /**
6
- * Register config-related endpoints
7
- */
5
+ import { validateAndMigrateDeviceType } from '../utils/device-migration.js';
6
+ import { isValidDeviceType } from '../../device-types.js';
8
7
  export function registerConfigEndpoints(server) {
9
8
  /**
10
9
  * GET /devices - List all configured devices from Homebridge config
@@ -18,6 +17,7 @@ export function registerConfigEndpoints(server) {
18
17
  const raw = await fs.readFile(cfgPath, 'utf8');
19
18
  const cfg = JSON.parse(raw);
20
19
  const found = [];
20
+ const invalidTypeDevices = [];
21
21
  const platforms = Array.isArray(cfg.platforms) ? cfg.platforms : [];
22
22
  for (const p of platforms) {
23
23
  try {
@@ -32,21 +32,52 @@ export function registerConfigEndpoints(server) {
32
32
  if (!id) {
33
33
  continue;
34
34
  }
35
- found.push({
35
+ const deviceType = d.configDeviceType ?? d.type ?? d.deviceType;
36
+ const deviceName = d.configDeviceName ?? d.name ?? d.deviceName;
37
+ // Validate device type
38
+ const deviceObj = { configDeviceType: deviceType, configDeviceName: deviceName, deviceId: id };
39
+ const validationResult = validateAndMigrateDeviceType(deviceObj, false);
40
+ const deviceEntry = {
36
41
  id,
37
- name: d.configDeviceName ?? d.name ?? d.deviceName,
38
- type: d.configDeviceType ?? d.type ?? d.deviceType,
42
+ name: deviceName,
43
+ type: deviceType,
39
44
  connectionPreference: d.connectionPreference ?? d.connection ?? 'auto',
40
45
  room: d.room || d.location || undefined,
41
- });
46
+ };
47
+ if (!isValidDeviceType(deviceType)) {
48
+ deviceEntry.typeValidationWarning = `Invalid type "${deviceType}"`;
49
+ if (validationResult.correctedType) {
50
+ deviceEntry.typeValidationWarning += ` - should be "${validationResult.correctedType}"`;
51
+ invalidTypeDevices.push({
52
+ name: deviceName,
53
+ type: deviceType,
54
+ suggestion: validationResult.correctedType,
55
+ });
56
+ }
57
+ else {
58
+ invalidTypeDevices.push({
59
+ name: deviceName,
60
+ type: deviceType,
61
+ });
62
+ }
63
+ }
64
+ found.push(deviceEntry);
42
65
  }
43
66
  }
44
67
  catch (e) {
45
68
  // ignore malformed platform entries
46
69
  }
47
70
  }
48
- uiLog.info(`GET /devices - Found ${found.length} devices in ${cfgPath}`);
49
- return { success: true, data: found };
71
+ // Log validation issues
72
+ if (invalidTypeDevices.length > 0) {
73
+ uiLog.warn(`Found ${invalidTypeDevices.length} device(s) with invalid types:\n${invalidTypeDevices.map(d => ` - "${d.name}": "${d.type}"${d.suggestion ? ` → should be "${d.suggestion}"` : ''}`).join('\n')}`);
74
+ }
75
+ uiLog.info(`GET /devices - Found ${found.length} devices in ${cfgPath}${invalidTypeDevices.length > 0 ? ` (${invalidTypeDevices.length} with validation warnings)` : ''}`);
76
+ return {
77
+ success: true,
78
+ data: found,
79
+ ...(invalidTypeDevices.length > 0 && { validationWarnings: invalidTypeDevices }),
80
+ };
50
81
  }
51
82
  catch (e) {
52
83
  uiLog.error(`Error in /devices: ${e instanceof Error ? e.message : String(e)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/homebridge-ui/endpoints/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAEjC,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AAC/G,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE1C;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAgC;IACtE;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;QACtC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAA;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACnD,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC3B,MAAM,KAAK,GAAsG,EAAE,CAAA;YAEnH,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;YACnE,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAA;oBAC/C,6CAA6C;oBAC7C,IAAI,CAAC,YAAY,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;wBAC1E,SAAQ;oBACV,CAAC;oBAED,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;oBAChC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACxB,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAA;wBAC7B,IAAI,CAAC,EAAE,EAAE,CAAC;4BACR,SAAQ;wBACV,CAAC;wBAED,KAAK,CAAC,IAAI,CAAC;4BACT,EAAE;4BACF,IAAI,EAAE,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU;4BAClD,IAAI,EAAE,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU;4BAClD,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM;4BACtE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS;yBACxC,CAAC,CAAA;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,oCAAoC;gBACtC,CAAC;YACH,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,MAAM,eAAe,OAAO,EAAE,CAAC,CAAA;YACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QACvC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAC/E,MAAM,IAAI,YAAY,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC,CAAC,CAAA;IAEF;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;YAC7D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;aAC3C,CAAA;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,KAAK,CAAC,8BAA8B,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACvF,MAAM,IAAI,YAAY,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/homebridge-ui/endpoints/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../../src/homebridge-ui/endpoints/devices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAQ3E;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,QAqTvE"}
1
+ {"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../../src/homebridge-ui/endpoints/devices.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAQ3E;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,wBAAwB,QAgXvE"}
@@ -97,7 +97,7 @@ export function registerDeviceEndpoints(server) {
97
97
  let addedCount = 0;
98
98
  let skippedCount = 0;
99
99
  const results = [];
100
- for (const { deviceId, name, type } of devices) {
100
+ for (const { deviceId, name, type, rssi, address, model } of devices) {
101
101
  if (!deviceId) {
102
102
  results.push({ deviceId: '?', success: false, message: 'Device ID is required' });
103
103
  skippedCount++;
@@ -120,9 +120,19 @@ export function registerDeviceEndpoints(server) {
120
120
  configDeviceName: name,
121
121
  configDeviceType: type,
122
122
  };
123
+ // Store RSSI, address, and model if available
124
+ if (rssi !== undefined && rssi !== null && rssi !== 0) {
125
+ newDevice.rssi = rssi;
126
+ }
127
+ if (address) {
128
+ newDevice.address = address;
129
+ }
130
+ if (model) {
131
+ newDevice.model = model;
132
+ }
123
133
  ref.push(newDevice);
124
134
  addedToArray = true;
125
- uiLog.debug(`POST /add-devices - Added device to array: ${deviceId} (${name}, ${type})`);
135
+ uiLog.debug(`POST /add-devices - Added device to array: ${deviceId} (${name}, ${type}, RSSI: ${rssi})`);
126
136
  }
127
137
  }
128
138
  if (addedToArray) {
@@ -281,5 +291,52 @@ export function registerDeviceEndpoints(server) {
281
291
  throw new RequestError('Failed to delete device', e);
282
292
  }
283
293
  });
294
+ /**
295
+ * POST /delete-all-devices - Remove all devices from config
296
+ */
297
+ server.onRequest('/delete-all-devices', async () => {
298
+ try {
299
+ uiLog.info('POST /delete-all-devices - Request received');
300
+ const { cfg, platform, cfgPath } = await getSwitchBotPlatformConfig(server);
301
+ const deviceArrays = getDeviceArrays(platform);
302
+ const allDevices = getAllDevices(platform);
303
+ if (allDevices.length === 0) {
304
+ return {
305
+ success: true,
306
+ data: { message: 'No devices to delete', deletedCount: 0 },
307
+ };
308
+ }
309
+ const deviceCount = allDevices.length;
310
+ uiLog.info(`POST /delete-all-devices - Removing ${deviceCount} device(s)`);
311
+ // Clear all device arrays
312
+ for (const ref of deviceArrays) {
313
+ ref.length = 0; // Clear array in place
314
+ }
315
+ const configJson = JSON.stringify(cfg, null, 2);
316
+ const fileHandle = await fs.open(cfgPath, 'w');
317
+ try {
318
+ await fileHandle.writeFile(configJson, 'utf8');
319
+ await fileHandle.sync();
320
+ uiLog.info('POST /delete-all-devices - Config file written successfully');
321
+ }
322
+ finally {
323
+ await fileHandle.close();
324
+ }
325
+ // Notify Homebridge UI that config changed
326
+ server.pushEvent('configChanged', { source: 'switchbot-plugin' });
327
+ uiLog.debug('DELETE /delete-all-devices - Sent configChanged event to UI');
328
+ return {
329
+ success: true,
330
+ data: {
331
+ message: `Removed ${deviceCount} device(s) from config`,
332
+ deletedCount: deviceCount,
333
+ },
334
+ };
335
+ }
336
+ catch (e) {
337
+ uiLog.error(`Error in /delete-all-devices: ${e instanceof Error ? e.message : String(e)}`);
338
+ throw new RequestError(`Failed to delete all devices: ${e instanceof Error ? e.message : String(e)}`, e);
339
+ }
340
+ });
284
341
  }
285
342
  //# sourceMappingURL=devices.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../../src/homebridge-ui/endpoints/devices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../../src/homebridge-ui/endpoints/devices.ts"],"names":[],"mappings":"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"}