homebridge-tsvesync 1.4.6 โ 1.4.8
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/AGENTS.md +31 -0
- package/CHANGELOG.md +19 -0
- package/dist/__tests__/utils/test-helpers.js +2 -2
- package/dist/__tests__/utils/test-helpers.js.map +1 -1
- package/dist/accessories/humidifier.accessory.d.ts +1 -0
- package/dist/accessories/humidifier.accessory.d.ts.map +1 -1
- package/dist/accessories/humidifier.accessory.js +19 -155
- package/dist/accessories/humidifier.accessory.js.map +1 -1
- package/dist/platform.d.ts +10 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +62 -16
- package/dist/platform.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/accessories/air-purifier-filter-maintenance.test.ts +58 -21
- package/src/__tests__/accessories/air-purifier-integration.test.ts +47 -401
- package/src/__tests__/accessories/humidifier-write-consistency.test.ts +316 -0
- package/src/__tests__/base.accessory.test.ts +11 -56
- package/src/__tests__/devices/fan.test.ts +19 -5
- package/src/__tests__/devices/outlet.test.ts +7 -6
- package/src/__tests__/devices/switch.test.ts +6 -6
- package/src/__tests__/platform.test.ts +154 -414
- package/src/__tests__/utils/test-helpers.ts +2 -2
- package/src/accessories/humidifier.accessory.ts +64 -231
- package/src/platform.ts +70 -17
package/AGENTS.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Homebridge TSVeSync Agent Guide
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
- `homebridge-tsvesync` is the Homebridge/HomeKit layer on top of `tsvesync`.
|
|
5
|
+
- Source of truth is `src/`; `dist/` is generated output and should not be edited directly.
|
|
6
|
+
- Device capability changes should usually be validated in `tsvesync` first, then surfaced here through accessory/service mapping.
|
|
7
|
+
|
|
8
|
+
## Where To Look
|
|
9
|
+
- `package.json`: plugin metadata, version, scripts
|
|
10
|
+
- `src/platform.ts`: platform lifecycle and accessory registration
|
|
11
|
+
- `src/accessories/*.ts`: HomeKit service/characteristic mappings
|
|
12
|
+
- `src/utils/device-factory.ts`: model-to-accessory routing
|
|
13
|
+
- `src/types/*.ts`: device and library typing glue
|
|
14
|
+
- `src/settings.ts`: plugin configuration
|
|
15
|
+
- `src/__tests__/**`: Jest coverage for platform, accessories, and device behaviors
|
|
16
|
+
|
|
17
|
+
## Working Rules
|
|
18
|
+
- Never edit `dist/` by hand.
|
|
19
|
+
- Keep package version aligned with `tsvesync`.
|
|
20
|
+
- If a feature does not exist correctly in `tsvesync`, fix or model it there before papering over it in Homebridge.
|
|
21
|
+
- HomeKit responsiveness matters: characteristic updates, service choice, and accessory categories should match Home app behavior, not just compile.
|
|
22
|
+
- When adding a new feature or device, update the accessory mapping, device factory, types, and tests together.
|
|
23
|
+
|
|
24
|
+
## Validation
|
|
25
|
+
- Run `npm run build`.
|
|
26
|
+
- Run `npm test` for behavior changes.
|
|
27
|
+
- For HomeKit-specific issues, inspect the exact accessory/service mapping and use targeted tests rather than broad guesswork.
|
|
28
|
+
|
|
29
|
+
## Release Notes
|
|
30
|
+
- This repo normally ships with `tsvesync` on the same version.
|
|
31
|
+
- Coordinate changelog and release prep across both repos.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.4.8 (2026-03-27)
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- **๐ง Dual 200S Write Consistency**: Humidifier writes now follow the same optimistic HomeKit update pattern as the air purifier accessory, so successful power and auto-mode commands no longer log false "did not change to desired state/mode" warnings or bounce the Home app back to stale values while VeSync catches up.
|
|
7
|
+
|
|
8
|
+
### Tests
|
|
9
|
+
- **๐งช Humidifier Regression Coverage**: Added targeted stale-refresh tests for Dual 200S power and auto-mode writes to lock in the eventual-consistency behavior reported in issue #31.
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
- **๐ฆ tsvesync**: Updated to 1.4.8 for version sync (no functional changes).
|
|
13
|
+
|
|
14
|
+
## 1.4.7 (2026-02-02)
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- **๐งฝ Preserve HomeKit Automations When Devices Go Offline**: Stops unregistering accessories when a device temporarily disappears from the VeSync device list (e.g., powered off/unplugged for filter cleaning), preventing HomeKit name resets and broken automations. Accessories remain cached and should recover automatically when the device comes back online.
|
|
18
|
+
|
|
19
|
+
### Dependencies
|
|
20
|
+
- **๐ฆ tsvesync**: Updated to 1.4.7 for version sync (no functional changes).
|
|
21
|
+
|
|
3
22
|
## 1.4.6 (2026-01-25)
|
|
4
23
|
|
|
5
24
|
### Fixed
|
|
@@ -156,7 +156,7 @@ exports.createMockOutlet = createMockOutlet;
|
|
|
156
156
|
const createMockVeSync = () => {
|
|
157
157
|
return {
|
|
158
158
|
login: jest.fn().mockResolvedValue(true),
|
|
159
|
-
|
|
159
|
+
update: jest.fn().mockResolvedValue(undefined),
|
|
160
160
|
fans: [],
|
|
161
161
|
outlets: [],
|
|
162
162
|
switches: [],
|
|
@@ -170,7 +170,7 @@ const createMockVeSync = () => {
|
|
|
170
170
|
username: 'test@example.com',
|
|
171
171
|
password: 'test-password',
|
|
172
172
|
token: 'test-token',
|
|
173
|
-
|
|
173
|
+
accountId: 'test-account',
|
|
174
174
|
apiKey: 'test-key',
|
|
175
175
|
apiBase: 'test-base',
|
|
176
176
|
timezone: 'UTC',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../../src/__tests__/utils/test-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-helpers.js","sourceRoot":"","sources":["../../../src/__tests__/utils/test-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,7 @@ export declare class HumidifierAccessory extends BaseAccessory {
|
|
|
74
74
|
* Update device states based on the latest details
|
|
75
75
|
*/
|
|
76
76
|
protected updateDeviceSpecificStates(details: any): Promise<void>;
|
|
77
|
+
private applyDeviceStatesToHomeKit;
|
|
77
78
|
protected getDeviceCapabilities(): DeviceCapabilities;
|
|
78
79
|
private getActive;
|
|
79
80
|
private setActive;
|
|
@@ -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;
|
|
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"}
|
|
@@ -346,7 +346,6 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
346
346
|
* Update device states based on the latest details
|
|
347
347
|
*/
|
|
348
348
|
async updateDeviceSpecificStates(details) {
|
|
349
|
-
var _a, _b, _c, _d, _e, _f;
|
|
350
349
|
// Log the relevant details for debugging without using JSON.stringify on the entire object
|
|
351
350
|
this.platform.log.debug(`Updating device states for ${this.device.deviceName}`);
|
|
352
351
|
// Cast to extended device type
|
|
@@ -374,65 +373,45 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
374
373
|
catch (error) {
|
|
375
374
|
this.platform.log.warn(`Failed to refresh device details: ${error}`);
|
|
376
375
|
}
|
|
377
|
-
|
|
378
|
-
|
|
376
|
+
this.applyDeviceStatesToHomeKit(details);
|
|
377
|
+
}
|
|
378
|
+
applyDeviceStatesToHomeKit(details) {
|
|
379
|
+
var _a, _b, _c, _d, _e, _f;
|
|
380
|
+
const extendedDevice = this.device;
|
|
379
381
|
const isActive = this.device.deviceStatus === 'on';
|
|
380
382
|
this.platform.log.debug(`Device ${this.device.deviceName} active state: ${isActive}, Status: ${this.device.deviceStatus}`);
|
|
381
|
-
// Update active state - this is critical for HomeKit to show the correct state
|
|
382
383
|
this.service.updateCharacteristic(this.platform.Characteristic.Active, isActive ? 1 : 0);
|
|
383
|
-
|
|
384
|
-
// HomeKit states: 0 = INACTIVE, 1 = IDLE, 2 = HUMIDIFYING, 3 = DEHUMIDIFYING
|
|
385
|
-
// Mapping:
|
|
386
|
-
// - If not active -> INACTIVE (0)
|
|
387
|
-
// - If active and mode is 'manual' -> HUMIDIFYING (2)
|
|
388
|
-
// - If active and mode is 'auto' or 'sleep' -> Check if we need to be humidifying
|
|
389
|
-
let currentState = 0; // Default to INACTIVE
|
|
384
|
+
let currentState = 0;
|
|
390
385
|
if (isActive) {
|
|
391
386
|
if (extendedDevice.mode === 'manual') {
|
|
392
|
-
currentState = 2;
|
|
387
|
+
currentState = 2;
|
|
393
388
|
}
|
|
394
389
|
else if (extendedDevice.mode === 'auto' || extendedDevice.mode === 'sleep') {
|
|
395
|
-
// Get current humidity reading (actual humidity in the room)
|
|
396
390
|
const currentHumidity = extendedDevice.currentHumidity !== undefined ?
|
|
397
391
|
extendedDevice.currentHumidity :
|
|
398
392
|
((_a = extendedDevice.details) === null || _a === void 0 ? void 0 : _a.current_humidity) ||
|
|
399
393
|
0;
|
|
400
|
-
// Get target humidity (humidity setting)
|
|
401
394
|
const targetHumidity = extendedDevice.humidity ||
|
|
402
395
|
((_b = extendedDevice.configuration) === null || _b === void 0 ? void 0 : _b.auto_target_humidity) ||
|
|
403
396
|
((_c = extendedDevice.details) === null || _c === void 0 ? void 0 : _c.target_humidity) ||
|
|
404
|
-
45;
|
|
405
|
-
// In auto mode, check if we need to be humidifying
|
|
397
|
+
45;
|
|
406
398
|
if (currentHumidity < targetHumidity) {
|
|
407
|
-
currentState = 2;
|
|
399
|
+
currentState = 2;
|
|
408
400
|
this.platform.log.debug(`Auto mode: Current humidity ${currentHumidity}% is below target ${targetHumidity}%, setting state to HUMIDIFYING`);
|
|
409
401
|
}
|
|
410
402
|
else {
|
|
411
|
-
currentState = 1;
|
|
403
|
+
currentState = 1;
|
|
412
404
|
this.platform.log.debug(`Auto mode: Current humidity ${currentHumidity}% has reached target ${targetHumidity}%, setting state to IDLE`);
|
|
413
405
|
}
|
|
414
406
|
}
|
|
415
407
|
}
|
|
416
408
|
this.service.updateCharacteristic(this.platform.Characteristic.CurrentHumidifierDehumidifierState, currentState);
|
|
417
|
-
|
|
418
|
-
// HomeKit Target State: 0 = HUMIDIFIER_OR_DEHUMIDIFIER (Auto), 1 = HUMIDIFIER, 2 = DEHUMIDIFIER
|
|
419
|
-
// Mapping:
|
|
420
|
-
// - 'auto' -> HUMIDIFIER_OR_DEHUMIDIFIER (0)
|
|
421
|
-
// - 'manual' -> HUMIDIFIER (1)
|
|
422
|
-
// - 'sleep' -> HUMIDIFIER (1) (no direct mapping, default to HUMIDIFIER)
|
|
423
|
-
let targetState = 1; // Default to HUMIDIFIER
|
|
424
|
-
if (extendedDevice.mode === 'auto') {
|
|
425
|
-
targetState = 0; // HUMIDIFIER_OR_DEHUMIDIFIER
|
|
426
|
-
}
|
|
427
|
-
this.service.updateCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState, targetState);
|
|
428
|
-
// Update rotation speed - convert device speed (1-9) to HomeKit percentage (0-100)
|
|
409
|
+
this.service.updateCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState, extendedDevice.mode === 'auto' ? 0 : 1);
|
|
429
410
|
let rotationSpeed = 0;
|
|
430
|
-
// For Humid200300S devices, use mistLevel if available
|
|
431
411
|
if (isActive) {
|
|
432
412
|
if (this.isHumid200300S && extendedDevice.mistLevel !== undefined) {
|
|
433
413
|
const mistLevel = extendedDevice.mistLevel;
|
|
434
414
|
this.platform.log.debug(`Device ${this.device.deviceName} mist level: ${mistLevel}`);
|
|
435
|
-
// Convert mist level (1-9) to HomeKit percentage (0-100)
|
|
436
415
|
switch (mistLevel) {
|
|
437
416
|
case 1:
|
|
438
417
|
rotationSpeed = 11;
|
|
@@ -464,7 +443,6 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
464
443
|
}
|
|
465
444
|
}
|
|
466
445
|
else if (this.device.speed !== undefined) {
|
|
467
|
-
// Use speed for other humidifier types
|
|
468
446
|
this.platform.log.debug(`Device ${this.device.deviceName} speed: ${this.device.speed}`);
|
|
469
447
|
switch (this.device.speed) {
|
|
470
448
|
case 1:
|
|
@@ -499,67 +477,51 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
499
477
|
}
|
|
500
478
|
this.platform.log.debug(`Setting rotation speed to ${rotationSpeed}% for device: ${this.device.deviceName}`);
|
|
501
479
|
this.service.updateCharacteristic(this.platform.Characteristic.RotationSpeed, rotationSpeed);
|
|
502
|
-
// Update relative humidity if supported
|
|
503
480
|
if (this.capabilities && this.capabilities.hasHumidity) {
|
|
504
|
-
// Get current humidity reading (actual humidity in the room)
|
|
505
481
|
const currentHumidity = extendedDevice.currentHumidity !== undefined ?
|
|
506
482
|
extendedDevice.currentHumidity :
|
|
507
483
|
((_d = extendedDevice.details) === null || _d === void 0 ? void 0 : _d.current_humidity) ||
|
|
508
484
|
0;
|
|
509
|
-
// Update current humidity characteristic if we have a valid reading
|
|
510
485
|
if (currentHumidity > 0) {
|
|
511
486
|
this.service.updateCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity, currentHumidity);
|
|
512
487
|
}
|
|
513
|
-
// Get target humidity (humidity setting)
|
|
514
|
-
// According to API docs, humidifier.humidity returns auto_target_humidity from configuration
|
|
515
488
|
const targetHumidity = extendedDevice.humidity ||
|
|
516
489
|
((_e = extendedDevice.configuration) === null || _e === void 0 ? void 0 : _e.auto_target_humidity) ||
|
|
517
490
|
((_f = extendedDevice.details) === null || _f === void 0 ? void 0 : _f.target_humidity) ||
|
|
518
|
-
45;
|
|
491
|
+
45;
|
|
519
492
|
if (this.service.testCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold)) {
|
|
520
493
|
this.service.updateCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold, targetHumidity);
|
|
521
494
|
}
|
|
522
495
|
}
|
|
523
|
-
// Update water level if supported (inferred from water_lacks/water_tank_lifted)
|
|
524
496
|
if (this.capabilities && this.capabilities.hasWaterLevel) {
|
|
525
|
-
// Check for water_lacks or water_tank_lifted in details or device.details
|
|
526
497
|
const waterLacks = (details === null || details === void 0 ? void 0 : details.water_lacks) ||
|
|
527
498
|
(extendedDevice.details && extendedDevice.details.water_lacks);
|
|
528
499
|
const waterTankLifted = (details === null || details === void 0 ? void 0 : details.water_tank_lifted) ||
|
|
529
500
|
(extendedDevice.details && extendedDevice.details.water_tank_lifted);
|
|
530
501
|
const waterLow = waterLacks || waterTankLifted;
|
|
531
|
-
// Note: VeSync devices only support a boolean water_lacks property, not a percentage water level
|
|
532
|
-
// We map this to 0% or 100% for HomeKit's WaterLevel characteristic
|
|
533
502
|
if (this.service.getCharacteristic(this.platform.Characteristic.WaterLevel)) {
|
|
534
|
-
// Map water level as 0 for low water, 100 for sufficient water
|
|
535
503
|
this.service.updateCharacteristic(this.platform.Characteristic.WaterLevel, waterLow ? 0 : 100);
|
|
536
504
|
this.platform.log.debug(`Water level for ${this.device.deviceName}: ${waterLow ? 'Low (0%)' : 'OK (100%)'}`);
|
|
537
505
|
}
|
|
538
506
|
}
|
|
539
|
-
// Update night light characteristics for devices that support it
|
|
540
507
|
if ((this.isHumid200300S || this.isHumid1000S) && this.lightService) {
|
|
541
508
|
const brightness = extendedDevice.nightLightBrightness ||
|
|
542
509
|
(extendedDevice.details && extendedDevice.details.night_light_brightness) || 0;
|
|
543
|
-
// Update on/off state
|
|
544
510
|
this.lightService.updateCharacteristic(this.platform.Characteristic.On, brightness > 0);
|
|
545
|
-
// Update brightness
|
|
546
511
|
this.lightService.updateCharacteristic(this.platform.Characteristic.Brightness, brightness);
|
|
547
512
|
}
|
|
548
|
-
// Update temperature for Superior6000S
|
|
549
513
|
if (this.isSuperior6000S && this.temperatureService) {
|
|
550
514
|
const temperature = extendedDevice.temperature ||
|
|
551
515
|
(extendedDevice.details && extendedDevice.details.temperature) ||
|
|
552
|
-
20;
|
|
516
|
+
20;
|
|
553
517
|
this.temperatureService.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, temperature);
|
|
554
518
|
}
|
|
555
|
-
// Update filter life for Superior6000S
|
|
556
519
|
if (this.isSuperior6000S && this.filterService) {
|
|
557
520
|
const filterLife = extendedDevice.filterLifePercentage ||
|
|
558
521
|
(extendedDevice.details && extendedDevice.details.filter_life) ||
|
|
559
|
-
100;
|
|
522
|
+
100;
|
|
560
523
|
this.filterService.updateCharacteristic(this.platform.Characteristic.FilterLifeLevel, filterLife);
|
|
561
|
-
this.filterService.updateCharacteristic(this.platform.Characteristic.FilterChangeIndication, filterLife < 10 ? 1 : 0
|
|
562
|
-
);
|
|
524
|
+
this.filterService.updateCharacteristic(this.platform.Characteristic.FilterChangeIndication, filterLife < 10 ? 1 : 0);
|
|
563
525
|
}
|
|
564
526
|
}
|
|
565
527
|
getDeviceCapabilities() {
|
|
@@ -600,7 +562,6 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
600
562
|
return isActive ? 1 : 0;
|
|
601
563
|
}
|
|
602
564
|
async setActive(value) {
|
|
603
|
-
var _a, _b, _c;
|
|
604
565
|
try {
|
|
605
566
|
const isOn = value === 1;
|
|
606
567
|
this.platform.log.debug(`Setting device ${this.device.deviceName} to ${isOn ? 'on' : 'off'}`);
|
|
@@ -662,57 +623,10 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
662
623
|
success = await this.device.turnOff();
|
|
663
624
|
}
|
|
664
625
|
if (!success) {
|
|
665
|
-
|
|
666
|
-
}
|
|
667
|
-
// Refresh device details to get the latest state
|
|
668
|
-
if (typeof extendedDevice.getDetails === 'function') {
|
|
669
|
-
await extendedDevice.getDetails();
|
|
670
|
-
this.platform.log.debug(`Device ${this.device.deviceName} status after setting: ` +
|
|
671
|
-
`Status: ${this.device.deviceStatus}, ` +
|
|
672
|
-
`Mode: ${extendedDevice.mode}, ` +
|
|
673
|
-
`Speed: ${this.device.speed}, ` +
|
|
674
|
-
`MistLevel: ${extendedDevice.mistLevel}`);
|
|
675
|
-
}
|
|
676
|
-
// Verify the device is actually in the desired state
|
|
677
|
-
const actuallyOn = this.device.deviceStatus === 'on';
|
|
678
|
-
if (actuallyOn !== isOn) {
|
|
679
|
-
this.platform.log.warn(`Device ${this.device.deviceName} did not change to desired state. ` +
|
|
680
|
-
`Wanted: ${isOn ? 'on' : 'off'}, Actual: ${actuallyOn ? 'on' : 'off'}`);
|
|
681
|
-
}
|
|
682
|
-
// Always update HomeKit with the actual device state, not the requested state
|
|
683
|
-
this.service.updateCharacteristic(this.platform.Characteristic.Active, actuallyOn ? 1 : 0);
|
|
684
|
-
// Update current state based on the actual state and mode
|
|
685
|
-
let currentState = 0; // Default to INACTIVE
|
|
686
|
-
if (actuallyOn) {
|
|
687
|
-
if (extendedDevice.mode === 'manual') {
|
|
688
|
-
currentState = 2; // HUMIDIFYING - will show "Rising to X%"
|
|
689
|
-
}
|
|
690
|
-
else if (extendedDevice.mode === 'auto' || extendedDevice.mode === 'sleep') {
|
|
691
|
-
// Get current humidity reading (actual humidity in the room)
|
|
692
|
-
const currentHumidity = extendedDevice.currentHumidity !== undefined ?
|
|
693
|
-
extendedDevice.currentHumidity :
|
|
694
|
-
((_a = extendedDevice.details) === null || _a === void 0 ? void 0 : _a.current_humidity) ||
|
|
695
|
-
0;
|
|
696
|
-
// Get target humidity (humidity setting)
|
|
697
|
-
const targetHumidity = extendedDevice.humidity ||
|
|
698
|
-
((_b = extendedDevice.configuration) === null || _b === void 0 ? void 0 : _b.auto_target_humidity) ||
|
|
699
|
-
((_c = extendedDevice.details) === null || _c === void 0 ? void 0 : _c.target_humidity) ||
|
|
700
|
-
45; // Default to 45% if not available
|
|
701
|
-
// In auto mode, check if we need to be humidifying
|
|
702
|
-
if (currentHumidity < targetHumidity) {
|
|
703
|
-
currentState = 2; // HUMIDIFYING - will show "Rising to X%"
|
|
704
|
-
this.platform.log.debug(`Auto mode: Current humidity ${currentHumidity}% is below target ${targetHumidity}%, setting state to HUMIDIFYING`);
|
|
705
|
-
}
|
|
706
|
-
else {
|
|
707
|
-
currentState = 1; // IDLE - will show "Set to X%"
|
|
708
|
-
this.platform.log.debug(`Auto mode: Current humidity ${currentHumidity}% has reached target ${targetHumidity}%, setting state to IDLE`);
|
|
709
|
-
}
|
|
710
|
-
}
|
|
626
|
+
throw new Error(`Failed to turn ${isOn ? 'on' : 'off'} device`);
|
|
711
627
|
}
|
|
712
|
-
this.
|
|
713
|
-
|
|
714
|
-
await this.updateDeviceSpecificStates(this.device);
|
|
715
|
-
await this.persistDeviceState('deviceStatus', actuallyOn ? 'on' : 'off');
|
|
628
|
+
this.applyDeviceStatesToHomeKit(this.device);
|
|
629
|
+
await this.persistDeviceState('deviceStatus', isOn ? 'on' : 'off');
|
|
716
630
|
}
|
|
717
631
|
catch (error) {
|
|
718
632
|
this.handleDeviceError('set active state', error);
|
|
@@ -738,7 +652,6 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
738
652
|
}
|
|
739
653
|
}
|
|
740
654
|
async setTargetState(value) {
|
|
741
|
-
var _a, _b, _c;
|
|
742
655
|
try {
|
|
743
656
|
// HomeKit Target State: 0 = HUMIDIFIER_OR_DEHUMIDIFIER (Auto), 1 = HUMIDIFIER, 2 = DEHUMIDIFIER
|
|
744
657
|
this.platform.log.debug(`Setting target state to ${value} for device: ${this.device.deviceName}`);
|
|
@@ -750,11 +663,6 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
750
663
|
if (!turnOnSuccess) {
|
|
751
664
|
throw new Error('Failed to turn on device before changing mode');
|
|
752
665
|
}
|
|
753
|
-
// Refresh device details after turning on
|
|
754
|
-
if (typeof device.getDetails === 'function') {
|
|
755
|
-
await device.getDetails();
|
|
756
|
-
this.platform.log.debug(`Device status after turning on: ${this.device.deviceStatus}`);
|
|
757
|
-
}
|
|
758
666
|
}
|
|
759
667
|
// Map HomeKit target states to device modes
|
|
760
668
|
let mode = 'manual'; // Default to manual mode
|
|
@@ -821,51 +729,7 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
821
729
|
if (!success) {
|
|
822
730
|
throw new Error(`Failed to set device mode to ${mode}`);
|
|
823
731
|
}
|
|
824
|
-
|
|
825
|
-
if (typeof device.getDetails === 'function') {
|
|
826
|
-
await device.getDetails();
|
|
827
|
-
this.platform.log.debug(`Device ${this.device.deviceName} mode after setting: ${device.mode}`);
|
|
828
|
-
}
|
|
829
|
-
// Verify the device is actually in the desired mode
|
|
830
|
-
const actualMode = device.mode;
|
|
831
|
-
if (actualMode !== mode) {
|
|
832
|
-
this.platform.log.warn(`Device ${this.device.deviceName} did not change to desired mode. ` +
|
|
833
|
-
`Wanted: ${mode}, Actual: ${actualMode}`);
|
|
834
|
-
}
|
|
835
|
-
// Update the target state based on the actual mode
|
|
836
|
-
const targetState = actualMode === 'auto' ? 0 : 1;
|
|
837
|
-
this.updateCharacteristicValue(this.platform.Characteristic.TargetHumidifierDehumidifierState, targetState);
|
|
838
|
-
// Update current state based on the active state and mode
|
|
839
|
-
let currentState = 0; // Default to INACTIVE
|
|
840
|
-
if (this.device.deviceStatus === 'on') {
|
|
841
|
-
if (actualMode === 'manual') {
|
|
842
|
-
currentState = 2; // HUMIDIFYING - will show "Rising to X%"
|
|
843
|
-
}
|
|
844
|
-
else if (actualMode === 'auto' || actualMode === 'sleep') {
|
|
845
|
-
// Get current humidity reading (actual humidity in the room)
|
|
846
|
-
const currentHumidity = device.currentHumidity !== undefined ?
|
|
847
|
-
device.currentHumidity :
|
|
848
|
-
((_a = device.details) === null || _a === void 0 ? void 0 : _a.current_humidity) ||
|
|
849
|
-
0;
|
|
850
|
-
// Get target humidity (humidity setting)
|
|
851
|
-
const targetHumidity = device.humidity ||
|
|
852
|
-
((_b = device.configuration) === null || _b === void 0 ? void 0 : _b.auto_target_humidity) ||
|
|
853
|
-
((_c = device.details) === null || _c === void 0 ? void 0 : _c.target_humidity) ||
|
|
854
|
-
45; // Default to 45% if not available
|
|
855
|
-
// In auto mode, check if we need to be humidifying
|
|
856
|
-
if (currentHumidity < targetHumidity) {
|
|
857
|
-
currentState = 2; // HUMIDIFYING - will show "Rising to X%"
|
|
858
|
-
this.platform.log.debug(`Auto mode: Current humidity ${currentHumidity}% is below target ${targetHumidity}%, setting state to HUMIDIFYING`);
|
|
859
|
-
}
|
|
860
|
-
else {
|
|
861
|
-
currentState = 1; // IDLE - will show "Set to X%"
|
|
862
|
-
this.platform.log.debug(`Auto mode: Current humidity ${currentHumidity}% has reached target ${targetHumidity}%, setting state to IDLE`);
|
|
863
|
-
}
|
|
864
|
-
}
|
|
865
|
-
}
|
|
866
|
-
this.updateCharacteristicValue(this.platform.Characteristic.CurrentHumidifierDehumidifierState, currentState);
|
|
867
|
-
// Update device state and characteristics
|
|
868
|
-
await this.updateDeviceSpecificStates(this.device);
|
|
732
|
+
this.applyDeviceStatesToHomeKit(this.device);
|
|
869
733
|
}
|
|
870
734
|
catch (error) {
|
|
871
735
|
this.handleDeviceError('set target state', error);
|