homebridge-tsvesync 1.4.8 โ†’ 1.4.9

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,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.4.9 (2026-03-30)
4
+
5
+ ### Fixed
6
+ - **๐Ÿ’ง Dual 200S Mode, Mist, and Humidity Control**: Corrected HomeKit target-state mapping for Dual 200S / LUH-D301S humidifiers, constrained mist control to the two supported levels, and switches to manual mode before applying mist-speed changes so Home commands match actual device behavior.
7
+ - **๐ŸŽฏ Humidity Slider Stability**: Prevented target-humidity snap-back by keeping the commanded humidity in memory, updating the humidity field the getter actually reads, and syncing `Active` immediately when humidity changes power the unit on.
8
+ - **๐Ÿ•’ Stale Mode Override Expiry**: Expires the temporary commanded-mode override after 30 seconds so HomeKit stays stable during eventual consistency without masking later mode changes from the VeSync app.
9
+
10
+ ### Changed
11
+ - **๐Ÿงฑ Build Scope**: Excluded test files from the production TypeScript build to avoid type-check failures caused by local/Homebridge test-only type differences.
12
+
13
+ ### Tests
14
+ - **๐Ÿงช Dual 200S Regression Coverage**: Expanded humidifier write-consistency coverage around target humidity and stale-response behavior so the plugin-side Dual 200S fixes stay locked in.
15
+
16
+ ### Dependencies
17
+ - **๐Ÿ“ฆ tsvesync**: Updated to 1.4.9 for the Dual 200S humidifier bypass write-method fix.
18
+
3
19
  ## 1.4.8 (2026-03-27)
4
20
 
5
21
  ### Fixed
