homebridge-tsvesync 1.0.71 → 1.0.72
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/dist/accessories/humidifier.accessory.d.ts +38 -1
- package/dist/accessories/humidifier.accessory.d.ts.map +1 -1
- package/dist/accessories/humidifier.accessory.js +197 -16
- package/dist/accessories/humidifier.accessory.js.map +1 -1
- package/package.json +2 -2
- package/src/accessories/humidifier.accessory.ts +308 -19
|
@@ -5,18 +5,55 @@ 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 isHumid200S;
|
|
8
9
|
private isHumid200300S;
|
|
10
|
+
private isHumid1000S;
|
|
11
|
+
private isSuperior6000S;
|
|
9
12
|
private lightService?;
|
|
13
|
+
private temperatureService?;
|
|
14
|
+
private filterService?;
|
|
10
15
|
constructor(platform: TSVESyncPlatform, accessory: PlatformAccessory, device: VeSyncHumidifier);
|
|
16
|
+
/**
|
|
17
|
+
* Detect if the device is a Humid200S
|
|
18
|
+
*/
|
|
19
|
+
private detectHumid200S;
|
|
11
20
|
/**
|
|
12
21
|
* Detect if the device is a Humid200300S
|
|
13
22
|
*/
|
|
14
23
|
private detectHumid200300S;
|
|
24
|
+
/**
|
|
25
|
+
* Detect if the device is a Humid1000S
|
|
26
|
+
*/
|
|
27
|
+
private detectHumid1000S;
|
|
28
|
+
/**
|
|
29
|
+
* Detect if the device is a Superior6000S
|
|
30
|
+
*/
|
|
31
|
+
private detectSuperior6000S;
|
|
15
32
|
protected setupService(): void;
|
|
16
33
|
/**
|
|
17
|
-
* Set up night light service for
|
|
34
|
+
* Set up night light service for devices that support it
|
|
18
35
|
*/
|
|
19
36
|
private setupNightLightService;
|
|
37
|
+
/**
|
|
38
|
+
* Set up temperature sensor service for Superior6000S
|
|
39
|
+
*/
|
|
40
|
+
private setupTemperatureService;
|
|
41
|
+
/**
|
|
42
|
+
* Get temperature for Superior6000S
|
|
43
|
+
*/
|
|
44
|
+
private getTemperature;
|
|
45
|
+
/**
|
|
46
|
+
* Set up filter maintenance service for Superior6000S
|
|
47
|
+
*/
|
|
48
|
+
private setupFilterService;
|
|
49
|
+
/**
|
|
50
|
+
* Get filter change indication for Superior6000S
|
|
51
|
+
*/
|
|
52
|
+
private getFilterChangeIndication;
|
|
53
|
+
/**
|
|
54
|
+
* Get filter life level for Superior6000S
|
|
55
|
+
*/
|
|
56
|
+
private getFilterLifeLevel;
|
|
20
57
|
/**
|
|
21
58
|
* Get night light on state
|
|
22
59
|
*/
|
|
@@ -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;
|
|
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;IA2PvE,SAAS,CAAC,qBAAqB,IAAI,kBAAkB;YAcvC,SAAS;YA4BT,SAAS;YAuJT,gBAAgB;YAqBhB,cAAc;YA4Jd,sBAAsB;IAmFpC;;OAEG;IACH;;OAEG;YACW,iBAAiB;IAsB/B;;OAEG;YACW,iBAAiB;IAkE/B,OAAO,CAAC,gCAAgC;CAWzC"}
|
|
@@ -18,11 +18,43 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
18
18
|
hasChildLock: true,
|
|
19
19
|
hasSwingMode: false,
|
|
20
20
|
};
|
|
21
|
-
// Detect
|
|
21
|
+
// Detect device type
|
|
22
|
+
this.isHumid200S = this.detectHumid200S();
|
|
22
23
|
this.isHumid200300S = this.detectHumid200300S();
|
|
23
|
-
|
|
24
|
+
this.isHumid1000S = this.detectHumid1000S();
|
|
25
|
+
this.isSuperior6000S = this.detectSuperior6000S();
|
|
26
|
+
// Log detected device type
|
|
27
|
+
if (this.isHumid200S) {
|
|
28
|
+
this.platform.log.debug(`Detected Humid200S device: ${this.device.deviceName}`);
|
|
29
|
+
}
|
|
30
|
+
else if (this.isHumid200300S) {
|
|
24
31
|
this.platform.log.debug(`Detected Humid200300S device: ${this.device.deviceName}`);
|
|
25
32
|
}
|
|
33
|
+
else if (this.isHumid1000S) {
|
|
34
|
+
this.platform.log.debug(`Detected Humid1000S device: ${this.device.deviceName}`);
|
|
35
|
+
}
|
|
36
|
+
else if (this.isSuperior6000S) {
|
|
37
|
+
this.platform.log.debug(`Detected Superior6000S device: ${this.device.deviceName}`);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.platform.log.debug(`Unknown humidifier type: ${this.device.deviceName}, using default implementation`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Detect if the device is a Humid200S
|
|
45
|
+
*/
|
|
46
|
+
detectHumid200S() {
|
|
47
|
+
const deviceType = this.device.deviceType.toUpperCase();
|
|
48
|
+
// Classic200S is a Humid200S device
|
|
49
|
+
if (deviceType.includes('CLASSIC200S')) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
// Check for mist level range 1-3 which is specific to Humid200S
|
|
53
|
+
const extendedDevice = this.device;
|
|
54
|
+
if (extendedDevice.mistLevel !== undefined && extendedDevice.mistLevel <= 3) {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
26
58
|
}
|
|
27
59
|
/**
|
|
28
60
|
* Detect if the device is a Humid200300S
|
|
@@ -34,9 +66,62 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
34
66
|
(extendedDevice.details && typeof extendedDevice.details.night_light_brightness !== 'undefined')) {
|
|
35
67
|
return true;
|
|
36
68
|
}
|
|
37
|
-
// Check device type for
|
|
69
|
+
// Check device type for Classic300S or Dual200S
|
|
38
70
|
const deviceType = this.device.deviceType.toUpperCase();
|
|
39
|
-
|
|
71
|
+
if (deviceType.includes('CLASSIC300S') || deviceType.includes('DUAL200S')) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
// Check for LUH-A601S, LUH-A602S, LUH-O451S, LUH-O601S series
|
|
75
|
+
if (deviceType.includes('LUH-A601S') ||
|
|
76
|
+
deviceType.includes('LUH-A602S') ||
|
|
77
|
+
deviceType.includes('LUH-O451S') ||
|
|
78
|
+
deviceType.includes('LUH-O601S')) {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Detect if the device is a Humid1000S
|
|
85
|
+
*/
|
|
86
|
+
detectHumid1000S() {
|
|
87
|
+
const deviceType = this.device.deviceType.toUpperCase();
|
|
88
|
+
// Check for LUH-M101S series
|
|
89
|
+
if (deviceType.includes('LUH-M101S-WUS') || deviceType.includes('LUH-M101S-WEUR')) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
// Check for OasisMist1000S
|
|
93
|
+
if (deviceType.includes('OASISMIST1000S')) {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
// Check for powerSwitch field and night light control
|
|
97
|
+
const extendedDevice = this.device;
|
|
98
|
+
if (extendedDevice.powerSwitch !== undefined &&
|
|
99
|
+
typeof extendedDevice.setNightLight === 'function') {
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Detect if the device is a Superior6000S
|
|
106
|
+
*/
|
|
107
|
+
detectSuperior6000S() {
|
|
108
|
+
const deviceType = this.device.deviceType.toUpperCase();
|
|
109
|
+
// Check for LEH-S601S series
|
|
110
|
+
if (deviceType.includes('LEH-S601S-WUS') || deviceType.includes('LEH-S601S-WUSR')) {
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
// Check for Superior6000S
|
|
114
|
+
if (deviceType.includes('SUPERIOR6000S')) {
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
// Check for temperature or drying mode properties
|
|
118
|
+
const extendedDevice = this.device;
|
|
119
|
+
if (extendedDevice.temperature !== undefined ||
|
|
120
|
+
extendedDevice.dryingModeEnabled !== undefined ||
|
|
121
|
+
extendedDevice.filterLifePercentage !== undefined) {
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
40
125
|
}
|
|
41
126
|
setupService() {
|
|
42
127
|
// No need to check for capabilities initialization since we set defaults in constructor
|
|
@@ -108,13 +193,18 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
108
193
|
if (this.capabilities && this.capabilities.hasChildLock) {
|
|
109
194
|
this.setupCharacteristic(this.platform.Characteristic.LockPhysicalControls, async () => false, async (value) => { throw new Error('Locking physical controls is not supported by the tsvesync API.'); });
|
|
110
195
|
}
|
|
111
|
-
// Add night light service for
|
|
112
|
-
if (this.isHumid200300S) {
|
|
196
|
+
// Add night light service for devices that support it
|
|
197
|
+
if (this.isHumid200300S || this.isHumid1000S) {
|
|
113
198
|
this.setupNightLightService();
|
|
114
199
|
}
|
|
200
|
+
// Add temperature sensor service for Superior6000S
|
|
201
|
+
if (this.isSuperior6000S) {
|
|
202
|
+
this.setupTemperatureService();
|
|
203
|
+
this.setupFilterService();
|
|
204
|
+
}
|
|
115
205
|
}
|
|
116
206
|
/**
|
|
117
|
-
* Set up night light service for
|
|
207
|
+
* Set up night light service for devices that support it
|
|
118
208
|
*/
|
|
119
209
|
setupNightLightService() {
|
|
120
210
|
this.platform.log.debug(`Setting up night light service for device: ${this.device.deviceName}`);
|
|
@@ -126,6 +216,72 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
126
216
|
// Set up brightness characteristic
|
|
127
217
|
this.setupCharacteristic(this.platform.Characteristic.Brightness, this.getNightLightBrightness.bind(this), this.setNightLightBrightness.bind(this), undefined, this.lightService);
|
|
128
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* Set up temperature sensor service for Superior6000S
|
|
221
|
+
*/
|
|
222
|
+
setupTemperatureService() {
|
|
223
|
+
this.platform.log.debug(`Setting up temperature sensor service for device: ${this.device.deviceName}`);
|
|
224
|
+
// Get or create the temperature sensor service
|
|
225
|
+
this.temperatureService = this.accessory.getService(this.platform.Service.TemperatureSensor) ||
|
|
226
|
+
this.accessory.addService(this.platform.Service.TemperatureSensor);
|
|
227
|
+
// Set up current temperature characteristic
|
|
228
|
+
this.setupCharacteristic(this.platform.Characteristic.CurrentTemperature, this.getTemperature.bind(this), undefined, {
|
|
229
|
+
minValue: -50,
|
|
230
|
+
maxValue: 100,
|
|
231
|
+
minStep: 0.1
|
|
232
|
+
}, this.temperatureService);
|
|
233
|
+
// Set name for the temperature sensor
|
|
234
|
+
this.setupCharacteristic(this.platform.Characteristic.Name, async () => `${this.device.deviceName} Temperature`, undefined, undefined, this.temperatureService);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Get temperature for Superior6000S
|
|
238
|
+
*/
|
|
239
|
+
async getTemperature() {
|
|
240
|
+
const extendedDevice = this.device;
|
|
241
|
+
// Get temperature from device
|
|
242
|
+
const temperature = extendedDevice.temperature ||
|
|
243
|
+
(extendedDevice.details && extendedDevice.details.temperature) ||
|
|
244
|
+
20; // Default to 20°C if not available
|
|
245
|
+
return temperature;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Set up filter maintenance service for Superior6000S
|
|
249
|
+
*/
|
|
250
|
+
setupFilterService() {
|
|
251
|
+
this.platform.log.debug(`Setting up filter maintenance service for device: ${this.device.deviceName}`);
|
|
252
|
+
// Get or create the filter maintenance service
|
|
253
|
+
this.filterService = this.accessory.getService(this.platform.Service.FilterMaintenance) ||
|
|
254
|
+
this.accessory.addService(this.platform.Service.FilterMaintenance);
|
|
255
|
+
// Set up filter change indication characteristic
|
|
256
|
+
this.setupCharacteristic(this.platform.Characteristic.FilterChangeIndication, this.getFilterChangeIndication.bind(this), undefined, undefined, this.filterService);
|
|
257
|
+
// Set up filter life level characteristic
|
|
258
|
+
this.setupCharacteristic(this.platform.Characteristic.FilterLifeLevel, this.getFilterLifeLevel.bind(this), undefined, undefined, this.filterService);
|
|
259
|
+
// Set name for the filter service
|
|
260
|
+
this.setupCharacteristic(this.platform.Characteristic.Name, async () => `${this.device.deviceName} Filter`, undefined, undefined, this.filterService);
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Get filter change indication for Superior6000S
|
|
264
|
+
*/
|
|
265
|
+
async getFilterChangeIndication() {
|
|
266
|
+
const extendedDevice = this.device;
|
|
267
|
+
// Get filter life percentage
|
|
268
|
+
const filterLife = extendedDevice.filterLifePercentage ||
|
|
269
|
+
(extendedDevice.details && extendedDevice.details.filter_life) ||
|
|
270
|
+
100; // Default to 100% if not available
|
|
271
|
+
// Return 1 (CHANGE_FILTER) if filter life is below 10%, otherwise 0 (FILTER_OK)
|
|
272
|
+
return filterLife < 10 ? 1 : 0;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Get filter life level for Superior6000S
|
|
276
|
+
*/
|
|
277
|
+
async getFilterLifeLevel() {
|
|
278
|
+
const extendedDevice = this.device;
|
|
279
|
+
// Get filter life percentage
|
|
280
|
+
const filterLife = extendedDevice.filterLifePercentage ||
|
|
281
|
+
(extendedDevice.details && extendedDevice.details.filter_life) ||
|
|
282
|
+
100; // Default to 100% if not available
|
|
283
|
+
return filterLife;
|
|
284
|
+
}
|
|
129
285
|
/**
|
|
130
286
|
* Get night light on state
|
|
131
287
|
*/
|
|
@@ -380,8 +536,8 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
380
536
|
this.platform.log.debug(`Water level for ${this.device.deviceName}: ${waterLow ? 'Low (0%)' : 'OK (100%)'}`);
|
|
381
537
|
}
|
|
382
538
|
}
|
|
383
|
-
// Update night light characteristics for
|
|
384
|
-
if (this.isHumid200300S && this.lightService) {
|
|
539
|
+
// Update night light characteristics for devices that support it
|
|
540
|
+
if ((this.isHumid200300S || this.isHumid1000S) && this.lightService) {
|
|
385
541
|
const brightness = extendedDevice.nightLightBrightness ||
|
|
386
542
|
(extendedDevice.details && extendedDevice.details.night_light_brightness) || 0;
|
|
387
543
|
// Update on/off state
|
|
@@ -389,6 +545,22 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
389
545
|
// Update brightness
|
|
390
546
|
this.lightService.updateCharacteristic(this.platform.Characteristic.Brightness, brightness);
|
|
391
547
|
}
|
|
548
|
+
// Update temperature for Superior6000S
|
|
549
|
+
if (this.isSuperior6000S && this.temperatureService) {
|
|
550
|
+
const temperature = extendedDevice.temperature ||
|
|
551
|
+
(extendedDevice.details && extendedDevice.details.temperature) ||
|
|
552
|
+
20; // Default to 20°C if not available
|
|
553
|
+
this.temperatureService.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, temperature);
|
|
554
|
+
}
|
|
555
|
+
// Update filter life for Superior6000S
|
|
556
|
+
if (this.isSuperior6000S && this.filterService) {
|
|
557
|
+
const filterLife = extendedDevice.filterLifePercentage ||
|
|
558
|
+
(extendedDevice.details && extendedDevice.details.filter_life) ||
|
|
559
|
+
100; // Default to 100% if not available
|
|
560
|
+
this.filterService.updateCharacteristic(this.platform.Characteristic.FilterLifeLevel, filterLife);
|
|
561
|
+
this.filterService.updateCharacteristic(this.platform.Characteristic.FilterChangeIndication, filterLife < 10 ? 1 : 0 // 1 = CHANGE_FILTER, 0 = FILTER_OK
|
|
562
|
+
);
|
|
563
|
+
}
|
|
392
564
|
}
|
|
393
565
|
getDeviceCapabilities() {
|
|
394
566
|
return {
|
|
@@ -462,15 +634,16 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
462
634
|
return;
|
|
463
635
|
}
|
|
464
636
|
let success = false;
|
|
465
|
-
// Try to turn the device on/off using the appropriate method
|
|
637
|
+
// Try to turn the device on/off using the appropriate method based on device type
|
|
466
638
|
if (isOn) {
|
|
467
639
|
// Turn on the device
|
|
468
640
|
this.platform.log.debug(`Attempting to turn ON device: ${this.device.deviceName}`);
|
|
641
|
+
// Use the appropriate method based on device type
|
|
469
642
|
success = await this.device.turnOn();
|
|
470
643
|
// If successful, set the device to manual mode
|
|
471
644
|
if (success) {
|
|
472
|
-
// For
|
|
473
|
-
if (
|
|
645
|
+
// For devices with specific mode setting methods, use them
|
|
646
|
+
if (typeof extendedDevice.setManualMode === 'function') {
|
|
474
647
|
this.platform.log.debug(`Setting device to manual mode using setManualMode: ${this.device.deviceName}`);
|
|
475
648
|
const modeSuccess = await extendedDevice.setManualMode();
|
|
476
649
|
this.platform.log.debug(`Set manual mode result: ${modeSuccess ? 'success' : 'failed'}`);
|
|
@@ -740,12 +913,20 @@ class HumidifierAccessory extends base_accessory_1.BaseAccessory {
|
|
|
740
913
|
else {
|
|
741
914
|
speed = 9;
|
|
742
915
|
}
|
|
743
|
-
//
|
|
916
|
+
// Adjust speed based on device type
|
|
744
917
|
const extendedDevice = this.device;
|
|
745
918
|
let success = false;
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
919
|
+
// For Humid200S devices, limit mist level to 1-3
|
|
920
|
+
if (this.isHumid200S) {
|
|
921
|
+
// Limit speed to 1-3 for Humid200S devices
|
|
922
|
+
speed = Math.min(speed, 3);
|
|
923
|
+
this.platform.log.debug(`Limiting mist level to ${speed} for Humid200S device: ${this.device.deviceName}`);
|
|
924
|
+
}
|
|
925
|
+
// Use the appropriate method based on device type
|
|
926
|
+
if ((this.isHumid200S || this.isHumid200300S || this.isHumid1000S || this.isSuperior6000S) &&
|
|
927
|
+
typeof extendedDevice.setMistLevel === 'function') {
|
|
928
|
+
// Use setMistLevel for devices that support it
|
|
929
|
+
this.platform.log.debug(`Setting mist level to ${speed} for device: ${this.device.deviceName}`);
|
|
749
930
|
success = await extendedDevice.setMistLevel(speed);
|
|
750
931
|
}
|
|
751
932
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"humidifier.accessory.js","sourceRoot":"","sources":["../../src/accessories/humidifier.accessory.ts"],"names":[],"mappings":";;;AACA,qDAAiD;AAyDjD,MAAa,mBAAoB,SAAQ,8BAAa;IAMpD,YACE,QAA0B,EAC1B,SAA4B,EAC5B,MAAwB;QAExB,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,mEAAmE;QACnE,IAAI,CAAC,YAAY,GAAG;YAClB,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,KAAK;SACpB,CAAC;QAEF,0CAA0C;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAEhD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;SACpF;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,4DAA4D;QAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;QAC/D,IAAI,OAAO,cAAc,CAAC,oBAAoB,KAAK,WAAW;YAC1D,CAAC,cAAc,CAAC,OAAO,IAAI,OAAO,cAAc,CAAC,OAAO,CAAC,sBAAsB,KAAK,WAAW,CAAC,EAAE;YACpG,OAAO,IAAI,CAAC;SACb;QAED,mDAAmD;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QACxD,OAAO,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAClF,CAAC;IAES,YAAY;QACpB,wFAAwF;QAExF,uCAAuC;QACvC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC;YACpF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAE1E,sDAAsD;QACtD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;QAC5F,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,EAAE,EAAE,CAAC,CAAC;QACxG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAEvF,kCAAkC;QAClC,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1B,CAAC;QAEF,sDAAsD;QACtD,6CAA6C;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;QAC/D,MAAM,gBAAgB,GAAG,OAAO,cAAc,CAAC,WAAW,KAAK,UAAU;YACjD,CAAC,OAAO,cAAc,CAAC,OAAO,KAAK,UAAU,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAEzG,2EAA2E;QAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC,CAAC;QAEvH,0DAA0D;QAC1D,qFAAqF;QACrF,2EAA2E;QAC3E,eAAe,CAAC,QAAQ,CAAC;YACvB,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC7C,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,EAC9D,KAAK,IAAI,EAAE,CAAC,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B,CAAC;QAEF,uCAAuC;QACvC,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAChC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CACvC,CAAC;QAEF,0BAA0B;QAC1B,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EACjC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CACnC,CAAC;QAEF,6CAA6C;QAC7C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YACtD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE;gBAC1F,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;aACtF;YAED,8CAA8C;YAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,EAAE;gBACtG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC;aAClG;YAED,sEAAsE;YACtE,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC;YAC5H,kBAAkB,CAAC,QAAQ,CAAC;gBAC1B,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;YAEH,iEAAiE;YACjE,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;YAEhH,sCAAsC;YACtC,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,EAChE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAClC,CAAC;YAEF,wFAAwF;YACxF,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;gBAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,cAAc,GAAG,CAAC,CAAC;gBAC7E,kBAAkB,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACf,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;SACJ;QAED,oGAAoG;QACpG,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;gBAC7E,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;aACzE;SACF;QAED,yDAAyD;QACzD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;YACvD,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,oBAAoB,EACjD,KAAK,IAAI,EAAE,CAAC,KAAK,EACjB,KAAK,EAAE,KAA0B,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC,CAAC,CAAC,CAC9H,CAAC;SACH;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAEhG,sCAAsC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC;YAC1D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QAE3F,+BAA+B;QAC/B,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAC/B,SAAS,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,mCAAmC;QACnC,IAAI,CAAC,mBAAmB,CACtB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EACvC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EACvC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EACvC,SAAS,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;QAC/D,MAAM,UAAU,GAAG,cAAc,CAAC,oBAAoB;YACpD,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACjF,OAAO,UAAU,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,KAA0B;QACtD,IAAI;YACF,MAAM,IAAI,GAAG,KAAgB,CAAC;YAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;YAE/D,IAAI,OAAO,cAAc,CAAC,uBAAuB,KAAK,UAAU,EAAE;gBAChE,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;gBAEzE,IAAI,CAAC,OAAO,EAAE;oBACZ,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;iBACtE;aACF;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;aACpE;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;SACxD;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB;QACnC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;QAC/D,OAAO,cAAc,CAAC,oBAAoB;YACxC,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACnF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CAAC,KAA0B;QAC9D,IAAI;YACF,MAAM,UAAU,GAAG,KAAe,CAAC;YACnC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;YAE/D,IAAI,OAAO,cAAc,CAAC,uBAAuB,KAAK,UAAU,EAAE;gBAChE,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;gBAEzE,IAAI,CAAC,OAAO,EAAE;oBACZ,MAAM,IAAI,KAAK,CAAC,2CAA2C,UAAU,EAAE,CAAC,CAAC;iBAC1E;aACF;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;aACpE;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;SAC7D;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,0BAA0B,CAAC,OAAY;;QACrD,2FAA2F;QAC3F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAEhF,+BAA+B;QAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;QAE/D,IAAI,OAAO,EAAE;YACX,4DAA4D;YAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,kBAAkB,OAAO,CAAC,YAAY,IAAI;gBAC1C,UAAU,OAAO,CAAC,KAAK,IAAI;gBAC3B,SAAS,OAAO,CAAC,IAAI,IAAI;gBACzB,aAAa,OAAO,CAAC,QAAQ,IAAI;gBACjC,cAAc,cAAc,CAAC,SAAS,EAAE,CACzC,CAAC;SACH;QAED,uEAAuE;QACvE,IAAI;YACF,IAAI,OAAO,cAAc,CAAC,UAAU,KAAK,UAAU,EAAE;gBACnD,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;gBAClC,4DAA4D;gBAC5D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,4BAA4B,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI;oBACxD,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI;oBAC/B,SAAS,cAAc,CAAC,IAAI,IAAI;oBAChC,aAAa,cAAc,CAAC,QAAQ,IAAI;oBACxC,cAAc,cAAc,CAAC,SAAS,EAAE,CACzC,CAAC;aACH;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;SACtE;QAED,gDAAgD;QAChD,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,kBAAkB,QAAQ,aAAa,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAE3H,+EAA+E;QAC/E,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EACnC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjB,CAAC;QAEF,4CAA4C;QAC5C,6EAA6E;QAC7E,YAAY;QACZ,kCAAkC;QAClC,sDAAsD;QACtD,kFAAkF;QAClF,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,sBAAsB;QAE5C,IAAI,QAAQ,EAAE;YACZ,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACpC,YAAY,GAAG,CAAC,CAAC,CAAC,yCAAyC;aAC5D;iBAAM,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC5E,6DAA6D;gBAC7D,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC;oBAC/C,cAAc,CAAC,eAAe,CAAC,CAAC;oBAChC,CAAA,MAAA,cAAc,CAAC,OAAO,0CAAE,gBAAgB;wBACxC,CAAC,CAAC;gBAEzB,yCAAyC;gBACzC,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ;qBACxB,MAAA,cAAc,CAAC,aAAa,0CAAE,oBAAoB,CAAA;qBAClD,MAAA,cAAc,CAAC,OAAO,0CAAE,eAAe,CAAA;oBACvC,EAAE,CAAC,CAAC,kCAAkC;gBAE5D,mDAAmD;gBACnD,IAAI,eAAe,GAAG,cAAc,EAAE;oBACpC,YAAY,GAAG,CAAC,CAAC,CAAC,yCAAyC;oBAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,eAAe,qBAAqB,cAAc,iCAAiC,CAAC,CAAC;iBAC7I;qBAAM;oBACL,YAAY,GAAG,CAAC,CAAC,CAAC,+BAA+B;oBACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,eAAe,wBAAwB,cAAc,0BAA0B,CAAC,CAAC;iBACzI;aACF;SACF;QAED,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kCAAkC,EAC/D,YAAY,CACb,CAAC;QAEF,2CAA2C;QAC3C,gGAAgG;QAChG,WAAW;QACX,6CAA6C;QAC7C,+BAA+B;QAC/B,yEAAyE;QACzE,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,wBAAwB;QAE7C,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE;YAClC,WAAW,GAAG,CAAC,CAAC,CAAC,6BAA6B;SAC/C;QAED,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,EAC9D,WAAW,CACZ,CAAC;QAEF,mFAAmF;QACnF,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,uDAAuD;QACvD,IAAI,QAAQ,EAAE;YACZ,IAAI,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,SAAS,KAAK,SAAS,EAAE;gBACjE,MAAM,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,gBAAgB,SAAS,EAAE,CAAC,CAAC;gBAErF,yDAAyD;gBACzD,QAAQ,SAAS,EAAE;oBACjB,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,GAAG,CAAC;wBAAC,MAAM;iBACpC;aACF;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC1C,uCAAuC;gBACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,WAAW,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxF,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oBACzB,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAClC,KAAK,CAAC;wBAAE,aAAa,GAAG,GAAG,CAAC;wBAAC,MAAM;iBACpC;aACF;SACF;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,aAAa,iBAAiB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,EAC1C,aAAa,CACd,CAAC;QAEF,wCAAwC;QACxC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YACtD,6DAA6D;YAC7D,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC;gBAC/C,cAAc,CAAC,eAAe,CAAC,CAAC;gBAChC,CAAA,MAAA,cAAc,CAAC,OAAO,0CAAE,gBAAgB;oBACxC,CAAC,CAAC;YAGzB,oEAAoE;YACpE,IAAI,eAAe,GAAG,CAAC,EAAE;gBACvB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAAuB,EACpD,eAAe,CAChB,CAAC;aACH;YAED,yCAAyC;YACzC,6FAA6F;YAC7F,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ;iBACxB,MAAA,cAAc,CAAC,aAAa,0CAAE,oBAAoB,CAAA;iBAClD,MAAA,cAAc,CAAC,OAAO,0CAAE,eAAe,CAAA;gBACvC,EAAE,CAAC,CAAC,kCAAkC;YAG5D,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,EAAE;gBACrG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,EAChE,cAAc,CACf,CAAC;aACH;SACF;QAED,gFAAgF;QAChF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;YACxD,0EAA0E;YAC1E,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW;gBACrC,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAEjE,MAAM,eAAe,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;gBAChD,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAEvE,MAAM,QAAQ,GAAG,UAAU,IAAI,eAAe,CAAC;YAE/C,iGAAiG;YACjG,oEAAoE;YACpE,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;gBAC3E,+DAA+D;gBAC/D,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EACvC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CACnB,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;aAC9G;SACF;QAED,8DAA8D;QAC9D,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,EAAE;YAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,oBAAoB;gBACpD,CAAC,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAEjF,sBAAsB;YACtB,IAAI,CAAC,YAAY,CAAC,oBAAoB,CACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAC/B,UAAU,GAAG,CAAC,CACf,CAAC;YAEF,oBAAoB;YACpB,IAAI,CAAC,YAAY,CAAC,oBAAoB,CACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EACvC,UAAU,CACX,CAAC;SACH;IACH,CAAC;IAES,qBAAqB;QAC7B,OAAO;YACL,aAAa,EAAE,KAAK;YACpB,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,IAAI;YACnB,YAAY,EAAE,IAAI;YAClB,YAAY,EAAE,KAAK;SACpB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,SAAS;QACrB,8CAA8C;QAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,MAAM,CAAC,UAAU,qBAAqB,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAEnI,yCAAyC;QACzC,IAAI;YACF,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;YAC/D,IAAI,OAAO,cAAc,CAAC,UAAU,KAAK,UAAU,EAAE;gBACnD,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,CAAC,YAAY,WAAW,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;aAC/G;SACF;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;SACrE;QAED,+DAA+D;QAC/D,2EAA2E;QAC3E,2FAA2F;QAC3F,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;QAEnD,uDAAuD;QACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,aAAa,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAExI,gEAAgE;QAChE,gDAAgD;QAChD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,KAA0B;;QAChD,IAAI;YACF,MAAM,IAAI,GAAG,KAAe,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,UAAU,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAE9F,qDAAqD;YACrD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;YAE/D,4EAA4E;YAC5E,IAAI;gBACF,IAAI,OAAO,cAAc,CAAC,UAAU,KAAK,UAAU,EAAE;oBACnD,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;oBAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,yCAAyC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;iBAC9F;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;aACrE;YAED,uCAAuC;YACvC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,sBAAsB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAExH,qEAAqE;YACrE,IAAI,WAAW,KAAK,IAAI,EAAE;gBACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,eAAe,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC;gBAEjH,mEAAmE;gBACnE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EACnC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACb,CAAC;gBAEF,0DAA0D;gBAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC;oBACzB,CAAC,cAAc,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,4BAA4B;oBACzE,CAAC,CAAC,CAAC,eAAe;gBAEpB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kCAAkC,EAC/D,YAAY,CACb,CAAC;gBAEF,wDAAwD;gBACxD,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnD,OAAO;aACR;YAED,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,6DAA6D;YAC7D,IAAI,IAAI,EAAE;gBACR,qBAAqB;gBACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBACnF,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAErC,+CAA+C;gBAC/C,IAAI,OAAO,EAAE;oBACX,+EAA+E;oBAC/E,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,CAAC,aAAa,KAAK,UAAU,EAAE;wBAC7E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sDAAsD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;wBACxG,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,aAAa,EAAE,CAAC;wBACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAC1F;yBAAM,IAAI,OAAO,cAAc,CAAC,OAAO,KAAK,UAAU,EAAE;wBACvD,iDAAiD;wBACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;wBAClG,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;qBAC1F;iBACF;aACF;iBAAM;gBACL,sBAAsB;gBACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBACpF,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;aACvC;YAED,IAAI,CAAC,OAAO,EAAE;gBACZ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,wBAAwB,CAAC,CAAC;aACzF;YAED,iDAAiD;YACjD,IAAI,OAAO,cAAc,CAAC,UAAU,KAAK,UAAU,EAAE;gBACnD,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,yBAAyB;oBACzD,WAAW,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI;oBACvC,SAAS,cAAc,CAAC,IAAI,IAAI;oBAChC,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI;oBAC/B,cAAc,cAAc,CAAC,SAAS,EAAE,CACzC,CAAC;aACH;YAED,qDAAqD;YACrD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;YACrD,IAAI,UAAU,KAAK,IAAI,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,oCAAoC;oBACpE,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CACvE,CAAC;aACH;YAED,8EAA8E;YAC9E,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,EACnC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACnB,CAAC;YAEF,0DAA0D;YAC1D,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,sBAAsB;YAE5C,IAAI,UAAU,EAAE;gBACd,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE;oBACpC,YAAY,GAAG,CAAC,CAAC,CAAC,yCAAyC;iBAC5D;qBAAM,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,EAAE;oBAC5E,6DAA6D;oBAC7D,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC;wBAC/C,cAAc,CAAC,eAAe,CAAC,CAAC;wBAChC,CAAA,MAAA,cAAc,CAAC,OAAO,0CAAE,gBAAgB;4BACxC,CAAC,CAAC;oBAEzB,yCAAyC;oBACzC,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ;yBACxB,MAAA,cAAc,CAAC,aAAa,0CAAE,oBAAoB,CAAA;yBAClD,MAAA,cAAc,CAAC,OAAO,0CAAE,eAAe,CAAA;wBACvC,EAAE,CAAC,CAAC,kCAAkC;oBAE5D,mDAAmD;oBACnD,IAAI,eAAe,GAAG,cAAc,EAAE;wBACpC,YAAY,GAAG,CAAC,CAAC,CAAC,yCAAyC;wBAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,eAAe,qBAAqB,cAAc,iCAAiC,CAAC,CAAC;qBAC7I;yBAAM;wBACL,YAAY,GAAG,CAAC,CAAC,CAAC,+BAA+B;wBACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,eAAe,wBAAwB,cAAc,0BAA0B,CAAC,CAAC;qBACzI;iBACF;aACF;YAED,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kCAAkC,EAC/D,YAAY,CACb,CAAC;YAEF,0CAA0C;YAC1C,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC1E;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;SACnD;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE;YACjE,OAAO,CAAC,CAAC;SACV;QAED,2DAA2D;QAC3D,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACzB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACjB,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC;YACnB,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;SACnB;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAA0B;;QACrD,IAAI;YACF,gGAAgG;YAChG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,KAAK,gBAAgB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAElG,MAAM,MAAM,GAAG,IAAI,CAAC,MAAkC,CAAC;YAEvD,mDAAmD;YACnD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE;gBACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mDAAmD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBACrG,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjD,IAAI,CAAC,aAAa,EAAE;oBAClB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;iBAClE;gBAED,0CAA0C;gBAC1C,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE;oBAC3C,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;oBAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;iBACxF;aACF;YAED,4CAA4C;YAC5C,IAAI,IAAI,GAAW,QAAQ,CAAC,CAAC,yBAAyB;YAEtD,QAAQ,KAAK,EAAE;gBACb,KAAK,CAAC,EAAE,OAAO;oBACb,IAAI,GAAG,MAAM,CAAC;oBACd,MAAM;gBACR,KAAK,CAAC,EAAE,aAAa;oBACnB,IAAI,GAAG,QAAQ,CAAC;oBAChB,MAAM;gBACR,KAAK,CAAC,EAAE,+DAA+D;oBACrE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,+CAA+C,IAAI,CAAC,MAAM,CAAC,UAAU,6BAA6B,CAAC,CAAC;oBAC3H,IAAI,GAAG,QAAQ,CAAC;oBAChB,MAAM;gBACR;oBACE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,KAAK,gCAAgC,CAAC,CAAC;oBAC7F,IAAI,GAAG,QAAQ,CAAC;aACnB;YAED,2BAA2B;YAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;gBACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,kBAAkB,IAAI,0BAA0B,CAAC,CAAC;gBAE1G,kDAAkD;gBAClD,MAAM,WAAW,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,CAAC,yBAAyB,CAC5B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,EAC9D,WAAW,CACZ,CAAC;gBAEF,OAAO;aACR;YAED,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,+EAA+E;YAC/E,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,IAAI,KAAK,MAAM,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE;oBAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;oBAChG,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;oBACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACpF;qBAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE;oBAC1E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;oBAClG,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;oBACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,2BAA2B,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACtF;qBAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO,EAAE;oBACxE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,+CAA+C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;oBACjG,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;oBACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACrF;qBAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE;oBAC/C,gEAAgE;oBAChE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,kDAAkD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC3H,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAmC,CAAC,CAAC;oBACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBAC/E;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;iBACxE;aACF;iBAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,EAAE;gBAC/C,+DAA+D;gBAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,IAAI,gBAAgB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBACzF,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAmC,CAAC,CAAC;gBACpE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,oBAAoB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC/E;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;aACxE;YAED,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,EAAE,CAAC,CAAC;aACzD;YAED,iDAAiD;YACjD,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE;gBAC3C,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,wBAAwB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;aAChG;YAED,oDAAoD;YACpD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;YAC/B,IAAI,UAAU,KAAK,IAAI,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CACpB,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,mCAAmC;oBACnE,WAAW,IAAI,aAAa,UAAU,EAAE,CACzC,CAAC;aACH;YAED,mDAAmD;YACnD,MAAM,WAAW,GAAG,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,yBAAyB,CAC5B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,EAC9D,WAAW,CACZ,CAAC;YAEF,0DAA0D;YAC1D,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,sBAAsB;YAE5C,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE;gBACrC,IAAI,UAAU,KAAK,QAAQ,EAAE;oBAC3B,YAAY,GAAG,CAAC,CAAC,CAAC,yCAAyC;iBAC5D;qBAAM,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,EAAE;oBAC1D,6DAA6D;oBAC7D,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC;wBACvC,MAAM,CAAC,eAAe,CAAC,CAAC;wBACxB,CAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,gBAAgB;4BAChC,CAAC,CAAC;oBAEzB,yCAAyC;oBACzC,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ;yBAChB,MAAA,MAAM,CAAC,aAAa,0CAAE,oBAAoB,CAAA;yBAC1C,MAAA,MAAM,CAAC,OAAO,0CAAE,eAAe,CAAA;wBAC/B,EAAE,CAAC,CAAC,kCAAkC;oBAE5D,mDAAmD;oBACnD,IAAI,eAAe,GAAG,cAAc,EAAE;wBACpC,YAAY,GAAG,CAAC,CAAC,CAAC,yCAAyC;wBAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,eAAe,qBAAqB,cAAc,iCAAiC,CAAC,CAAC;qBAC7I;yBAAM;wBACL,YAAY,GAAG,CAAC,CAAC,CAAC,+BAA+B;wBACjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,eAAe,wBAAwB,cAAc,0BAA0B,CAAC,CAAC;qBACzI;iBACF;aACF;YAED,IAAI,CAAC,yBAAyB,CAC5B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kCAAkC,EAC/D,YAAY,CACb,CAAC;YAEF,0CAA0C;YAC1C,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;SACnD;IACH,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,KAA0B;QAC7D,IAAI;YACF,MAAM,UAAU,GAAG,KAAe,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,UAAU,iBAAiB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAE1G,IAAI,UAAU,KAAK,CAAC,EAAE;gBACpB,oDAAoD;gBACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,MAAM,CAAC,UAAU,2BAA2B,CAAC,CAAC;gBACjG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC5C,IAAI,CAAC,OAAO,EAAE;oBACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;iBAC9C;gBACD,OAAO;aACR;YAED,2DAA2D;YAC3D,IAAI,KAAa,CAAC;YAClB,IAAI,UAAU,IAAI,EAAE,EAAE;gBACpB,KAAK,GAAG,CAAC,CAAC;aACX;iBAAM,IAAI,UAAU,IAAI,EAAE,EAAE;gBAC3B,KAAK,GAAG,CAAC,CAAC;aACX;iBAAM,IAAI,UAAU,IAAI,EAAE,EAAE;gBAC3B,KAAK,GAAG,CAAC,CAAC;aACX;iBAAM,IAAI,UAAU,IAAI,EAAE,EAAE;gBAC3B,KAAK,GAAG,CAAC,CAAC;aACX;iBAAM,IAAI,UAAU,IAAI,EAAE,EAAE;gBAC3B,KAAK,GAAG,CAAC,CAAC;aACX;iBAAM,IAAI,UAAU,IAAI,EAAE,EAAE;gBAC3B,KAAK,GAAG,CAAC,CAAC;aACX;iBAAM,IAAI,UAAU,IAAI,EAAE,EAAE;gBAC3B,KAAK,GAAG,CAAC,CAAC;aACX;iBAAM,IAAI,UAAU,IAAI,EAAE,EAAE;gBAC3B,KAAK,GAAG,CAAC,CAAC;aACX;iBAAM;gBACL,KAAK,GAAG,CAAC,CAAC;aACX;YAED,2EAA2E;YAC3E,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;YAC/D,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,cAAc,CAAC,YAAY,KAAK,UAAU,EAAE;gBAC5E,4CAA4C;gBAC5C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,KAAK,6BAA6B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC7G,OAAO,GAAG,MAAM,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;aACpD;iBAAM;gBACL,yDAAyD;gBACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,KAAK,gBAAgB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC/F,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aACnD;YAED,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;aACpD;YAED,iDAAiD;YACjD,IAAI,OAAO,cAAc,CAAC,UAAU,KAAK,UAAU,EAAE;gBACnD,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;gBAElC,oDAAoD;gBACpD,IAAI,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,SAAS,KAAK,SAAS,EAAE;oBACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,8BAA8B,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC;iBACnH;qBAAM;oBACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,yBAAyB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;iBACvG;aACF;YAED,0CAA0C;YAC1C,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACpD;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;SACrD;IACH,CAAC;IAED;;OAEG;IACH;;OAEG;IACK,KAAK,CAAC,iBAAiB;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;QAE/D,6FAA6F;QAC7F,IAAI,OAAO,cAAc,CAAC,QAAQ,KAAK,WAAW,EAAE;YAClD,OAAO,cAAc,CAAC,QAAQ,CAAC;SAChC;QAED,sDAAsD;QACtD,IAAI,cAAc,CAAC,aAAa,IAAI,OAAO,cAAc,CAAC,aAAa,CAAC,oBAAoB,KAAK,WAAW,EAAE;YAC5G,OAAO,cAAc,CAAC,aAAa,CAAC,oBAAoB,CAAC;SAC1D;QAED,iDAAiD;QACjD,IAAI,cAAc,CAAC,OAAO,IAAI,OAAO,cAAc,CAAC,OAAO,CAAC,eAAe,KAAK,WAAW,EAAE;YAC3F,OAAO,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC;SAC/C;QAED,oDAAoD;QACpD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,KAA0B;;QACxD,IAAI;YACF,MAAM,cAAc,GAAG,KAAe,CAAC;YAGvC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,8BAA8B,cAAc,iBAAiB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAE/G,MAAM,cAAc,GAAG,IAAI,CAAC,MAAkC,CAAC;YAG/D,mDAAmD;YACnD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,EAAE;gBACrC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,sDAAsD,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBACxG,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjD,IAAI,CAAC,aAAa,EAAE;oBAClB,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;iBACrE;aACF;YAED,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,mDAAmD;YACnD,IAAI,OAAO,cAAc,CAAC,WAAW,KAAK,UAAU,EAAE;gBACpD,8CAA8C;gBAC9C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,cAAc,wBAAwB,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC/G,OAAO,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;aAE5D;iBAAM,IAAI,OAAO,cAAc,CAAC,iBAAiB,KAAK,UAAU,EAAE;gBACjE,oDAAoD;gBACpD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,cAAc,8BAA8B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;gBACrH,OAAO,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;aAElE;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;aACxE;YAED,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,oCAAoC,cAAc,GAAG,CAAC,CAAC;aACxE;YAED,iDAAiD;YACjD,IAAI,OAAO,cAAc,CAAC,UAAU,KAAK,UAAU,EAAE;gBACnD,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;gBAElC,wCAAwC;gBACxC,MAAM,aAAa,GAAG,CAAA,MAAA,cAAc,CAAC,OAAO,0CAAE,eAAe,KAAI,cAAc,CAAC,cAAc,CAAC;gBAC/F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,mCAAmC,aAAa,GAAG,CAAC,CAAC;aAE9G;YAED,4CAA4C;YAC5C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,mCAAmC,EAChE,cAAc,CACf,CAAC;YAEF,0CAA0C;YAC1C,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEnD,8BAA8B;YAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;SACjE;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;SACtD;IACH,CAAC;IAEO,gCAAgC,CACtC,OAAgB,EAChB,cAAmB,EACnB,KAA0B;QAE1B,OAAO,CAAC,oBAAoB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAEpD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CACrB,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,aAAa,cAAc,CAAC,IAAI,OAAO,KAAK,EAAE,CACzE,CAAC;IACJ,CAAC;CACF;AA5gCD,kDA4gCC"}
|
|
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.0.
|
|
3
|
+
"version": "1.0.72",
|
|
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.0.
|
|
101
|
+
"tsvesync": "1.0.72"
|
|
102
102
|
},
|
|
103
103
|
"devDependencies": {
|
|
104
104
|
"@types/jest": "^29.5.11",
|
|
@@ -11,9 +11,11 @@ interface ExtendedVeSyncHumidifier extends VeSyncHumidifier {
|
|
|
11
11
|
|
|
12
12
|
// Night light properties and methods
|
|
13
13
|
nightLightBrightness?: number;
|
|
14
|
+
nightLightStatus?: string;
|
|
14
15
|
setNightLightBrightness?(brightness: number): Promise<boolean>;
|
|
16
|
+
setNightLight?(enabled: boolean, brightness?: number): Promise<boolean>;
|
|
15
17
|
|
|
16
|
-
//
|
|
18
|
+
// Common methods across humidifier types
|
|
17
19
|
setMistLevel?(level: number): Promise<boolean>;
|
|
18
20
|
setHumidity?(humidity: number): Promise<boolean>;
|
|
19
21
|
setAutoMode?(): Promise<boolean>;
|
|
@@ -22,18 +24,35 @@ interface ExtendedVeSyncHumidifier extends VeSyncHumidifier {
|
|
|
22
24
|
setDisplay?(on: boolean): Promise<boolean>;
|
|
23
25
|
turnOnDisplay?(): Promise<boolean>;
|
|
24
26
|
turnOffDisplay?(): Promise<boolean>;
|
|
27
|
+
setIndicatorLightSwitch?(on: boolean): Promise<boolean>;
|
|
28
|
+
|
|
29
|
+
// Automatic stop methods
|
|
25
30
|
automaticStopOn?(): Promise<boolean>;
|
|
26
31
|
automaticStopOff?(): Promise<boolean>;
|
|
32
|
+
setAutomaticStop?(enabled: boolean): Promise<boolean>;
|
|
33
|
+
|
|
34
|
+
// Superior6000S specific methods
|
|
35
|
+
setDryingModeEnabled?(enabled: boolean): Promise<boolean>;
|
|
27
36
|
|
|
28
|
-
//
|
|
37
|
+
// Common properties
|
|
29
38
|
mistLevel?: number;
|
|
30
39
|
// Note: humidity must be non-optional to match VeSyncHumidifier interface
|
|
31
40
|
humidity: number;
|
|
32
41
|
currentHumidity?: number; // Actual humidity reading in the room
|
|
33
42
|
mode?: string;
|
|
34
43
|
screenStatus?: 'on' | 'off';
|
|
44
|
+
enabled?: boolean; // Used by Humid200S for power control
|
|
45
|
+
powerSwitch?: boolean; // Used by Humid1000S and Superior6000S for power control
|
|
35
46
|
|
|
36
|
-
//
|
|
47
|
+
// Superior6000S specific properties
|
|
48
|
+
temperature?: number;
|
|
49
|
+
filterLifePercentage?: number;
|
|
50
|
+
dryingModeEnabled?: boolean;
|
|
51
|
+
dryingModeState?: string | null;
|
|
52
|
+
dryingModeLevel?: string | null;
|
|
53
|
+
dryingModeSecondsRemaining?: number;
|
|
54
|
+
|
|
55
|
+
// For device-specific details
|
|
37
56
|
details?: {
|
|
38
57
|
target_humidity?: number;
|
|
39
58
|
night_light_brightness?: number;
|
|
@@ -42,6 +61,9 @@ interface ExtendedVeSyncHumidifier extends VeSyncHumidifier {
|
|
|
42
61
|
water_tank_lifted?: boolean;
|
|
43
62
|
humidity_high?: boolean;
|
|
44
63
|
automatic_stop?: boolean;
|
|
64
|
+
automatic_stop_configured?: boolean;
|
|
65
|
+
temperature?: number;
|
|
66
|
+
filter_life?: number;
|
|
45
67
|
};
|
|
46
68
|
|
|
47
69
|
// Device configuration object
|
|
@@ -59,8 +81,17 @@ interface ExtendedVeSyncHumidifier extends VeSyncHumidifier {
|
|
|
59
81
|
export class HumidifierAccessory extends BaseAccessory {
|
|
60
82
|
protected readonly device: VeSyncHumidifier;
|
|
61
83
|
private capabilities: DeviceCapabilities; // Removed readonly to allow re-initialization
|
|
84
|
+
|
|
85
|
+
// Device type flags
|
|
86
|
+
private isHumid200S: boolean;
|
|
62
87
|
private isHumid200300S: boolean;
|
|
88
|
+
private isHumid1000S: boolean;
|
|
89
|
+
private isSuperior6000S: boolean;
|
|
90
|
+
|
|
91
|
+
// Services
|
|
63
92
|
private lightService?: Service;
|
|
93
|
+
private temperatureService?: Service;
|
|
94
|
+
private filterService?: Service;
|
|
64
95
|
|
|
65
96
|
constructor(
|
|
66
97
|
platform: TSVESyncPlatform,
|
|
@@ -83,12 +114,44 @@ export class HumidifierAccessory extends BaseAccessory {
|
|
|
83
114
|
hasSwingMode: false,
|
|
84
115
|
};
|
|
85
116
|
|
|
86
|
-
// Detect
|
|
117
|
+
// Detect device type
|
|
118
|
+
this.isHumid200S = this.detectHumid200S();
|
|
87
119
|
this.isHumid200300S = this.detectHumid200300S();
|
|
120
|
+
this.isHumid1000S = this.detectHumid1000S();
|
|
121
|
+
this.isSuperior6000S = this.detectSuperior6000S();
|
|
88
122
|
|
|
89
|
-
|
|
123
|
+
// Log detected device type
|
|
124
|
+
if (this.isHumid200S) {
|
|
125
|
+
this.platform.log.debug(`Detected Humid200S device: ${this.device.deviceName}`);
|
|
126
|
+
} else if (this.isHumid200300S) {
|
|
90
127
|
this.platform.log.debug(`Detected Humid200300S device: ${this.device.deviceName}`);
|
|
128
|
+
} else if (this.isHumid1000S) {
|
|
129
|
+
this.platform.log.debug(`Detected Humid1000S device: ${this.device.deviceName}`);
|
|
130
|
+
} else if (this.isSuperior6000S) {
|
|
131
|
+
this.platform.log.debug(`Detected Superior6000S device: ${this.device.deviceName}`);
|
|
132
|
+
} else {
|
|
133
|
+
this.platform.log.debug(`Unknown humidifier type: ${this.device.deviceName}, using default implementation`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Detect if the device is a Humid200S
|
|
139
|
+
*/
|
|
140
|
+
private detectHumid200S(): boolean {
|
|
141
|
+
const deviceType = this.device.deviceType.toUpperCase();
|
|
142
|
+
|
|
143
|
+
// Classic200S is a Humid200S device
|
|
144
|
+
if (deviceType.includes('CLASSIC200S')) {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Check for mist level range 1-3 which is specific to Humid200S
|
|
149
|
+
const extendedDevice = this.device as ExtendedVeSyncHumidifier;
|
|
150
|
+
if (extendedDevice.mistLevel !== undefined && extendedDevice.mistLevel <= 3) {
|
|
151
|
+
return true;
|
|
91
152
|
}
|
|
153
|
+
|
|
154
|
+
return false;
|
|
92
155
|
}
|
|
93
156
|
|
|
94
157
|
/**
|
|
@@ -102,9 +165,74 @@ export class HumidifierAccessory extends BaseAccessory {
|
|
|
102
165
|
return true;
|
|
103
166
|
}
|
|
104
167
|
|
|
105
|
-
// Check device type for
|
|
168
|
+
// Check device type for Classic300S or Dual200S
|
|
169
|
+
const deviceType = this.device.deviceType.toUpperCase();
|
|
170
|
+
if (deviceType.includes('CLASSIC300S') || deviceType.includes('DUAL200S')) {
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// Check for LUH-A601S, LUH-A602S, LUH-O451S, LUH-O601S series
|
|
175
|
+
if (deviceType.includes('LUH-A601S') ||
|
|
176
|
+
deviceType.includes('LUH-A602S') ||
|
|
177
|
+
deviceType.includes('LUH-O451S') ||
|
|
178
|
+
deviceType.includes('LUH-O601S')) {
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Detect if the device is a Humid1000S
|
|
187
|
+
*/
|
|
188
|
+
private detectHumid1000S(): boolean {
|
|
189
|
+
const deviceType = this.device.deviceType.toUpperCase();
|
|
190
|
+
|
|
191
|
+
// Check for LUH-M101S series
|
|
192
|
+
if (deviceType.includes('LUH-M101S-WUS') || deviceType.includes('LUH-M101S-WEUR')) {
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// Check for OasisMist1000S
|
|
197
|
+
if (deviceType.includes('OASISMIST1000S')) {
|
|
198
|
+
return true;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
// Check for powerSwitch field and night light control
|
|
202
|
+
const extendedDevice = this.device as ExtendedVeSyncHumidifier;
|
|
203
|
+
if (extendedDevice.powerSwitch !== undefined &&
|
|
204
|
+
typeof extendedDevice.setNightLight === 'function') {
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Detect if the device is a Superior6000S
|
|
213
|
+
*/
|
|
214
|
+
private detectSuperior6000S(): boolean {
|
|
106
215
|
const deviceType = this.device.deviceType.toUpperCase();
|
|
107
|
-
|
|
216
|
+
|
|
217
|
+
// Check for LEH-S601S series
|
|
218
|
+
if (deviceType.includes('LEH-S601S-WUS') || deviceType.includes('LEH-S601S-WUSR')) {
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// Check for Superior6000S
|
|
223
|
+
if (deviceType.includes('SUPERIOR6000S')) {
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// Check for temperature or drying mode properties
|
|
228
|
+
const extendedDevice = this.device as ExtendedVeSyncHumidifier;
|
|
229
|
+
if (extendedDevice.temperature !== undefined ||
|
|
230
|
+
extendedDevice.dryingModeEnabled !== undefined ||
|
|
231
|
+
extendedDevice.filterLifePercentage !== undefined) {
|
|
232
|
+
return true;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return false;
|
|
108
236
|
}
|
|
109
237
|
|
|
110
238
|
protected setupService(): void {
|
|
@@ -218,14 +346,20 @@ export class HumidifierAccessory extends BaseAccessory {
|
|
|
218
346
|
);
|
|
219
347
|
}
|
|
220
348
|
|
|
221
|
-
// Add night light service for
|
|
222
|
-
if (this.isHumid200300S) {
|
|
349
|
+
// Add night light service for devices that support it
|
|
350
|
+
if (this.isHumid200300S || this.isHumid1000S) {
|
|
223
351
|
this.setupNightLightService();
|
|
224
352
|
}
|
|
353
|
+
|
|
354
|
+
// Add temperature sensor service for Superior6000S
|
|
355
|
+
if (this.isSuperior6000S) {
|
|
356
|
+
this.setupTemperatureService();
|
|
357
|
+
this.setupFilterService();
|
|
358
|
+
}
|
|
225
359
|
}
|
|
226
360
|
|
|
227
361
|
/**
|
|
228
|
-
* Set up night light service for
|
|
362
|
+
* Set up night light service for devices that support it
|
|
229
363
|
*/
|
|
230
364
|
private setupNightLightService(): void {
|
|
231
365
|
this.platform.log.debug(`Setting up night light service for device: ${this.device.deviceName}`);
|
|
@@ -253,6 +387,121 @@ export class HumidifierAccessory extends BaseAccessory {
|
|
|
253
387
|
);
|
|
254
388
|
}
|
|
255
389
|
|
|
390
|
+
/**
|
|
391
|
+
* Set up temperature sensor service for Superior6000S
|
|
392
|
+
*/
|
|
393
|
+
private setupTemperatureService(): void {
|
|
394
|
+
this.platform.log.debug(`Setting up temperature sensor service for device: ${this.device.deviceName}`);
|
|
395
|
+
|
|
396
|
+
// Get or create the temperature sensor service
|
|
397
|
+
this.temperatureService = this.accessory.getService(this.platform.Service.TemperatureSensor) ||
|
|
398
|
+
this.accessory.addService(this.platform.Service.TemperatureSensor);
|
|
399
|
+
|
|
400
|
+
// Set up current temperature characteristic
|
|
401
|
+
this.setupCharacteristic(
|
|
402
|
+
this.platform.Characteristic.CurrentTemperature,
|
|
403
|
+
this.getTemperature.bind(this),
|
|
404
|
+
undefined,
|
|
405
|
+
{
|
|
406
|
+
minValue: -50,
|
|
407
|
+
maxValue: 100,
|
|
408
|
+
minStep: 0.1
|
|
409
|
+
},
|
|
410
|
+
this.temperatureService
|
|
411
|
+
);
|
|
412
|
+
|
|
413
|
+
// Set name for the temperature sensor
|
|
414
|
+
this.setupCharacteristic(
|
|
415
|
+
this.platform.Characteristic.Name,
|
|
416
|
+
async () => `${this.device.deviceName} Temperature`,
|
|
417
|
+
undefined,
|
|
418
|
+
undefined,
|
|
419
|
+
this.temperatureService
|
|
420
|
+
);
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
/**
|
|
424
|
+
* Get temperature for Superior6000S
|
|
425
|
+
*/
|
|
426
|
+
private async getTemperature(): Promise<CharacteristicValue> {
|
|
427
|
+
const extendedDevice = this.device as ExtendedVeSyncHumidifier;
|
|
428
|
+
|
|
429
|
+
// Get temperature from device
|
|
430
|
+
const temperature = extendedDevice.temperature ||
|
|
431
|
+
(extendedDevice.details && extendedDevice.details.temperature) ||
|
|
432
|
+
20; // Default to 20°C if not available
|
|
433
|
+
|
|
434
|
+
return temperature;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* Set up filter maintenance service for Superior6000S
|
|
439
|
+
*/
|
|
440
|
+
private setupFilterService(): void {
|
|
441
|
+
this.platform.log.debug(`Setting up filter maintenance service for device: ${this.device.deviceName}`);
|
|
442
|
+
|
|
443
|
+
// Get or create the filter maintenance service
|
|
444
|
+
this.filterService = this.accessory.getService(this.platform.Service.FilterMaintenance) ||
|
|
445
|
+
this.accessory.addService(this.platform.Service.FilterMaintenance);
|
|
446
|
+
|
|
447
|
+
// Set up filter change indication characteristic
|
|
448
|
+
this.setupCharacteristic(
|
|
449
|
+
this.platform.Characteristic.FilterChangeIndication,
|
|
450
|
+
this.getFilterChangeIndication.bind(this),
|
|
451
|
+
undefined,
|
|
452
|
+
undefined,
|
|
453
|
+
this.filterService
|
|
454
|
+
);
|
|
455
|
+
|
|
456
|
+
// Set up filter life level characteristic
|
|
457
|
+
this.setupCharacteristic(
|
|
458
|
+
this.platform.Characteristic.FilterLifeLevel,
|
|
459
|
+
this.getFilterLifeLevel.bind(this),
|
|
460
|
+
undefined,
|
|
461
|
+
undefined,
|
|
462
|
+
this.filterService
|
|
463
|
+
);
|
|
464
|
+
|
|
465
|
+
// Set name for the filter service
|
|
466
|
+
this.setupCharacteristic(
|
|
467
|
+
this.platform.Characteristic.Name,
|
|
468
|
+
async () => `${this.device.deviceName} Filter`,
|
|
469
|
+
undefined,
|
|
470
|
+
undefined,
|
|
471
|
+
this.filterService
|
|
472
|
+
);
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
/**
|
|
476
|
+
* Get filter change indication for Superior6000S
|
|
477
|
+
*/
|
|
478
|
+
private async getFilterChangeIndication(): Promise<CharacteristicValue> {
|
|
479
|
+
const extendedDevice = this.device as ExtendedVeSyncHumidifier;
|
|
480
|
+
|
|
481
|
+
// Get filter life percentage
|
|
482
|
+
const filterLife = extendedDevice.filterLifePercentage ||
|
|
483
|
+
(extendedDevice.details && extendedDevice.details.filter_life) ||
|
|
484
|
+
100; // Default to 100% if not available
|
|
485
|
+
|
|
486
|
+
// Return 1 (CHANGE_FILTER) if filter life is below 10%, otherwise 0 (FILTER_OK)
|
|
487
|
+
return filterLife < 10 ? 1 : 0;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
/**
|
|
491
|
+
* Get filter life level for Superior6000S
|
|
492
|
+
*/
|
|
493
|
+
private async getFilterLifeLevel(): Promise<CharacteristicValue> {
|
|
494
|
+
const extendedDevice = this.device as ExtendedVeSyncHumidifier;
|
|
495
|
+
|
|
496
|
+
// Get filter life percentage
|
|
497
|
+
const filterLife = extendedDevice.filterLifePercentage ||
|
|
498
|
+
(extendedDevice.details && extendedDevice.details.filter_life) ||
|
|
499
|
+
100; // Default to 100% if not available
|
|
500
|
+
|
|
501
|
+
return filterLife;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
|
|
256
505
|
/**
|
|
257
506
|
* Get night light on state
|
|
258
507
|
*/
|
|
@@ -523,8 +772,8 @@ export class HumidifierAccessory extends BaseAccessory {
|
|
|
523
772
|
}
|
|
524
773
|
}
|
|
525
774
|
|
|
526
|
-
// Update night light characteristics for
|
|
527
|
-
if (this.isHumid200300S && this.lightService) {
|
|
775
|
+
// Update night light characteristics for devices that support it
|
|
776
|
+
if ((this.isHumid200300S || this.isHumid1000S) && this.lightService) {
|
|
528
777
|
const brightness = extendedDevice.nightLightBrightness ||
|
|
529
778
|
(extendedDevice.details && extendedDevice.details.night_light_brightness) || 0;
|
|
530
779
|
|
|
@@ -540,6 +789,35 @@ export class HumidifierAccessory extends BaseAccessory {
|
|
|
540
789
|
brightness
|
|
541
790
|
);
|
|
542
791
|
}
|
|
792
|
+
|
|
793
|
+
// Update temperature for Superior6000S
|
|
794
|
+
if (this.isSuperior6000S && this.temperatureService) {
|
|
795
|
+
const temperature = extendedDevice.temperature ||
|
|
796
|
+
(extendedDevice.details && extendedDevice.details.temperature) ||
|
|
797
|
+
20; // Default to 20°C if not available
|
|
798
|
+
|
|
799
|
+
this.temperatureService.updateCharacteristic(
|
|
800
|
+
this.platform.Characteristic.CurrentTemperature,
|
|
801
|
+
temperature
|
|
802
|
+
);
|
|
803
|
+
}
|
|
804
|
+
|
|
805
|
+
// Update filter life for Superior6000S
|
|
806
|
+
if (this.isSuperior6000S && this.filterService) {
|
|
807
|
+
const filterLife = extendedDevice.filterLifePercentage ||
|
|
808
|
+
(extendedDevice.details && extendedDevice.details.filter_life) ||
|
|
809
|
+
100; // Default to 100% if not available
|
|
810
|
+
|
|
811
|
+
this.filterService.updateCharacteristic(
|
|
812
|
+
this.platform.Characteristic.FilterLifeLevel,
|
|
813
|
+
filterLife
|
|
814
|
+
);
|
|
815
|
+
|
|
816
|
+
this.filterService.updateCharacteristic(
|
|
817
|
+
this.platform.Characteristic.FilterChangeIndication,
|
|
818
|
+
filterLife < 10 ? 1 : 0 // 1 = CHANGE_FILTER, 0 = FILTER_OK
|
|
819
|
+
);
|
|
820
|
+
}
|
|
543
821
|
}
|
|
544
822
|
|
|
545
823
|
protected getDeviceCapabilities(): DeviceCapabilities {
|
|
@@ -633,16 +911,18 @@ export class HumidifierAccessory extends BaseAccessory {
|
|
|
633
911
|
|
|
634
912
|
let success = false;
|
|
635
913
|
|
|
636
|
-
// Try to turn the device on/off using the appropriate method
|
|
914
|
+
// Try to turn the device on/off using the appropriate method based on device type
|
|
637
915
|
if (isOn) {
|
|
638
916
|
// Turn on the device
|
|
639
917
|
this.platform.log.debug(`Attempting to turn ON device: ${this.device.deviceName}`);
|
|
918
|
+
|
|
919
|
+
// Use the appropriate method based on device type
|
|
640
920
|
success = await this.device.turnOn();
|
|
641
921
|
|
|
642
922
|
// If successful, set the device to manual mode
|
|
643
923
|
if (success) {
|
|
644
|
-
// For
|
|
645
|
-
if (
|
|
924
|
+
// For devices with specific mode setting methods, use them
|
|
925
|
+
if (typeof extendedDevice.setManualMode === 'function') {
|
|
646
926
|
this.platform.log.debug(`Setting device to manual mode using setManualMode: ${this.device.deviceName}`);
|
|
647
927
|
const modeSuccess = await extendedDevice.setManualMode();
|
|
648
928
|
this.platform.log.debug(`Set manual mode result: ${modeSuccess ? 'success' : 'failed'}`);
|
|
@@ -947,13 +1227,22 @@ export class HumidifierAccessory extends BaseAccessory {
|
|
|
947
1227
|
speed = 9;
|
|
948
1228
|
}
|
|
949
1229
|
|
|
950
|
-
//
|
|
1230
|
+
// Adjust speed based on device type
|
|
951
1231
|
const extendedDevice = this.device as ExtendedVeSyncHumidifier;
|
|
952
1232
|
let success = false;
|
|
953
1233
|
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
1234
|
+
// For Humid200S devices, limit mist level to 1-3
|
|
1235
|
+
if (this.isHumid200S) {
|
|
1236
|
+
// Limit speed to 1-3 for Humid200S devices
|
|
1237
|
+
speed = Math.min(speed, 3);
|
|
1238
|
+
this.platform.log.debug(`Limiting mist level to ${speed} for Humid200S device: ${this.device.deviceName}`);
|
|
1239
|
+
}
|
|
1240
|
+
|
|
1241
|
+
// Use the appropriate method based on device type
|
|
1242
|
+
if ((this.isHumid200S || this.isHumid200300S || this.isHumid1000S || this.isSuperior6000S) &&
|
|
1243
|
+
typeof extendedDevice.setMistLevel === 'function') {
|
|
1244
|
+
// Use setMistLevel for devices that support it
|
|
1245
|
+
this.platform.log.debug(`Setting mist level to ${speed} for device: ${this.device.deviceName}`);
|
|
957
1246
|
success = await extendedDevice.setMistLevel(speed);
|
|
958
1247
|
} else {
|
|
959
1248
|
// Fall back to changeFanSpeed for other humidifier types
|