homebridge-tsvesync 1.0.25 → 1.0.28

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 (36) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/README.md +13 -1
  3. package/dist/__tests__/utils/test-helpers.d.ts +131 -0
  4. package/dist/__tests__/utils/test-helpers.d.ts.map +1 -0
  5. package/dist/__tests__/utils/test-helpers.js +381 -0
  6. package/dist/__tests__/utils/test-helpers.js.map +1 -0
  7. package/dist/accessories/base.accessory.d.ts.map +1 -1
  8. package/dist/accessories/base.accessory.js +6 -3
  9. package/dist/accessories/base.accessory.js.map +1 -1
  10. package/dist/accessories/fan.accessory.js +2 -2
  11. package/dist/accessories/outlet.accessory.js +1 -1
  12. package/dist/accessories/outlet.accessory.js.map +1 -1
  13. package/dist/accessories/switch.accessory.d.ts +16 -0
  14. package/dist/accessories/switch.accessory.d.ts.map +1 -0
  15. package/dist/accessories/switch.accessory.js +71 -0
  16. package/dist/accessories/switch.accessory.js.map +1 -0
  17. package/dist/platform.d.ts +11 -1
  18. package/dist/platform.d.ts.map +1 -1
  19. package/dist/platform.js +108 -126
  20. package/dist/platform.js.map +1 -1
  21. package/dist/types/device.types.d.ts +10 -3
  22. package/dist/types/device.types.d.ts.map +1 -1
  23. package/package.json +1 -1
  24. package/src/__tests__/base.accessory.test.ts +207 -1
  25. package/src/__tests__/devices/fan.test.ts +163 -0
  26. package/src/__tests__/devices/light.test.ts +547 -0
  27. package/src/__tests__/devices/outlet.test.ts +526 -0
  28. package/src/__tests__/devices/switch.test.ts +274 -0
  29. package/src/__tests__/platform.test.ts +251 -151
  30. package/src/__tests__/utils/test-helpers.ts +464 -0
  31. package/src/accessories/base.accessory.ts +6 -3
  32. package/src/accessories/fan.accessory.ts +2 -2
  33. package/src/accessories/outlet.accessory.ts +1 -1
  34. package/src/accessories/switch.accessory.ts +96 -0
  35. package/src/platform.ts +117 -129
  36. package/src/types/device.types.ts +12 -3
package/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # Changelog
2
2
 
3
- ## [1.0.25] - 2025-01-02
3
+ ## [1.0.28] - 2025-01-04
4
+
5
+ ### Fixed
6
+ - Fixed issue where login token was not being refreshed
7
+
8
+ ## [1.0.27] - 2025-01-02
4
9
 
5
10
  ### Fixed
6
11
  - Fixed invalid speed setting issues for air purifiers, fans, and humidifiers
@@ -22,6 +27,7 @@
22
27
  - Energy monitoring capabilities
23
28
  - Power consumption tracking
24
29
  - Voltage monitoring
30
+ - Added support for ESWL01, ESWL03, and ESWD16 wall switches
25
31
 
26
32
  ### Changed
27
33
  - Improved error handling for device control operations
package/README.md CHANGED
@@ -98,6 +98,18 @@ All outlets are exposed as HomeKit outlets with the following features:
98
98
  * Mode selection (Normal, Auto, Sleep, Turbo)
99
99
  * Oscillation control
100
100
 
101
+ ### Wall Switches
102
+ - ESWL01
103
+ - Basic on/off control
104
+ - Status monitoring
105
+ - ESWL03
106
+ - Basic on/off control
107
+ - Status monitoring
108
+ - ESWD16
109
+ - Dimming control
110
+ - RGB indicator light control
111
+ - Status monitoring
112
+
101
113
  ## Installation
102
114
 
103
115
  1. Install Homebridge if you haven't already (see [homebridge.io](https://homebridge.io))
@@ -169,4 +181,4 @@ MIT
169
181
 
170
182
  ## Credits
171
183
 