@@ -5,6 +5,7 @@ import { DeviceCapabilities, VeSyncHumidifier } from '../types/device.types';
5
5
  export declare class HumidifierAccessory extends BaseAccessory {
6
6
  protected readonly device: VeSyncHumidifier;
7
7
  private capabilities;
8
+ private isHumidDual200S;
8
9
  private isHumid200S;
9
10
  private isHumid200300S;
10
11
  private isHumid1000S;
@@ -12,7 +13,13 @@ export declare class HumidifierAccessory extends BaseAccessory {
12
13
  private lightService?;
13
14
  private temperatureService?;
14
15
  private filterService?;
16
+ private _lastCommandedMode;
17
+ private _lastCommandedModeTime;
15
18
  constructor(platform: TSVESyncPlatform, accessory: PlatformAccessory, device: VeSyncHumidifier);
19
+ /**
20
+ * Detect if the device is a HumidDual200S (or regional variant LUH-D301S)
21
+ */
22
+ private detectHumidDual200S;
16
23
  /**
17
24
  * Detect if the device is a Humid200S
18
25
  */
@@ -29,6 +36,20 @@ export declare class HumidifierAccessory extends BaseAccessory {
29
36
  * Detect if the device is a Superior6000S
30
37
  */
31
38
  private detectSuperior6000S;
39
+ /**
40
+ * Convert a VeSync mode string to a HomeKit TargetHumidifierDehumidifierState value.
41
+ *
42
+ * For Dual200S the mapping is swapped so that VeSync "auto" (which needs a
43
+ * humidity target) lands on HomeKit state 1 (HUMIDIFIER / "Humidity" in the
44
+ * Home app) where Apple shows the humidity slider, and VeSync "manual"
45
+ * (fixed mist, no target) lands on state 0 ("Auto", no slider).
46
+ */
47
+ private modeToTargetState;
48
+ /**
49
+ * Convert a HomeKit TargetHumidifierDehumidifierState value to a VeSync mode.
50
+ * Inverse of modeToTargetState.
51
+ */
52
+ private targetStateToMode;
32
53
  protected setupService(): void;
33
54
  /**
34
55
  * Set up night light service for devices that support it
@@ -1 +1 @@
1
- {"version":3,"file":"humidifier.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/humidifier.accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA6E7E,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAC5C,OAAO,CAAC,YAAY,CAAqB;IAGzC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,eAAe,CAAU;IAGjC,OAAO,CAAC,YAAY,CAAC,CAAU;IAC/B,OAAO,CAAC,kBAAkB,CAAC,CAAU;IACrC,OAAO,CAAC,aAAa,CAAC,CAAU;gBAG9B,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,gBAAgB;IAsC1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwB3B,SAAS,CAAC,YAAY,IAAI,IAAI;IA2H9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;OAEG;YACW,cAAc;IAW5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmC1B;;OAEG;YACW,yBAAyB;IAYvC;;OAEG;YACW,kBAAkB;IAYhC;;OAEG;YACW,eAAe;IAO7B;;OAEG;YACW,eAAe;IAoB7B;;OAEG;YACW,uBAAuB;IAMrC;;OAEG;YACW,uBAAuB;IAmBrC;;OAEG;cACa,0BAA0B,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCvE,OAAO,CAAC,0BAA0B;IA6KlC,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;YAcvC,SAAS;YA4BT,SAAS;YAwFT,gBAAgB;YAqBhB,cAAc;YA4Fd,sBAAsB;IAmFpC;;OAEG;IACH;;OAEG;YACW,iBAAiB;IAsB/B;;OAEG;YACW,iBAAiB;IAkE/B,OAAO,CAAC,gCAAgC;CAWzC"}
1
+ {"version":3,"file":"humidifier.accessory.d.ts","sourceRoot":"","sources":["../../src/accessories/humidifier.accessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AA8E7E,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAC5C,OAAO,CAAC,YAAY,CAAqB;IAGzC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,eAAe,CAAU;IAGjC,OAAO,CAAC,YAAY,CAAC,CAAU;IAC/B,OAAO,CAAC,kBAAkB,CAAC,CAAU;IACrC,OAAO,CAAC,aAAa,CAAC,CAAU;IAIhC,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,sBAAsB,CAAa;gBAGzC,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,gBAAgB;IAyC1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAOzB,SAAS,CAAC,YAAY,IAAI,IAAI;IAkH9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;OAEG;YACW,cAAc;IAW5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmC1B;;OAEG;YACW,yBAAyB;IAYvC;;OAEG;YACW,kBAAkB;IAYhC;;OAEG;YACW,eAAe;IAO7B;;OAEG;YACW,eAAe;IAoB7B;;OAEG;YACW,uBAAuB;IAMrC;;OAEG;YACW,uBAAuB;IAmBrC;;OAEG;cACa,0BAA0B,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCvE,OAAO,CAAC,0BAA0B;IAgLlC,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;YAcvC,SAAS;YA4BT,SAAS;YAwFT,gBAAgB;YA+BhB,cAAc;YAyFd,sBAAsB;IAkGpC;;OAEG;IACH;;OAEG;YACW,iBAAiB;IAsB/B;;OAEG;YACW,iBAAiB;IA8D/B,OAAO,CAAC,gCAAgC;CAWzC"}
@@ -5,6 +5,10 @@ const base_accessory_1 = require("./base.accessory");
5
5
  class HumidifierAccessory extends base_accessory_1.BaseAccessory {
6
6
  constructor(platform, accessory, device) {
7
7
  super(platform, accessory, device);
8
+ // Tracks the last mode we commanded, to protect against stale API responses.
9
+ // Expires after 30s so out-of-band changes (VeSync app) are not masked.
10
+ this._lastCommandedMode = null;
11
+ this._lastCommandedModeTime = 0;
8
12
  this.device = device;
9
13
  // Initialize capabilities with default values to prevent undefined
10
14
  this.capabilities = {
@@ -18,13 +22,17 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
18
22
  hasChildLock: true,
19
23
  hasSwingMode: false,
20
24
  };
21
- // Detect device type
25
+ // Detect device type โ€” order matters: specific types first
26
+ this.isHumidDual200S = this.detectHumidDual200S();
22
27
  this.isHumid200S = this.detectHumid200S();
23
28
  this.isHumid200300S = this.detectHumid200300S();
24
29
  this.isHumid1000S = this.detectHumid1000S();
25
30
  this.isSuperior6000S = this.detectSuperior6000S();
26
31
  // Log detected device type
27
- if (this.isHumid200S) {
32
+ if (this.isHumidDual200S) {
33
+ this.platform.log.debug(`Detected Dual200S device: ${this.device.deviceName}`);
34
+ }
35
+ else if (this.isHumid200S) {
28
36
  this.platform.log.debug(`Detected Humid200S device: ${this.device.deviceName}`);
29
37
  }
30
38
  else if (this.isHumid200300S) {
@@ -40,6 +48,13 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
40
48
  this.platform.log.debug(`Unknown humidifier type: ${this.device.deviceName}, using default implementation`);
41
49
  }
42
50
  }
51
+ /**
52
+ * Detect if the device is a HumidDual200S (or regional variant LUH-D301S)
53
+ */
54
+ detectHumidDual200S() {
55
+ const deviceType = this.device.deviceType.toUpperCase();
56
+ return deviceType.includes('DUAL200S') || deviceType.includes('LUH-D301S');
57
+ }
43
58
  /**
44
59
  * Detect if the device is a Humid200S
45
60
  */
@@ -49,7 +64,11 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
49
64
  if (deviceType.includes('CLASSIC200S')) {
50
65
  return true;
51
66
  }
52
- // Check for mist level range 1-3 which is specific to Humid200S
67
+ // Check for mist level range 1-3 which is specific to Humid200S,
68
+ // but exclude Dual200S which also has low mist levels
69
+ if (this.isHumidDual200S) {
70
+ return false;
71
+ }
53
72
  const extendedDevice = this.device;
54
73
  if (extendedDevice.mistLevel !== undefined && extendedDevice.mistLevel <= 3) {
55
74
  return true;
@@ -68,7 +87,7 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
68
87
  }
69
88
  // Check device type for Classic300S or Dual200S
70
89
  const deviceType = this.device.deviceType.toUpperCase();
71
- if (deviceType.includes('CLASSIC300S') || deviceType.includes('DUAL200S')) {
90
+ if (deviceType.includes('CLASSIC300S') || this.isHumidDual200S) {
72
91
  return true;
73
92
  }
74
93
  // Check for LUH-A601S, LUH-A602S, LUH-O451S, LUH-O601S series
@@ -123,17 +142,63 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
123
142
  }
124
143
  return false;
125
144
  }
145
+ /**
146
+ * Convert a VeSync mode string to a HomeKit TargetHumidifierDehumidifierState value.
147
+ *
148
+ * For Dual200S the mapping is swapped so that VeSync "auto" (which needs a
149
+ * humidity target) lands on HomeKit state 1 (HUMIDIFIER / "Humidity" in the
150
+ * Home app) where Apple shows the humidity slider, and VeSync "manual"
151
+ * (fixed mist, no target) lands on state 0 ("Auto", no slider).
152
+ */
153
+ modeToTargetState(mode) {
154
+ // Prefer last commanded mode to protect against stale API responses.
155
+ // Clear the override once the device reports the same mode (caught up).
156
+ let effectiveMode = mode;
157
+ if (this._lastCommandedMode !== null) {
158
+ const elapsed = Date.now() - this._lastCommandedModeTime;
159
+ if (mode === this._lastCommandedMode || elapsed > 30000) {
160
+ this._lastCommandedMode = null;
161
+ }
162
+ else {
163
+ this.platform.log.debug(`Using commanded mode '${this._lastCommandedMode}' instead of device-reported '${mode}'`);
164
+ effectiveMode = this._lastCommandedMode;
165
+ }
166
+ }
167
+ if (this.isHumidDual200S) {
168
+ return effectiveMode === 'auto' ? 1 : 0;
169
+ }
170
+ return effectiveMode === 'auto' ? 0 : 1;
171
+ }
172
+ /**
173
+ * Convert a HomeKit TargetHumidifierDehumidifierState value to a VeSync mode.
174
+ * Inverse of modeToTargetState.
175
+ */
176
+ targetStateToMode(value) {
177
+ if (this.isHumidDual200S) {
178
+ return value === 1 ? 'auto' : 'manual';
179
+ }
180
+ return value === 0 ? 'auto' : 'manual';
181
+ }
126
182
  setupService() {
127
183
  // No need to check for capabilities initialization since we set defaults in constructor
128
184
  // Get or create the humidifier service
129
185
  this.service = this.accessory.getService(this.platform.Service.HumidifierDehumidifier) ||
130
186
  this.accessory.addService(this.platform.Service.HumidifierDehumidifier);
131
- // Initialize all characteristics with explicit values
187
+ // Initialize characteristics
132
188
  this.service.updateCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity, 40);
133
189
  this.service.updateCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold, 60);
134
190
  this.service.updateCharacteristic(this.platform.Characteristic.CurrentHumidifierDehumidifierState, 1);
135
191
  this.service.updateCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState, 1);
