homebridge-tsvesync 1.4.10 → 1.4.11

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.4.11 (2026-07-08)
4
+
5
+ ### Fixed
6
+ - **Vital/Everest Offline Refreshes**: Lets LAP-V and LAP-EL purifier accessories refresh details even when VeSync's device list reports them offline, preserving the `1.4.10` offline-skip behavior for generic devices while allowing these purifiers to recover accurate state.
7
+ - **Air Quality Parent Refreshes**: Applies the same offline-refresh opt-in to parent purifier detail refreshes used by air-quality accessories, avoiding stale HomeKit readings for affected Vital/Everest devices.
8
+
9
+ ### Tests
10
+ - **Offline Refresh Regression Coverage**: Adds base-accessory tests for generic offline skips, Vital/Everest refresh opt-ins, device-level opt-ins, and initialization behavior.
11
+
12
+ ### Dependencies
13
+ - **tsvesync**: Updated to 1.4.11 for the matching Vital/Everest offline detail polling opt-in.
14
+
3
15
  ## 1.4.10 (2026-07-07)
4
16
 
5
17
  ### Fixed
@@ -212,7 +212,7 @@ class AirQualitySensorAccessory extends base_accessory_1.BaseAccessory {
212
212
  try {
213
213
  // Make sure device data is current
214
214
  const extendedDevice = this.parentDevice;
215
- if (this.isDeviceOffline(extendedDevice)) {
215
+ if (this.shouldSkipDeviceDetailsRefresh(extendedDevice)) {
216
216
  this.platform.log.debug(`${this.device.deviceName} AQ: Skipping refresh because parent device is offline`);
217
217
  }
218
218
  else if (!this.hasFreshDeviceDetails() && typeof extendedDevice.getDetails === 'function') {
@@ -1 +1 @@
1
- {"version":3,"file":"air-quality-sensor.accessory.js","sourceRoot":"","sources":["../../src/accessories/air-quality-sensor.accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"air-quality-sensor.accessory.js","sourceRoot":"","sources":["../../src/accessories/air-quality-sensor.accessory.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,8 @@ export declare abstract class BaseAccessory {
46
46
  private lastDetailsFetch;
47
47
  private readonly CACHE_TTL;
48
48
  protected isDeviceOffline(device?: any): boolean;
49
+ protected shouldRefreshDetailsWhenOffline(device?: any): boolean;
50
+ protected shouldSkipDeviceDetailsRefresh(device?: any): boolean;
49
51
  protected hasFreshDeviceDetails(now?: number): boolean;
50
52
  protected applyCachedDeviceDetails(deviceWithDetails: any): void;
51
53
  protected cacheDeviceDetails(deviceWithDetails: any, fetchedAt?: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"base.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/base.accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/base.accessory.ts"],"names":[],"mappings":"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"}
@@ -93,7 +93,7 @@ class BaseAccessory {
93
93
  if (typeof deviceWithDetails.getDetails === 'function') {
94
94
  const now = Date.now();
95
95
  const shouldUseCache = this.hasFreshDeviceDetails(now);
96
- if (this.isDeviceOffline(deviceWithDetails)) {
96
+ if (this.shouldSkipDeviceDetailsRefresh(deviceWithDetails)) {
97
97
  this.logger.debug('Skipping device details refresh during initialization because device is offline', this.getLogContext());
98
98
  }
99
99
  else if (shouldUseCache) {
@@ -134,6 +134,16 @@ class BaseAccessory {
134
134
  isDeviceOffline(device = this.device) {
135
135
  return String((device === null || device === void 0 ? void 0 : device.connectionStatus) || '').toLowerCase() === 'offline';
136
136
  }
137
+ shouldRefreshDetailsWhenOffline(device = this.device) {
138
+ if (typeof (device === null || device === void 0 ? void 0 : device.shouldPollDetailsWhenOffline) === 'function') {
139
+ return Boolean(device.shouldPollDetailsWhenOffline());
140
+ }
141
+ const deviceType = String((device === null || device === void 0 ? void 0 : device.deviceType) || '').toUpperCase();
142
+ return deviceType.startsWith('LAP-V') || deviceType.startsWith('LAP-EL');
143
+ }
144
+ shouldSkipDeviceDetailsRefresh(device = this.device) {
145
+ return this.isDeviceOffline(device) && !this.shouldRefreshDetailsWhenOffline(device);
146
+ }
137
147
  hasFreshDeviceDetails(now = Date.now()) {
138
148
  return this.deviceDetailsCache !== null &&
139
149
  (now - this.lastDetailsFetch < this.CACHE_TTL);
@@ -157,6 +167,10 @@ class BaseAccessory {
157
167
  */
158
168
  applyUpdatedDeviceState(updatedDevice) {
159
169
  Object.assign(this.device, updatedDevice);
170
+ if (this.isDeviceOffline(this.device) && this.shouldRefreshDetailsWhenOffline(this.device)) {
171
+ this.logger.debug('Not caching offline device-list state because details refresh is still allowed', this.getLogContext());
172
+ return;
173
+ }
160
174
  this.cacheDeviceDetails(this.device);
161
175
  }
162
176
  /**
@@ -171,7 +185,7 @@ class BaseAccessory {
171
185
  if (typeof deviceWithDetails.getDetails === 'function') {
172
186
  const now = Date.now();
173
187
  const shouldUseCache = this.hasFreshDeviceDetails(now);
174
- if (this.isDeviceOffline(deviceWithDetails)) {
188
+ if (this.shouldSkipDeviceDetailsRefresh(deviceWithDetails)) {
175
189
  this.logger.debug('Skipping device details refresh because device is offline', this.getLogContext());
176
190
  }
177
191
  else if (shouldUseCache) {
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homebridge-tsvesync",
3
- "version": "1.4.10",
3
+ "version": "1.4.11",
4
4
  "description": "Homebridge plugin for VeSync devices including Levoit air purifiers, humidifiers, and Etekcity smart outlets",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -98,7 +98,7 @@
98
98
  "axios": "^1.6.5",
99
99
  "dotenv": "^16.3.1",
100
100
  "js-yaml": "^4.1.0",
101
- "tsvesync": "1.4.10"
101
+ "tsvesync": "1.4.11"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@types/jest": "^29.5.11",
@@ -68,6 +68,7 @@ describe('BaseAccessory', () => {
68
68
  mockLogger = {
69
69
  debug: jest.fn(),
70
70
  info: jest.fn(),
71
+ success: jest.fn(),
71
72
  warn: jest.fn(),
72
73
  error: jest.fn(),
73
74
  log: jest.fn(),
@@ -122,6 +123,7 @@ describe('BaseAccessory', () => {
122
123
  api: {
123
124
  updatePlatformAccessories: jest.fn().mockImplementation((accessories: PlatformAccessory[]) => {}),
124
125
  },
126
+ isReady: jest.fn().mockResolvedValue(undefined),
125
127
  config: {
126
128
  platform: 'TSVESync',
127
129
  name: 'TSVESync',
@@ -236,6 +238,63 @@ describe('BaseAccessory', () => {
236
238
  expect(updateSpy).toHaveBeenCalledWith(mockDevice);
237
239
  });
238
240
 
241
+ it('syncDeviceState skips detail refresh for generic offline devices', async () => {
242
+ mockDevice.connectionStatus = 'offline';
243
+ mockDevice.deviceType = 'ESW15-USA';
244
+ mockDevice.getDetails.mockResolvedValue(true);
245
+
246
+ await accessory.syncDeviceState();
247
+
248
+ expect(mockDevice.getDetails).not.toHaveBeenCalled();
249
+ });
250
+
251
+ it('syncDeviceState refreshes Vital devices even when the device list says offline', async () => {
252
+ mockDevice.connectionStatus = 'offline';
253
+ mockDevice.deviceType = 'LAP-V102S-AASR';
254
+ mockDevice.getDetails.mockResolvedValue(true);
255
+
256
+ await accessory.syncDeviceState();
257
+
258
+ expect(mockDevice.getDetails).toHaveBeenCalledTimes(1);
259
+ });
260
+
261
+ it('syncDeviceState honors device-level offline polling opt-in', async () => {
262
+ mockDevice.connectionStatus = 'offline';
263
+ mockDevice.deviceType = 'unknown';
264
+ mockDevice.shouldPollDetailsWhenOffline = jest.fn().mockReturnValue(true);
265
+ mockDevice.getDetails.mockResolvedValue(true);
266
+
267
+ await accessory.syncDeviceState();
268
+
269
+ expect(mockDevice.getDetails).toHaveBeenCalledTimes(1);
270
+ });
271
+
272
+ it('syncDeviceState refreshes Vital devices after an offline list update is applied', async () => {
273
+ mockDevice.connectionStatus = 'online';
274
+ mockDevice.deviceType = 'LAP-V102S-AASR';
275
+ mockDevice.getDetails.mockResolvedValue(true);
276
+
277
+ accessory.applyUpdatedDeviceState({
278
+ ...mockDevice,
279
+ connectionStatus: 'offline',
280
+ deviceStatus: 'off',
281
+ });
282
+
283
+ await accessory.syncDeviceState();
284
+
285
+ expect(mockDevice.getDetails).toHaveBeenCalledTimes(1);
286
+ });
287
+
288
+ it('initialize refreshes Everest devices even when the device list says offline', async () => {
289
+ mockDevice.connectionStatus = 'offline';
290
+ mockDevice.deviceType = 'LAP-EL551S-AUS';
291
+ mockDevice.getDetails.mockResolvedValue(true);
292
+
293
+ await accessory.initialize();
294
+
295
+ expect(mockDevice.getDetails).toHaveBeenCalledTimes(1);
296
+ });
297
+
239
298
  it('syncDeviceState swallows update errors and logs', async () => {
240
299
  jest.spyOn(accessory as any, 'updateDeviceSpecificStates').mockRejectedValueOnce(new Error('Boom'));
241
300
  await accessory.syncDeviceState();
@@ -240,7 +240,7 @@ export class AirQualitySensorAccessory extends BaseAccessory {
240
240
  try {
241
241
  // Make sure device data is current
242
242
  const extendedDevice = this.parentDevice as any;
243
- if (this.isDeviceOffline(extendedDevice)) {
243
+ if (this.shouldSkipDeviceDetailsRefresh(extendedDevice)) {
244
244
  this.platform.log.debug(`${this.device.deviceName} AQ: Skipping refresh because parent device is offline`);
245
245
  } else if (!this.hasFreshDeviceDetails() && typeof extendedDevice.getDetails === 'function') {
246
246
  await extendedDevice.getDetails();
@@ -137,7 +137,7 @@ export abstract class BaseAccessory {
137
137
  const now = Date.now();
138
138
  const shouldUseCache = this.hasFreshDeviceDetails(now);
139
139
 
140
- if (this.isDeviceOffline(deviceWithDetails)) {
140
+ if (this.shouldSkipDeviceDetailsRefresh(deviceWithDetails)) {
141
141
  this.logger.debug('Skipping device details refresh during initialization because device is offline', this.getLogContext());
142
142
  } else if (shouldUseCache) {
143
143
  this.logger.debug('Using cached device details during initialization', this.getLogContext());
@@ -183,6 +183,19 @@ export abstract class BaseAccessory {
183
183
  return String(device?.connectionStatus || '').toLowerCase() === 'offline';
184
184
  }
185
185
 
186
+ protected shouldRefreshDetailsWhenOffline(device: any = this.device): boolean {
187
+ if (typeof device?.shouldPollDetailsWhenOffline === 'function') {
188
+ return Boolean(device.shouldPollDetailsWhenOffline());
189
+ }
190
+
191
+ const deviceType = String(device?.deviceType || '').toUpperCase();
192
+ return deviceType.startsWith('LAP-V') || deviceType.startsWith('LAP-EL');
193
+ }
194
+
195
+ protected shouldSkipDeviceDetailsRefresh(device: any = this.device): boolean {
196
+ return this.isDeviceOffline(device) && !this.shouldRefreshDetailsWhenOffline(device);
197
+ }
198
+
186
199
  protected hasFreshDeviceDetails(now = Date.now()): boolean {
187
200
  return this.deviceDetailsCache !== null &&
188
201
  (now - this.lastDetailsFetch < this.CACHE_TTL);
@@ -209,6 +222,11 @@ export abstract class BaseAccessory {
209
222
  */
210
223
  public applyUpdatedDeviceState(updatedDevice: VeSyncDeviceWithPower): void {
211
224
  Object.assign(this.device as any, updatedDevice);
225
+ if (this.isDeviceOffline(this.device) && this.shouldRefreshDetailsWhenOffline(this.device)) {
226
+ this.logger.debug('Not caching offline device-list state because details refresh is still allowed', this.getLogContext());
227
+ return;
228
+ }
229
+
212
230
  this.cacheDeviceDetails(this.device as any);
213
231
  }
214
232
 
@@ -225,7 +243,7 @@ export abstract class BaseAccessory {
225
243
  const now = Date.now();
226
244
  const shouldUseCache = this.hasFreshDeviceDetails(now);
227
245
 
228
- if (this.isDeviceOffline(deviceWithDetails)) {
246
+ if (this.shouldSkipDeviceDetailsRefresh(deviceWithDetails)) {
229
247
  this.logger.debug('Skipping device details refresh because device is offline', this.getLogContext());
230
248
  } else if (shouldUseCache) {
231
249
  this.logger.debug('Using cached device details', this.getLogContext());