172
- This plugin uses the [tsvesync](https://github.com/mickgiles/tsvesync) library for device communication.
184
+ This plugin uses the [tsvesync](https://github.com/mickgiles/tsvesync) library for device communication.
@@ -0,0 +1,131 @@
1
+ /// <reference types="jest" />
2
+ import { Logger } from 'homebridge';
3
+ import { PluginLogger } from '../../utils/logger';
4
+ import { RetryManager } from '../../utils/retry';
5
+ import { VeSyncOutlet } from '../../types/device.types';
6
+ import { VeSync } from 'tsvesync';
7
+ import { VeSyncSwitch } from '../../types/device.types';
8
+ import { VeSyncBulb } from '../../types/device.types';
9
+ import { VeSyncFan } from '../../types/device.types';
10
+ /**
11
+ * Creates a mock Logger instance for testing
12
+ */
13
+ export declare const createMockLogger: () => jest.Mocked<Logger>;
14
+ /**
15
+ * Creates a mock PluginLogger instance for testing
16
+ */
17
+ export declare const createMockPluginLogger: (log?: Logger) => jest.Mocked<PluginLogger>;
18
+ /**
19
+ * Creates a mock RetryManager instance for testing
20
+ */
21
+ export declare const createMockRetryManager: () => jest.Mocked<RetryManager>;
22
+ /**
23
+ * Creates a mock service instance for testing
24
+ */
25
+ export declare const createMockService: () => {
26
+ getCharacteristic: jest.Mock<any, any, any>;
27
+ setCharacteristic: jest.Mock<any, any, any>;
28
+ };
29
+ /**
30
+ * Creates a mock info service instance for testing
31
+ */
32
+ export declare const createMockInfoService: () => {
33
+ setCharacteristic: jest.Mock<any, any, any>;
34
+ };
35
+ /**
36
+ * Type for mock device configuration
37
+ */
38
+ export interface MockDeviceConfig {
39
+ deviceName?: string;
40
+ uuid?: string;
41
+ deviceType?: string;
42
+ getDetails?: jest.Mock;
43
+ }
44
+ /**
45
+ * Creates a mock device instance for testing
46
+ */
47
+ export declare const createMockDevice: (config?: MockDeviceConfig) => {
48
+ deviceName: string;
49
+ uuid: string;
50
+ deviceType: string;
51
+ getDetails: jest.Mock<any, any, any>;
52
+ };
53
+ /**
54
+ * Waits for all promises in the queue to resolve
55
+ */
56
+ export declare const flushPromises: () => Promise<unknown>;
57
+ /**
58
+ * Helper to run async tests with proper timeout and error handling
59
+ */
60
+ export declare const runAsyncTest: (testFn: () => Promise<void>, timeout?: number) => Promise<void>;
61
+ /**
62
+ * Simulates a network delay
63
+ */
64
+ export declare const simulateNetworkDelay: (ms?: number) => Promise<void>;
65
+ /**
66
+ * Type for mock outlet configuration
67
+ */
68
+ export interface MockOutletConfig {
69
+ deviceName?: string;
70
+ deviceType?: string;
71
+ cid?: string;
72
+ uuid?: string;
73
+ power?: number;
74
+ voltage?: number;
75
+ energy?: number;
76
+ current?: number;
77
+ }
78
+ /**
79
+ * Creates a mock outlet instance for testing
80
+ */
81
+ export declare const createMockOutlet: (config?: MockOutletConfig) => jest.Mocked<VeSyncOutlet>;
82
+ /**
83
+ * Creates a mock VeSync client for testing
84
+ */
85
+ export declare const createMockVeSync: () => jest.Mocked<VeSync>;
86
+ /**
87
+ * Type for mock switch configuration
88
+ */
89
+ export interface MockSwitchConfig {
90
+ deviceName?: string;
91
+ deviceType?: string;
92
+ cid?: string;
93
+ uuid?: string;
94
+ power?: boolean;
95
+ }
96
+ /**
97
+ * Creates a mock switch instance for testing
98
+ */
99
+ export declare const createMockSwitch: (config?: MockSwitchConfig) => jest.Mocked<VeSyncSwitch>;
100
+ export interface MockLightOptions {
101
+ deviceName: string;
102
+ deviceType: string;
103
+ cid: string;
104
+ uuid: string;
105
+ power?: boolean;
106
+ brightness?: number;
107
+ colorTemp?: number;
108
+ hue?: number;
109
+ saturation?: number;
110
+ subDeviceNo?: number;
111
+ isSubDevice?: boolean;
112
+ }
113
+ export declare function createMockLight(options: MockLightOptions): VeSyncBulb;
114
+ /**
115
+ * Type for mock fan configuration
116
+ */
117
+ export interface MockFanConfig {
118
+ deviceName?: string;
119
+ deviceType?: string;
120
+ cid?: string;
121
+ uuid?: string;
122
+ speed?: number;
123
+ rotationDirection?: 'clockwise' | 'counterclockwise';
124
+ swingMode?: boolean;
125
+ childLock?: boolean;
126
+ }
127
+ /**
128
+ * Creates a mock fan instance for testing
129
+ */
130
+ export declare const createMockFan: (config?: MockFanConfig) => jest.Mocked<VeSyncFan>;
131
+ //# sourceMappingURL=test-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../src/__tests__/utils/test-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,381 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMockFan = exports.createMockLight = exports.createMockSwitch = exports.createMockVeSync = exports.createMockOutlet = exports.simulateNetworkDelay = exports.runAsyncTest = exports.flushPromises = exports.createMockDevice = exports.createMockInfoService = exports.createMockService = exports.createMockRetryManager = exports.createMockPluginLogger = exports.createMockLogger = void 0;
4
+ const logger_1 = require("../../utils/logger");
5
+ const retry_1 = require("../../utils/retry");
6
+ /**
7
+ * Creates a mock Logger instance for testing
8
+ */
9
+ const createMockLogger = () => ({
10
+ debug: jest.fn(),
11
+ info: jest.fn(),
12
+ warn: jest.fn(),
13
+ error: jest.fn(),
14
+ log: jest.fn(),
15
+ prefix: undefined
16
+ });
17
+ exports.createMockLogger = createMockLogger;
18
+ /**
19
+ * Creates a mock PluginLogger instance for testing
20
+ */
21
+ const createMockPluginLogger = (log = (0, exports.createMockLogger)()) => {
22
+ const logger = new logger_1.PluginLogger(log, true);
23
+ return {
24
+ ...logger,
25
+ debug: jest.fn(),
26
+ info: jest.fn(),
27
+ warn: jest.fn(),
28
+ error: jest.fn(),
29
+ stateChange: jest.fn(),
30
+ operationStart: jest.fn(),
31
+ operationEnd: jest.fn(),
32
+ pollingEvent: jest.fn(),
33
+ formatMessage: jest.fn((message) => message),
34
+ };
35
+ };
36
+ exports.createMockPluginLogger = createMockPluginLogger;
37
+ /**
38
+ * Creates a mock RetryManager instance for testing
39
+ */
40
+ const createMockRetryManager = () => {
41
+ const manager = new retry_1.RetryManager((0, exports.createMockLogger)(), {
42
+ maxRetries: 3,
43
+ });
44
+ return {
45
+ ...manager,
46
+ execute: jest.fn(),
47
+ getRetryCount: jest.fn().mockReturnValue(0),
48
+ };
49
+ };
50
+ exports.createMockRetryManager = createMockRetryManager;
51
+ /**
52
+ * Creates a mock service instance for testing
53
+ */
54
+ const createMockService = () => ({
55
+ getCharacteristic: jest.fn().mockReturnValue({
56
+ onSet: jest.fn(),
57
+ onGet: jest.fn(),
58
+ updateValue: jest.fn(),
59
+ }),
60
+ setCharacteristic: jest.fn().mockReturnThis(),
61
+ });
62
+ exports.createMockService = createMockService;
63
+ /**
64
+ * Creates a mock info service instance for testing
65
+ */
66
+ const createMockInfoService = () => ({
67
+ setCharacteristic: jest.fn().mockReturnThis(),
68
+ });
69
+ exports.createMockInfoService = createMockInfoService;
70
+ /**
71
+ * Creates a mock device instance for testing
72
+ */
73
+ const createMockDevice = (config = {}) => ({
74
+ deviceName: config.deviceName || 'Test Device',
75
+ uuid: config.uuid || '12345',
76
+ deviceType: config.deviceType || 'outlet',
77
+ getDetails: config.getDetails || jest.fn(),
78
+ });
79
+ exports.createMockDevice = createMockDevice;
80
+ /**
81
+ * Waits for all promises in the queue to resolve
82
+ */
83
+ const flushPromises = () => new Promise(resolve => setImmediate(resolve));
84
+ exports.flushPromises = flushPromises;
85
+ /**
86
+ * Helper to run async tests with proper timeout and error handling
87
+ */
88
+ const runAsyncTest = async (testFn, timeout = 5000) => {
89
+ return new Promise((resolve, reject) => {
90
+ const timeoutId = setTimeout(() => {
91
+ reject(new Error(`Test timed out after ${timeout}ms`));
92
+ }, timeout);
93
+ testFn()
94
+ .then(() => {
95
+ clearTimeout(timeoutId);
96
+ resolve();
97
+ })
98
+ .catch((error) => {
99
+ clearTimeout(timeoutId);
100
+ reject(error);
101
+ });
102
+ });
103
+ };
104
+ exports.runAsyncTest = runAsyncTest;
105
+ /**
106
+ * Simulates a network delay
107
+ */
108
+ const simulateNetworkDelay = (ms = 100) => new Promise(resolve => setTimeout(resolve, ms));
109
+ exports.simulateNetworkDelay = simulateNetworkDelay;
110
+ /**
111
+ * Creates a mock outlet instance for testing
112
+ */
113
+ const createMockOutlet = (config = {}) => {
114
+ const details = {
115
+ power: config.power || 0,
116
+ voltage: config.voltage || 120,
117
+ energy: config.energy || 0,
118
+ current: config.current || 0,
119
+ };
120
+ return {
121
+ deviceName: config.deviceName || 'Test Outlet',
122
+ deviceType: config.deviceType || 'wifi-switch-1.3',
123
+ cid: config.cid || 'test-cid',
124
+ uuid: config.uuid || 'test-uuid',
125
+ deviceStatus: 'on',
126
+ subDeviceNo: 0,
127
+ isSubDevice: false,
128
+ deviceRegion: 'US',
129
+ configModule: 'Outlet',
130
+ macId: '00:11:22:33:44:55',
131
+ deviceCategory: 'outlet',
132
+ connectionStatus: 'online',
133
+ getDetails: jest.fn().mockResolvedValue(details),
134
+ setApiBaseUrl: jest.fn(),
135
+ turnOn: jest.fn().mockResolvedValue(true),
136
+ turnOff: jest.fn().mockResolvedValue(true),
137
+ ...details,
138
+ };
139
+ };
140
+ exports.createMockOutlet = createMockOutlet;
141
+ /**
142
+ * Creates a mock VeSync client for testing
143
+ */
144
+ const createMockVeSync = () => {
145
+ return {
146
+ login: jest.fn().mockResolvedValue(true),
147
+ getDevices: jest.fn().mockResolvedValue(true),
148
+ fans: [],
149
+ outlets: [],
150
+ switches: [],
151
+ bulbs: [],
152
+ humidifiers: [],
153
+ purifiers: [],
154
+ _debug: false,
155
+ _redact: false,
156
+ _energyUpdateInterval: 0,
157
+ _energyCheck: false,
158
+ username: 'test@example.com',
159
+ password: 'test-password',
160
+ token: 'test-token',
161
+ accountID: 'test-account',
162
+ apiKey: 'test-key',
163
+ apiBase: 'test-base',
164
+ timezone: 'UTC',
165
+ debug: false,
166
+ redact: false,
167
+ traceSocket: false,
168
+ apiUrl: 'test-url',
169
+ initialized: true,
170
+ setToken: jest.fn(),
171
+ setAccountID: jest.fn(),
172
+ setAPIKey: jest.fn(),
173
+ setAPIBase: jest.fn(),
174
+ setInitialized: jest.fn(),
175
+ setDevices: jest.fn(),
176
+ getDevicesByType: jest.fn(),
177
+ getDeviceByUUID: jest.fn(),
178
+ getDeviceByCid: jest.fn(),
179
+ getDeviceByName: jest.fn(),
180
+ getDevicesByCategory: jest.fn(),
181
+ getDevicesByMacID: jest.fn(),
182
+ getDevicesByDeviceType: jest.fn(),
183
+ getDevicesByConfigModule: jest.fn(),
184
+ getDevicesByDeviceRegion: jest.fn(),
185
+ getDevicesByConnectionStatus: jest.fn(),
186
+ };
187
+ };
188
+ exports.createMockVeSync = createMockVeSync;
189
+ /**
190
+ * Creates a mock switch instance for testing
191
+ */
192
+ const createMockSwitch = (config = {}) => {
193
+ const state = {
194
+ power: config.power || false,
195
+ deviceStatus: config.power ? 'on' : 'off',
196
+ };
197
+ const mockSwitch = {
198
+ deviceName: config.deviceName || 'Test Switch',
199
+ deviceType: config.deviceType || 'ESW01-EU',
200
+ cid: config.cid || 'test-cid',
201
+ uuid: config.uuid || 'test-uuid',
202
+ deviceStatus: state.deviceStatus,
203
+ power: state.power,
204
+ subDeviceNo: 0,
205
+ isSubDevice: false,
206
+ deviceRegion: 'US',
207
+ configModule: 'Switch',
208
+ macId: '00:11:22:33:44:55',
209
+ deviceCategory: 'switch',
210
+ connectionStatus: 'online',
211
+ getDetails: jest.fn().mockImplementation(async () => {
212
+ return {
213
+ deviceStatus: state.deviceStatus,
214
+ power: state.power,
215
+ };
216
+ }),
217
+ setApiBaseUrl: jest.fn(),
218
+ turnOn: jest.fn().mockImplementation(async () => {
219
+ state.power = true;
220
+ state.deviceStatus = 'on';
221
+ mockSwitch.power = state.power;
222
+ mockSwitch.deviceStatus = state.deviceStatus;
223
+ return true;
224
+ }),
225
+ turnOff: jest.fn().mockImplementation(async () => {
226
+ state.power = false;
227
+ state.deviceStatus = 'off';
228
+ mockSwitch.power = state.power;
229
+ mockSwitch.deviceStatus = state.deviceStatus;
230
+ return true;
231
+ }),
232
+ };
233
+ return mockSwitch;
234
+ };
235
+ exports.createMockSwitch = createMockSwitch;
236
+ function createMockLight(options) {
237
+ const state = {
238
+ deviceStatus: options.power ? 'on' : 'off',
239
+ brightness: options.brightness || 100,
240
+ colorTemp: options.colorTemp || 140,
241
+ hue: options.hue || 0,
242
+ saturation: options.saturation || 0,
243
+ };
244
+ const turnOn = jest.fn().mockImplementation(() => {
245
+ state.deviceStatus = 'on';
246
+ mockLight.deviceStatus = state.deviceStatus;
247
+ return Promise.resolve(true);
248
+ });
249
+ const turnOff = jest.fn().mockImplementation(() => {
250
+ state.deviceStatus = 'off';
251
+ mockLight.deviceStatus = state.deviceStatus;
252
+ return Promise.resolve(true);
253
+ });
254
+ const setBrightness = jest.fn().mockImplementation((brightness) => {
255
+ state.brightness = brightness;
256
+ mockLight.brightness = state.brightness;
257
+ return Promise.resolve(true);
258
+ });
259
+ const setColorTemperature = jest.fn().mockImplementation((colorTemp) => {
260
+ state.colorTemp = colorTemp;
261
+ mockLight.colorTemp = state.colorTemp;
262
+ return Promise.resolve(true);
263
+ });
264
+ const setColor = jest.fn().mockImplementation((hue, saturation) => {
265
+ state.hue = hue;
266
+ state.saturation = saturation;
267
+ mockLight.hue = state.hue;
268
+ mockLight.saturation = state.saturation;
269
+ return Promise.resolve(true);
270
+ });
271
+ const getDetails = jest.fn().mockImplementation(() => {
272
+ return Promise.resolve({
273
+ deviceStatus: state.deviceStatus,
274
+ brightness: state.brightness,
275
+ colorTemp: state.colorTemp,
276
+ hue: state.hue,
277
+ saturation: state.saturation,
278
+ });
279
+ });
280
+ const mockLight = {
281
+ deviceName: options.deviceName,
282
+ deviceType: options.deviceType,
283
+ cid: options.cid,
284
+ uuid: options.uuid,
285
+ deviceStatus: state.deviceStatus,
286
+ brightness: state.brightness,
287
+ colorTemp: state.colorTemp,
288
+ hue: state.hue,
289
+ saturation: state.saturation,
290
+ subDeviceNo: options.subDeviceNo || 0,
291
+ isSubDevice: options.isSubDevice || false,
292
+ deviceRegion: 'US',
293
+ configModule: 'Light',
294
+ macId: '00:11:22:33:44:55',
295
+ deviceCategory: 'light',
296
+ connectionStatus: 'online',
297
+ setApiBaseUrl: jest.fn(),
298
+ turnOn,
299
+ turnOff,
300
+ setBrightness,
301
+ setColorTemperature,
302
+ setColor,
303
+ getDetails,
304
+ };
305
+ return mockLight;
306
+ }
307
+ exports.createMockLight = createMockLight;
308
+ /**
309
+ * Creates a mock fan instance for testing
310
+ */
311
+ const createMockFan = (config = {}) => {
312
+ const state = {
313
+ deviceStatus: 'on',
314
+ speed: config.speed || 3,
315
+ rotationDirection: config.rotationDirection || 'clockwise',
316
+ swingMode: config.swingMode || false,
317
+ childLock: config.childLock || false,
318
+ };
319
+ const mockFan = {
320
+ deviceName: config.deviceName || 'Test Fan',
321
+ deviceType: config.deviceType || 'LTF-F422',
322
+ cid: config.cid || 'test-cid',
323
+ uuid: config.uuid || 'test-uuid',
324
+ deviceStatus: state.deviceStatus,
325
+ speed: state.speed,
326
+ maxSpeed: 5,
327
+ rotationDirection: state.rotationDirection,
328
+ swingMode: state.swingMode,
329
+ childLock: state.childLock,
330
+ subDeviceNo: 0,
331
+ isSubDevice: false,
332
+ deviceRegion: 'US',
333
+ configModule: 'Fan',
334
+ macId: '00:11:22:33:44:55',
335
+ deviceCategory: 'fan',
336
+ connectionStatus: 'online',
337
+ getDetails: jest.fn().mockImplementation(async () => {
338
+ return {
339
+ deviceStatus: state.deviceStatus,
340
+ speed: state.speed,
341
+ rotationDirection: state.rotationDirection,
342
+ swingMode: state.swingMode,
343
+ childLock: state.childLock,
344
+ };
345
+ }),
346
+ setApiBaseUrl: jest.fn(),
347
+ turnOn: jest.fn().mockImplementation(async () => {
348
+ state.deviceStatus = 'on';
349
+ mockFan.deviceStatus = state.deviceStatus;
350
+ return true;
351
+ }),
352
+ turnOff: jest.fn().mockImplementation(async () => {
353
+ state.deviceStatus = 'off';
354
+ mockFan.deviceStatus = state.deviceStatus;
355
+ return true;
356
+ }),
357
+ changeFanSpeed: jest.fn().mockImplementation(async (speed) => {
358
+ state.speed = speed;
359
+ mockFan.speed = state.speed;
360
+ return true;
361
+ }),
362
+ setRotationDirection: jest.fn().mockImplementation(async (direction) => {
363
+ state.rotationDirection = direction;
364
+ mockFan.rotationDirection = state.rotationDirection;
365
+ return true;
366
+ }),
367
+ setSwingMode: jest.fn().mockImplementation(async (enabled) => {
368
+ state.swingMode = enabled;
369
+ mockFan.swingMode = state.swingMode;
370
+ return true;
371
+ }),
372
+ setChildLock: jest.fn().mockImplementation(async (enabled) => {
373
+ state.childLock = enabled;
374
+ mockFan.childLock = state.childLock;
375
+ return true;
376
+ }),
377
+ };
378
+ return mockFan;
379
+ };
380
+ exports.createMockFan = createMockFan;
381
+ //# sourceMappingURL=test-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../../src/__tests__/utils/test-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"base.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/base.accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAKlF,8BAAsB,aAAa;IACjC,SAAS,CAAC,OAAO,EAAG,OAAO,CAAC;IAC5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,cAAc,CAAS;gBAG7B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,qBAAqB;IAkC/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;cACa,SAAS,CAAC,CAAC,EACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,CAAC,CAAC;IAsBb;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI;IAEvC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,qBAAqB,IAAI,kBAAkB;IAE9D;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,MAAM;IAgBjC;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBxC;;OAEG;YACW,qBAAqB;IAgBnC;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAwB9B;;OAEG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI;IAI7B;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIrD;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC7C;;OAEG;IACH,SAAS,CAAC,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ1D;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAC3B,cAAc,EAAE,GAAG,EACnB,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,EAC1C,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,EACrD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI;IAwDP;;OAEG;IACH,SAAS,CAAC,yBAAyB,CACjC,cAAc,EAAE,GAAG,EACnB,KAAK,EAAE,mBAAmB,GACzB,IAAI;IAUP;;OAEG;cACa,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9E;;OAEG;cACa,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BtF"}
1
+ {"version":3,"file":"base.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/base.accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAKlF,8BAAsB,aAAa;IACjC,SAAS,CAAC,OAAO,EAAG,OAAO,CAAC;IAC5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAC9C,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAChD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,qBAAqB,CAAgB;IAC7C,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,cAAc,CAAS;gBAG7B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,qBAAqB;IAkC/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;cACa,SAAS,CAAC,CAAC,EACzB,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,CAAC,CAAC;IAyBb;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI;IAEvC;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,0BAA0B,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1E;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,qBAAqB,IAAI,kBAAkB;IAE9D;;OAEG;IACH,SAAS,CAAC,aAAa,IAAI,MAAM;IAgBjC;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBxC;;OAEG;YACW,qBAAqB;IAgBnC;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAwB9B;;OAEG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI;IAI7B;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAIrD;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC7C;;OAEG;IACH,SAAS,CAAC,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAQ1D;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAC3B,cAAc,EAAE,GAAG,EACnB,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,EAC1C,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,EACrD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,IAAI;IAwDP;;OAEG;IACH,SAAS,CAAC,yBAAyB,CACjC,cAAc,EAAE,GAAG,EACnB,KAAK,EAAE,mBAAmB,GACzB,IAAI;IAUP;;OAEG;cACa,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9E;;OAEG;cACa,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BtF"}
@@ -43,9 +43,12 @@ class BaseAccessory {
43
43
  const context = this.getLogContext(operationName);
44
44
  this.logger.operationStart(context);
45
45
  try {
46
- const result = await this.retryManager.execute(operation, {
47
- deviceName: this.device.deviceName,
48
- operation: operationName,
46
+ // Use platform's token refresh wrapper
47
+ const result = await this.platform.withTokenRefresh(async () => {
48
+ return await this.retryManager.execute(operation, {
49
+ deviceName: this.device.deviceName,
50
+ operation: operationName,
51
+ });
49
52
  });
50
53
  this.logger.operationEnd(context);
51
54
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"base.accessory.js","sourceRoot":"","sources":["../../src/accessories/base.accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.accessory.js","sourceRoot":"","sources":["../../src/accessories/base.accessory.ts"],"names":[],"mappings":"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"}