136
- this.platform.log.debug('Initialized humidifier characteristics with explicit values');
192
+ // Register humidity handlers IMMEDIATELY after updateCharacteristic โ€” no separation.
193
+ // The updateCharacteristic creates the instance; onGet/onSet must be on that same instance.
194
+ this.service
195
+ .getCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold)
196
+ .setProps({ minValue: 30, maxValue: 80, minStep: 1 })
197
+ .onGet(this.getTargetHumidity.bind(this))
198
+ .onSet(async (value) => {
199
+ this.platform.log.info(`Setting target humidity to ${value}% for ${this.device.deviceName}`);
200
+ await this.setTargetHumidity(value);
201
+ });
137
202
  // Set up required characteristics
138
203
  this.setupCharacteristic(this.platform.Characteristic.Active, this.getActive.bind(this), this.setActive.bind(this));
139
204
  // Set up target state characteristic for mode mapping
@@ -149,38 +214,28 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
149
214
  targetStateChar.setProps({
150
215
  validValues: supportsAutoMode ? [0, 1] : [1]
151
216
  });
152
- this.setupCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState, async () => extendedDevice.mode === 'auto' ? 0 : 1, this.setTargetState.bind(this));
217
+ this.setupCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState, async () => this.modeToTargetState(extendedDevice.mode), this.setTargetState.bind(this));
153
218
  // Set up rotation speed characteristic
154
219
  this.setupCharacteristic(this.platform.Characteristic.RotationSpeed, this.getRotationSpeed.bind(this), this.handleSetRotationSpeed.bind(this));
220
+ // Constrain rotation speed to 2 steps for Dual200S (Low=50%, High=100%)
221
+ if (this.isHumidDual200S) {
222
+ const rotationSpeedChar = this.service.getCharacteristic(this.platform.Characteristic.RotationSpeed);
223
+ rotationSpeedChar.setProps({
224
+ minValue: 0,
225
+ maxValue: 100,
226
+ minStep: 50,
227
+ });
228
+ }
155
229
  // Add Name characteristic
156
230
  this.setupCharacteristic(this.platform.Characteristic.Name, async () => this.device.deviceName);
157
- // Add Current Relative Humidity if supported
231
+ // CurrentRelativeHumidity getter
158
232
  if (this.capabilities && this.capabilities.hasHumidity) {
159
- if (!this.service.testCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity)) {
160
- this.service.addCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity);
161
- }
162
- // Add Target Relative Humidity characteristic
163
- if (!this.service.testCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold)) {
164
- this.service.addCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold);
165
- }
166
- // Configure the target humidity characteristic with proper properties
167
- const targetHumidityChar = this.service.getCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold);
168
- targetHumidityChar.setProps({
169
- minValue: 30,
170
- maxValue: 80,
171
- minStep: 1
172
- });
173
- // Set an initial value to ensure the characteristic is not blank
174
- targetHumidityChar.updateValue(45);
175
- this.platform.log.debug(`Configured RelativeHumidityHumidifierThreshold characteristic with initial value 45%`);
176
- // Set up handlers for target humidity
177
- this.setupCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold, this.getTargetHumidity.bind(this), this.setTargetHumidity.bind(this));
178
- // Immediately get and set the actual target humidity to ensure it's displayed correctly
179
- this.getTargetHumidity().then(targetHumidity => {
180
- this.platform.log.debug(`Initial target humidity value: ${targetHumidity}%`);
181
- targetHumidityChar.updateValue(targetHumidity);
182
- }).catch(error => {
183
- this.platform.log.warn(`Failed to get initial target humidity: ${error}`);
233
+ this.service
234
+ .getCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity)
235
+ .onGet(async () => {
236
+ var _a, _b, _c;
237
+ const extDev = this.device;
238
+ return (_c = (_a = extDev.currentHumidity) !== null && _a !== void 0 ? _a : (_b = extDev.details) === null || _b === void 0 ? void 0 : _b.current_humidity) !== null && _c !== void 0 ? _c : 0;
184
239
  });
185
240
  }
186
241
  // Add Water Level characteristic if supported (mapping inferred from water_lacks/water_tank_lifted)
@@ -406,10 +461,14 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
406
461
  }
407
462
  }
408
463
  this.service.updateCharacteristic(this.platform.Characteristic.CurrentHumidifierDehumidifierState, currentState);
409
- this.service.updateCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState, extendedDevice.mode === 'auto' ? 0 : 1);
464
+ this.service.updateCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState, this.modeToTargetState(extendedDevice.mode));
410
465
  let rotationSpeed = 0;
411
466
  if (isActive) {
412
- if (this.isHumid200300S && extendedDevice.mistLevel !== undefined) {
467
+ if (this.isHumidDual200S && extendedDevice.mistLevel !== undefined) {
468
+ // Dual200S has 2 levels: 1 (Low) = 50%, 2 (High) = 100%
469
+ rotationSpeed = extendedDevice.mistLevel === 1 ? 50 : 100;
470
+ }
471
+ else if (this.isHumid200300S && extendedDevice.mistLevel !== undefined) {
413
472
  const mistLevel = extendedDevice.mistLevel;
414
473
  this.platform.log.debug(`Device ${this.device.deviceName} mist level: ${mistLevel}`);
415
474
  switch (mistLevel) {
@@ -633,6 +692,14 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
633
692
  }
634
693
  }
635
694
  async getRotationSpeed() {
695
+ const extendedDevice = this.device;
696
+ if (this.isHumidDual200S) {
697
+ const level = extendedDevice.mistLevel;
698
+ if (level === undefined || level === null || level === 0) {
699
+ return 0;
700
+ }
701
+ return level === 1 ? 50 : 100;
702
+ }
636
703
  if (this.device.speed === undefined || this.device.speed === null) {
637
704
  return 0;
638
705
  }
@@ -664,28 +731,23 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
664
731
  throw new Error('Failed to turn on device before changing mode');
665
732
  }
666
733
  }
667
- // Map HomeKit target states to device modes
668
- let mode = 'manual'; // Default to manual mode
669
- switch (value) {
670
- case 0: // Auto
671
- mode = 'auto';
672
- break;
673
- case 1: // Humidifier
674
- mode = 'manual';
675
- break;
676
- case 2: // Dehumidifier (not supported, but we'll handle it gracefully)
677
- this.platform.log.warn(`Dehumidifier mode not supported for device: ${this.device.deviceName}, using manual mode instead`);
678
- mode = 'manual';
679
- break;
680
- default:
681
- this.platform.log.warn(`Unknown target state value: ${value}, using manual mode as default`);
682
- mode = 'manual';
734
+ let mode;
735
+ if (value === 2) {
736
+ this.platform.log.warn(`Dehumidifier mode not supported for device: ${this.device.deviceName}, using manual mode instead`);
737
+ mode = 'manual';
738
+ }
739
+ else if (value === 0 || value === 1) {
740
+ mode = this.targetStateToMode(value);
741
+ }
742
+ else {
743
+ this.platform.log.warn(`Unknown target state value: ${value}, using manual mode as default`);
744
+ mode = 'manual';
683
745
  }
684
746
  // Check current mode first
685
747
  if (device.mode === mode) {
686
748
  this.platform.log.debug(`Device ${this.device.deviceName} is already in ${mode} mode, skipping API call`);
687
749
  // Update target state to reflect the current mode
688
- const targetState = mode === 'auto' ? 0 : 1;
750
+ const targetState = this.modeToTargetState(mode);
689
751
  this.updateCharacteristicValue(this.platform.Characteristic.TargetHumidifierDehumidifierState, targetState);
690
752
  return;
691
753
  }
@@ -729,6 +791,9 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
729
791
  if (!success) {
730
792
  throw new Error(`Failed to set device mode to ${mode}`);
731
793
  }
794
+ // Track commanded mode so stale getDetails() responses don't revert HomeKit
795
+ this._lastCommandedMode = mode;
796
+ this._lastCommandedModeTime = Date.now();
732
797
  this.applyDeviceStatesToHomeKit(this.device);
733
798
  }
734
799
  catch (error) {
@@ -748,9 +813,13 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
748
813
  }
749
814
  return;
750
815
  }
751
- // Convert HomeKit percentage (0-100) to device speed (1-9)
816
+ // Convert percentage to mist level based on device type
752
817
  let speed;
753
- if (percentage <= 11) {
818
+ if (this.isHumidDual200S) {
819
+ // Dual200S: 2 levels โ€” 1-50% = Low (1), 51-100% = High (2)
820
+ speed = percentage <= 50 ? 1 : 2;
821
+ }
822
+ else if (percentage <= 11) {
754
823
  speed = 1;
755
824
  }
756
825
  else if (percentage <= 22) {
@@ -780,6 +849,18 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
780
849
  // Adjust speed based on device type
781
850
  const extendedDevice = this.device;
782
851
  let success = false;
852
+ // Dual200S: adjusting speed while in auto mode implies the user wants manual control
853
+ if (this.isHumidDual200S && extendedDevice.mode === 'auto') {
854
+ this.platform.log.debug(`Switching Dual200S to manual mode before setting mist level: ${this.device.deviceName}`);
855
+ if (typeof extendedDevice.setManualMode === 'function') {
856
+ await extendedDevice.setManualMode();
857
+ }
858
+ else if (typeof extendedDevice.setMode === 'function') {
859
+ await extendedDevice.setMode('manual');
860
+ }
861
+ this._lastCommandedMode = 'manual';
862
+ this._lastCommandedModeTime = Date.now();
863
+ }
783
864
  // For Humid200S devices, limit mist level to 1-3
784
865
  if (this.isHumid200S) {
785
866
  // Limit speed to 1-3 for Humid200S devices
@@ -846,7 +927,6 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
846
927
  * Set target humidity level
847
928
  */
848
929
  async setTargetHumidity(value) {
849
- var _a;
850
930
  try {
851
931
  const targetHumidity = value;
852
932
  this.platform.log.debug(`Setting target humidity to ${targetHumidity}% for device: ${this.device.deviceName}`);
@@ -858,6 +938,8 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
858
938
  if (!turnOnSuccess) {
859
939
  throw new Error('Failed to turn on device before setting humidity');
860
940
  }
941
+ // Sync Active state immediately so HomeKit tile reflects power-on
942
+ this.service.updateCharacteristic(this.platform.Characteristic.Active, 1);
861
943
  }
862
944
  let success = false;
863
945
  // Try to set humidity using the appropriate method
@@ -877,18 +959,16 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
877
959
  if (!success) {
878
960
  throw new Error(`Failed to set target humidity to ${targetHumidity}%`);
879
961
  }
880
- // Refresh device details to get the latest state
881
- if (typeof extendedDevice.getDetails === 'function') {
882
- await extendedDevice.getDetails();
883
- // Log the target humidity after setting
884
- const currentTarget = ((_a = extendedDevice.details) === null || _a === void 0 ? void 0 : _a.target_humidity) || extendedDevice.targetHumidity;
885
- this.platform.log.debug(`Device ${this.device.deviceName} target humidity after setting: ${currentTarget}%`);
962
+ // Push the commanded value to HomeKit and update in-memory state.
963
+ // Do NOT call getDetails/updateDeviceSpecificStates here โ€” the API
964
+ // returns stale target humidity, causing the slider to snap back.
965
+ // The next polling cycle will eventually sync the actual value.
966
+ if (extendedDevice.details) {
967
+ extendedDevice.details.target_humidity = targetHumidity;
968
+ // Humid200300S's humidity getter reads auto_target_humidity
969
+ extendedDevice.details.auto_target_humidity = targetHumidity;
886
970
  }
887
- // Update the target humidity characteristic
888
971
  this.service.updateCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold, targetHumidity);
889
- // Update device state and characteristics
890
- await this.updateDeviceSpecificStates(this.device);
891
- // Persist the target humidity
892
972
  await this.persistDeviceState('targetHumidity', targetHumidity);
893
973
  }
894
974
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"humidifier.accessory.js","sourceRoot":"","sources":["../../src/accessories/humidifier.accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"humidifier.accessory.js","sourceRoot":"","sources":["../../src/accessories/humidifier.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.8",
3
+ "version": "1.4.9",
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.8"
101
+ "tsvesync": "1.4.9"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@types/jest": "^29.5.11",