homebridge-levoit-humidifiers 1.3.1 → 1.5.0-beta11
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/README.md +51 -25
- package/dist/VeSyncAccessory.d.ts +4 -0
- package/dist/VeSyncAccessory.d.ts.map +1 -1
- package/dist/VeSyncAccessory.js +75 -15
- package/dist/VeSyncAccessory.js.map +1 -1
- package/dist/api/VeSync.d.ts +1 -1
- package/dist/api/VeSync.d.ts.map +1 -1
- package/dist/api/VeSync.js +16 -11
- package/dist/api/VeSync.js.map +1 -1
- package/dist/api/VeSyncFan.d.ts +18 -6
- package/dist/api/VeSyncFan.d.ts.map +1 -1
- package/dist/api/VeSyncFan.js +64 -9
- package/dist/api/VeSyncFan.js.map +1 -1
- package/dist/api/deviceTypes.d.ts +4 -1
- package/dist/api/deviceTypes.d.ts.map +1 -1
- package/dist/api/deviceTypes.js +24 -5
- package/dist/api/deviceTypes.js.map +1 -1
- package/dist/characteristics/Active.js +1 -1
- package/dist/characteristics/Active.js.map +1 -1
- package/dist/characteristics/CurrentState.d.ts.map +1 -1
- package/dist/characteristics/CurrentState.js +7 -1
- package/dist/characteristics/CurrentState.js.map +1 -1
- package/dist/characteristics/DisplayState.d.ts +8 -0
- package/dist/characteristics/DisplayState.d.ts.map +1 -0
- package/dist/characteristics/DisplayState.js +14 -0
- package/dist/characteristics/DisplayState.js.map +1 -0
- package/dist/characteristics/LightBrightness.d.ts +8 -0
- package/dist/characteristics/LightBrightness.d.ts.map +1 -0
- package/dist/characteristics/LightBrightness.js +17 -0
- package/dist/characteristics/LightBrightness.js.map +1 -0
- package/dist/characteristics/LightState.d.ts +8 -0
- package/dist/characteristics/LightState.d.ts.map +1 -0
- package/dist/characteristics/LightState.js +19 -0
- package/dist/characteristics/LightState.js.map +1 -0
- package/dist/characteristics/MistLevel.d.ts.map +1 -1
- package/dist/characteristics/MistLevel.js +3 -1
- package/dist/characteristics/MistLevel.js.map +1 -1
- package/dist/characteristics/SleepState.d.ts +8 -0
- package/dist/characteristics/SleepState.d.ts.map +1 -0
- package/dist/characteristics/SleepState.js +25 -0
- package/dist/characteristics/SleepState.js.map +1 -0
- package/dist/characteristics/TargetHumidity.d.ts +8 -0
- package/dist/characteristics/TargetHumidity.d.ts.map +1 -0
- package/dist/characteristics/TargetHumidity.js +30 -0
- package/dist/characteristics/TargetHumidity.js.map +1 -0
- package/dist/characteristics/TargetState.d.ts +1 -2
- package/dist/characteristics/TargetState.d.ts.map +1 -1
- package/dist/characteristics/TargetState.js +2 -25
- package/dist/characteristics/TargetState.js.map +1 -1
- package/images/auto.png +0 -0
- package/images/display.png +0 -0
- package/images/light.png +0 -0
- package/images/logs.png +0 -0
- package/images/manual.png +0 -0
- package/images/services.png +0 -0
- package/images/services2.png +0 -0
- package/images/sleep.png +0 -0
- package/package.json +2 -2
- package/images/humidity.png +0 -0
- package/images/off.png +0 -0
package/README.md
CHANGED
|
@@ -2,34 +2,58 @@
|
|
|
2
2
|
|
|
3
3
|
This is a Homebridge plugin to control Levoit Humidifiers via the VeSync Platform.
|
|
4
4
|
|
|
5
|
-
| Supported Versions |
|
|
6
|
-
|
|
7
|
-
| Classic 300S | ✅
|
|
8
|
-
| Classic 200S | ✅
|
|
9
|
-
| Dual 200S | ✅
|
|
10
|
-
| Dual 200S (EU model) | ✅
|
|
11
|
-
| Dual 200S (UK model) | ✅
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
| Supported Versions | Auto Mode | Cool Mode | Sleep Mode | Night Light | Display Toggle | Humidity Sensor | Warm Mode |
|
|
6
|
+
|----------------------|-----------|-----------|------------|-------------|----------------|-----------------|-------------|
|
|
7
|
+
| Classic 300S | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
|
|
8
|
+
| Classic 200S | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ |
|
|
9
|
+
| Dual 200S | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ |
|
|
10
|
+
| Dual 200S (EU model) | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ |
|
|
11
|
+
| Dual 200S (UK model) | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ | ❌ |
|
|
12
|
+
| LV600S | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | Coming Soon |
|
|
13
|
+
|
|
14
|
+
This plugin was forked
|
|
15
|
+
from [RaresAil's Levoit Air Purifiers repo](https://github.com/RaresAil/homebridge-levoit-air-purifier) and adds logic
|
|
16
|
+
for the Levoit Humidifers.
|
|
14
17
|
|
|
15
18
|
### Features
|
|
16
19
|
|
|
17
|
-
1.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
1. Target Humidity
|
|
21
|
+
- Sets humidifier to Auto and sets the Target Humidity to the desired level.
|
|
22
|
+
- Can also change Target Humidity in Sleep Mode.
|
|
20
23
|
|
|
21
|
-
2.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
2. Mist Level
|
|
25
|
+
- Sets humidifier to Manual and sets the Mist Level to the desired level.
|
|
26
|
+
- When set to Level 0, turns the device off.
|
|
27
|
+
- Levels 1-9 on Classic300s, Classic200s, and LV600S
|
|
28
|
+
- Levels 1-2 on Dual200s, Dual200S EU, and Dual200S UK
|
|
24
29
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
3. Sleep Mode
|
|
31
|
+
- This switches the device between Sleep Mode (On) and Auto Mode (Off)
|
|
32
|
+
- Sleep Mode Target Humidity is controlled by the Target Humidity slider, too.
|
|
33
|
+
|
|
34
|
+
4. Night Light
|
|
35
|
+
- Supported on LV600S and Classic300s
|
|
36
|
+
- 4 brightness levels
|
|
37
|
+
|
|
38
|
+
5. Display Toggle
|
|
39
|
+
- Toggles the display on/off
|
|
28
40
|
|
|
29
|
-
|
|
30
|
-
|
|
41
|
+
6. Humidity Sensor
|
|
42
|
+
- Sensor that displays current Humidity %
|
|
31
43
|
|
|
32
|
-
|
|
44
|
+
### TODOs
|
|
45
|
+
|
|
46
|
+
* Add LV600S Warm Mode
|
|
47
|
+
|
|
48
|
+
### Details
|
|
49
|
+
|
|
50
|
+
<a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/services2.png?raw=true" width=25% height=25%></a>
|
|
51
|
+
<a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/auto.png?raw=true" width=25% height=25%></a>
|
|
52
|
+
<a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/manual.png?raw=true" width=25% height=25%></a>
|
|
53
|
+
<a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/display.png?raw=true" width=25% height=25%></a>
|
|
54
|
+
<a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/light.png?raw=true" width=25% height=25%></a>
|
|
55
|
+
<a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/sleep.png?raw=true" width=25% height=25%></a>
|
|
56
|
+
<a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/services.png?raw=true" width=25% height=25%></a>
|
|
33
57
|
|
|
34
58
|
### Configuration
|
|
35
59
|
|
|
@@ -38,9 +62,11 @@ The timers are not included because you can accomplish similar results by using
|
|
|
38
62
|
- Setup the platform plugin as a child bridge for better performance
|
|
39
63
|
- Save and restart Homebridge.
|
|
40
64
|
|
|
41
|
-
This plugin requires your VeSync credentials as it communicates with the VeSync devices via VeSync's own API. Your
|
|
65
|
+
This plugin requires your VeSync credentials as it communicates with the VeSync devices via VeSync's own API. Your
|
|
66
|
+
credentials are only stored in the Homebridge config and not sent to any server except VeSync's.
|
|
42
67
|
|
|
43
|
-
You can also do this directly via the homebridge config by adding your credentials to the config file under platforms.
|
|
68
|
+
You can also do this directly via the homebridge config by adding your credentials to the config file under platforms.
|
|
69
|
+
Replace the values of `username` and `password` by your credentials.
|
|
44
70
|
|
|
45
71
|
```json
|
|
46
72
|
{
|
|
@@ -75,13 +101,13 @@ In the config file, add `enableDebugMode: true`
|
|
|
75
101
|
|
|
76
102
|
### Local Development
|
|
77
103
|
|
|
78
|
-
To setup the local project clone
|
|
104
|
+
To setup the local project, clone this repo and run the following from the root directory:
|
|
79
105
|
|
|
80
106
|
```
|
|
81
107
|
yarn install
|
|
82
108
|
```
|
|
83
109
|
|
|
84
|
-
|
|
110
|
+
To run locally, make sure to install Homebridge locally, and then run:
|
|
85
111
|
|
|
86
112
|
```
|
|
87
113
|
yarn watch
|
|
@@ -11,6 +11,10 @@ export default class VeSyncAccessory {
|
|
|
11
11
|
private readonly accessory;
|
|
12
12
|
private humiditySensorService;
|
|
13
13
|
private humidifierService;
|
|
14
|
+
private nightLight;
|
|
15
|
+
private sleepSwitch;
|
|
16
|
+
private displaySwitch;
|
|
17
|
+
private mistService;
|
|
14
18
|
get UUID(): string;
|
|
15
19
|
private get device();
|
|
16
20
|
private get getValues();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VeSyncAccessory.d.ts","sourceRoot":"","sources":["../src/VeSyncAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AAEnC,OAAO,QAAQ,EAAE,EAAC,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAI7D,OAAO,SAAS,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"VeSyncAccessory.d.ts","sourceRoot":"","sources":["../src/VeSyncAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AAEnC,OAAO,QAAQ,EAAE,EAAC,uBAAuB,EAAC,MAAM,YAAY,CAAC;AAI7D,OAAO,SAAS,MAAM,iBAAiB,CAAC;AASxC,oBAAY,iBAAiB,GAAG,QAAQ,CAAC;IACrC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,SAAS,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,CAAC,OAAO,OAAO,eAAe;IA4B5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IA5B9B,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,WAAW,CAAU;IAE7B,IAAW,IAAI,WAEd;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,KAAK,SAAS,GASpB;gBAGoB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,uBAAuB;CAiI1D"}
|
package/dist/VeSyncAccessory.js
CHANGED
|
@@ -8,6 +8,11 @@ const Humidity_1 = __importDefault(require("./characteristics/Humidity"));
|
|
|
8
8
|
const Active_1 = __importDefault(require("./characteristics/Active"));
|
|
9
9
|
const MistLevel_1 = __importDefault(require("./characteristics/MistLevel"));
|
|
10
10
|
const TargetState_1 = __importDefault(require("./characteristics/TargetState"));
|
|
11
|
+
const SleepState_1 = __importDefault(require("./characteristics/SleepState"));
|
|
12
|
+
const LightBrightness_1 = __importDefault(require("./characteristics/LightBrightness"));
|
|
13
|
+
const DisplayState_1 = __importDefault(require("./characteristics/DisplayState"));
|
|
14
|
+
const TargetHumidity_1 = __importDefault(require("./characteristics/TargetHumidity"));
|
|
15
|
+
const LightState_1 = __importDefault(require("./characteristics/LightState"));
|
|
11
16
|
class VeSyncAccessory {
|
|
12
17
|
constructor(platform, accessory) {
|
|
13
18
|
this.platform = platform;
|
|
@@ -19,13 +24,17 @@ class VeSyncAccessory {
|
|
|
19
24
|
.setCharacteristic(this.platform.Characteristic.Model, model)
|
|
20
25
|
.setCharacteristic(this.platform.Characteristic.SerialNumber, mac);
|
|
21
26
|
this.humidifierService =
|
|
22
|
-
this.accessory.getService(
|
|
23
|
-
this.accessory.addService(this.platform.Service.HumidifierDehumidifier);
|
|
27
|
+
this.accessory.getService("Target Humidity") ||
|
|
28
|
+
this.accessory.addService(this.platform.Service.HumidifierDehumidifier, "Target Humidity", "Target Humidity");
|
|
29
|
+
this.mistService =
|
|
30
|
+
this.accessory.getService("Mist Level") ||
|
|
31
|
+
this.accessory.addService(this.platform.Service.Fan, "Mist Level", "Mist Level");
|
|
32
|
+
this.displaySwitch =
|
|
33
|
+
this.accessory.getService("Display") ||
|
|
34
|
+
this.accessory.addService(this.platform.Service.Switch, "Display", "Display");
|
|
24
35
|
this.humiditySensorService =
|
|
25
|
-
this.accessory.getService(
|
|
26
|
-
this.accessory.addService(this.platform.Service.HumiditySensor);
|
|
27
|
-
this.humidifierService.setPrimaryService(true);
|
|
28
|
-
this.humidifierService.addLinkedService(this.humiditySensorService);
|
|
36
|
+
this.accessory.getService("Humidity Sensor") ||
|
|
37
|
+
this.accessory.addService(this.platform.Service.HumiditySensor, "Humidity Sensor", "Humidity Sensor");
|
|
29
38
|
this.humidifierService
|
|
30
39
|
.getCharacteristic(this.platform.Characteristic.Active)
|
|
31
40
|
.onGet(Active_1.default.get.bind(this))
|
|
@@ -33,14 +42,13 @@ class VeSyncAccessory {
|
|
|
33
42
|
this.humidifierService
|
|
34
43
|
.getCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState)
|
|
35
44
|
.setProps({
|
|
36
|
-
validValues: [
|
|
45
|
+
validValues: [1],
|
|
37
46
|
})
|
|
38
|
-
.onGet(TargetState_1.default.get.bind(this))
|
|
39
|
-
.onSet(TargetState_1.default.set.bind(this));
|
|
47
|
+
.onGet(TargetState_1.default.get.bind(this));
|
|
40
48
|
this.humidifierService
|
|
41
49
|
.getCharacteristic(this.platform.Characteristic.CurrentHumidifierDehumidifierState)
|
|
42
50
|
.setProps({
|
|
43
|
-
validValues: [
|
|
51
|
+
validValues: [1, 2],
|
|
44
52
|
})
|
|
45
53
|
.onGet(CurrentState_1.default.get.bind(this));
|
|
46
54
|
this.humidifierService
|
|
@@ -48,17 +56,69 @@ class VeSyncAccessory {
|
|
|
48
56
|
.setProps({
|
|
49
57
|
minStep: 1,
|
|
50
58
|
minValue: 0,
|
|
59
|
+
maxValue: 100,
|
|
60
|
+
})
|
|
61
|
+
.onGet(TargetHumidity_1.default.get.bind(this))
|
|
62
|
+
.onSet(TargetHumidity_1.default.set.bind(this));
|
|
63
|
+
this.humidifierService
|
|
64
|
+
.getCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity)
|
|
65
|
+
.onGet(Humidity_1.default.get.bind(this));
|
|
66
|
+
this.mistService
|
|
67
|
+
.getCharacteristic(this.platform.Characteristic.RotationSpeed)
|
|
68
|
+
.setProps({
|
|
69
|
+
minStep: 1,
|
|
70
|
+
minValue: 0,
|
|
51
71
|
maxValue: this.device.deviceType.mistLevels,
|
|
52
72
|
validValues: this.getValues
|
|
53
73
|
})
|
|
54
74
|
.onGet(MistLevel_1.default.get.bind(this))
|
|
55
75
|
.onSet(MistLevel_1.default.set.bind(this));
|
|
56
|
-
this.
|
|
57
|
-
.getCharacteristic(this.platform.Characteristic.
|
|
58
|
-
.onGet(
|
|
76
|
+
this.displaySwitch
|
|
77
|
+
.getCharacteristic(this.platform.Characteristic.On)
|
|
78
|
+
.onGet(DisplayState_1.default.get.bind(this))
|
|
79
|
+
.onSet(DisplayState_1.default.set.bind(this));
|
|
59
80
|
this.humiditySensorService
|
|
60
81
|
.getCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity)
|
|
61
82
|
.onGet(Humidity_1.default.get.bind(this));
|
|
83
|
+
if (this.device.deviceType.hasSleepMode) {
|
|
84
|
+
this.sleepSwitch =
|
|
85
|
+
this.accessory.getService("Sleep Mode") ||
|
|
86
|
+
this.accessory.addService(this.platform.Service.Switch, "Sleep Mode", "Sleep Mode");
|
|
87
|
+
this.sleepSwitch
|
|
88
|
+
.getCharacteristic(this.platform.Characteristic.On)
|
|
89
|
+
.onGet(SleepState_1.default.get.bind(this))
|
|
90
|
+
.onSet(SleepState_1.default.set.bind(this));
|
|
91
|
+
}
|
|
92
|
+
if (this.device.deviceType.hasLight) {
|
|
93
|
+
this.nightLight =
|
|
94
|
+
this.accessory.getService("Night Light") ||
|
|
95
|
+
this.accessory.addService(this.platform.Service.Lightbulb, "Night Light", "Night Light");
|
|
96
|
+
this.nightLight
|
|
97
|
+
.getCharacteristic(this.platform.Characteristic.On)
|
|
98
|
+
.onGet(LightState_1.default.get.bind(this))
|
|
99
|
+
.onSet(LightState_1.default.set.bind(this));
|
|
100
|
+
this.nightLight
|
|
101
|
+
.getCharacteristic(this.platform.Characteristic.Brightness)
|
|
102
|
+
.setProps({
|
|
103
|
+
minStep: 25,
|
|
104
|
+
minValue: 0,
|
|
105
|
+
maxValue: 100,
|
|
106
|
+
validValues: [0, 25, 50, 75, 100]
|
|
107
|
+
})
|
|
108
|
+
.onGet(LightBrightness_1.default.get.bind(this))
|
|
109
|
+
.onSet(LightBrightness_1.default.set.bind(this));
|
|
110
|
+
}
|
|
111
|
+
// Link Services
|
|
112
|
+
this.humidifierService.setPrimaryService(true);
|
|
113
|
+
if (this.nightLight) {
|
|
114
|
+
this.humidifierService.addLinkedService(this.nightLight);
|
|
115
|
+
}
|
|
116
|
+
if (this.sleepSwitch) {
|
|
117
|
+
this.humidifierService.addLinkedService(this.sleepSwitch);
|
|
118
|
+
}
|
|
119
|
+
this.humidifierService.addLinkedService(this.mistService);
|
|
120
|
+
this.humidifierService.addLinkedService(this.displaySwitch);
|
|
121
|
+
this.humidifierService.addLinkedService(this.humiditySensorService);
|
|
62
122
|
}
|
|
63
123
|
get UUID() {
|
|
64
124
|
return this.device.uuid.toString();
|
|
@@ -68,8 +128,8 @@ class VeSyncAccessory {
|
|
|
68
128
|
}
|
|
69
129
|
get getValues() {
|
|
70
130
|
/*
|
|
71
|
-
Determines the number of mist level values to slide through in the
|
|
72
|
-
Returns an array that contains the range of values between
|
|
131
|
+
Determines the number of mist level values to slide through in the Mist Level slider.
|
|
132
|
+
Returns an array that contains the range of values between 1 and (mistLevels + 1).
|
|
73
133
|
We add 1 to mistLevels to account for 0 as a potential level.
|
|
74
134
|
Example: The Classic300s has 9 mist levels, so this function returns [0,1,2,3,4,5,6,7,8,9].
|
|
75
135
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VeSyncAccessory.js","sourceRoot":"","sources":["../src/VeSyncAccessory.ts"],"names":[],"mappings":";;;;;AAGA,kFAA0D;AAC1D,0EAAkD;AAClD,sEAA8C;AAE9C,4EAAoD;AACpD,gFAAwD;
|
|
1
|
+
{"version":3,"file":"VeSyncAccessory.js","sourceRoot":"","sources":["../src/VeSyncAccessory.ts"],"names":[],"mappings":"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"}
|
package/dist/api/VeSync.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import VeSyncFan from './VeSyncFan';
|
|
|
4
4
|
export declare enum BypassMethod {
|
|
5
5
|
STATUS = "getHumidifierStatus",
|
|
6
6
|
MODE = "setHumidityMode",
|
|
7
|
-
NIGHT = "
|
|
7
|
+
NIGHT = "setNightLightBrightness",
|
|
8
8
|
DISPLAY = "setDisplay",
|
|
9
9
|
SWITCH = "setSwitch",
|
|
10
10
|
HUMIDITY = "setTargetHumidity",
|
package/dist/api/VeSync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VeSync.d.ts","sourceRoot":"","sources":["../../src/api/VeSync.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAKlC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,oBAAY,YAAY;IACpB,MAAM,wBAAwB;IAC9B,IAAI,oBAAoB;IACxB,KAAK,
|
|
1
|
+
{"version":3,"file":"VeSync.d.ts","sourceRoot":"","sources":["../../src/api/VeSync.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,YAAY,CAAC;AAKlC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,oBAAY,YAAY;IACpB,MAAM,wBAAwB;IAC9B,IAAI,oBAAoB;IACxB,KAAK,4BAA4B;IACjC,OAAO,eAAe;IACtB,MAAM,cAAc;IACpB,QAAQ,sBAAsB;IAC9B,UAAU,oBAAoB;CACjC;AAID,MAAM,CAAC,OAAO,OAAO,MAAM;IAiBnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;aACT,SAAS,EAAE,SAAS;aACpB,GAAG,EAAE,MAAM;IAnB/B,OAAO,CAAC,GAAG,CAAC,CAAgB;IAC5B,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAW;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmE;IACzF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAuB;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAE7B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG5B;gBAGmB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,GAAG,EAAE,MAAM;IAI/B,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,cAAc;IAiBT,WAAW,CACpB,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,YAAY,EACpB,IAAI,KAAK,GACV,OAAO,CAAC,OAAO,CAAC;IAsDN,aAAa,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC;IAgC3C,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;YAO/B,KAAK;IAyEN,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAqDlD"}
|
package/dist/api/VeSync.js
CHANGED
|
@@ -13,14 +13,13 @@ var BypassMethod;
|
|
|
13
13
|
(function (BypassMethod) {
|
|
14
14
|
BypassMethod["STATUS"] = "getHumidifierStatus";
|
|
15
15
|
BypassMethod["MODE"] = "setHumidityMode";
|
|
16
|
-
BypassMethod["NIGHT"] = "
|
|
16
|
+
BypassMethod["NIGHT"] = "setNightLightBrightness";
|
|
17
17
|
BypassMethod["DISPLAY"] = "setDisplay";
|
|
18
18
|
BypassMethod["SWITCH"] = "setSwitch";
|
|
19
19
|
BypassMethod["HUMIDITY"] = "setTargetHumidity";
|
|
20
20
|
BypassMethod["MIST_LEVEL"] = "setVirtualLevel";
|
|
21
21
|
})(BypassMethod = exports.BypassMethod || (exports.BypassMethod = {}));
|
|
22
22
|
const lock = new async_lock_1.default();
|
|
23
|
-
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
24
23
|
class VeSync {
|
|
25
24
|
constructor(email, password, debugMode, log) {
|
|
26
25
|
this.email = email;
|
|
@@ -85,17 +84,21 @@ class VeSync {
|
|
|
85
84
|
...this.generateDetailBody(),
|
|
86
85
|
...this.generateBody(true)
|
|
87
86
|
});
|
|
87
|
+
// Explicitly fail if device is offline
|
|
88
|
+
if (response.data.msg == "device offline") {
|
|
89
|
+
this.log.error("VeSync cannot communicate with humidifier! Check the VeSync App.");
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
88
92
|
if (!(response === null || response === void 0 ? void 0 : response.data)) {
|
|
89
|
-
this.debugMode.debug('[SEND COMMAND]', 'No response data!! JSON:', JSON.stringify(response));
|
|
93
|
+
this.debugMode.debug('[SEND COMMAND]', 'No response data!! JSON:', JSON.stringify(response === null || response === void 0 ? void 0 : response.data));
|
|
90
94
|
}
|
|
91
95
|
const isSuccess = ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.code) === 0;
|
|
92
96
|
if (!isSuccess) {
|
|
93
|
-
this.debugMode.debug('[SEND COMMAND]', `Failed to send command ${method} to ${fan.name}`, `with (${JSON.stringify(body)})!`, `Response: ${JSON.stringify(response)}`);
|
|
97
|
+
this.debugMode.debug('[SEND COMMAND]', `Failed to send command ${method} to ${fan.name}`, `with (${JSON.stringify(body)})!`, `Response: ${JSON.stringify(response === null || response === void 0 ? void 0 : response.data)}`);
|
|
94
98
|
}
|
|
95
99
|
else {
|
|
96
100
|
this.debugMode.debug('[SEND COMMAND]', `Successfully sent command ${method} to ${fan.name}`, `with (${JSON.stringify(body)})!`, `Response: ${JSON.stringify(response.data)}`);
|
|
97
101
|
}
|
|
98
|
-
await delay(500);
|
|
99
102
|
return isSuccess;
|
|
100
103
|
});
|
|
101
104
|
}
|
|
@@ -110,10 +113,14 @@ class VeSync {
|
|
|
110
113
|
...this.generateDetailBody(),
|
|
111
114
|
...this.generateBody(true)
|
|
112
115
|
});
|
|
116
|
+
// Explicitly fail if device is offline
|
|
117
|
+
if (response.data.msg == "device offline") {
|
|
118
|
+
this.log.error("VeSync cannot communicate with humidifier! Check the VeSync App.");
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
113
121
|
if (!(response === null || response === void 0 ? void 0 : response.data)) {
|
|
114
|
-
this.debugMode.debug('[GET DEVICE INFO]', 'No response data!! JSON:', JSON.stringify(response));
|
|
122
|
+
this.debugMode.debug('[GET DEVICE INFO]', 'No response data!! JSON:', JSON.stringify(response === null || response === void 0 ? void 0 : response.data));
|
|
115
123
|
}
|
|
116
|
-
await delay(500);
|
|
117
124
|
return response.data;
|
|
118
125
|
});
|
|
119
126
|
}
|
|
@@ -146,7 +153,7 @@ class VeSync {
|
|
|
146
153
|
...this.AXIOS_OPTIONS
|
|
147
154
|
});
|
|
148
155
|
if (!(response === null || response === void 0 ? void 0 : response.data)) {
|
|
149
|
-
this.debugMode.debug('[LOGIN]', 'No response data!! JSON:', JSON.stringify(response));
|
|
156
|
+
this.debugMode.debug('[LOGIN]', 'No response data!! JSON:', JSON.stringify(response === null || response === void 0 ? void 0 : response.data));
|
|
150
157
|
return false;
|
|
151
158
|
}
|
|
152
159
|
const { result } = response.data;
|
|
@@ -170,7 +177,6 @@ class VeSync {
|
|
|
170
177
|
tk: this.token
|
|
171
178
|
}
|
|
172
179
|
});
|
|
173
|
-
await delay(500);
|
|
174
180
|
return true;
|
|
175
181
|
});
|
|
176
182
|
}
|
|
@@ -188,7 +194,7 @@ class VeSync {
|
|
|
188
194
|
...this.generateBody(true)
|
|
189
195
|
});
|
|
190
196
|
if (!(response === null || response === void 0 ? void 0 : response.data)) {
|
|
191
|
-
this.debugMode.debug('[GET DEVICES]', 'No response data!! JSON:', JSON.stringify(response));
|
|
197
|
+
this.debugMode.debug('[GET DEVICES]', 'No response data!! JSON:', JSON.stringify(response === null || response === void 0 ? void 0 : response.data));
|
|
192
198
|
return [];
|
|
193
199
|
}
|
|
194
200
|
if (!Array.isArray((_b = (_a = response.data) === null || _a === void 0 ? void 0 : _a.result) === null || _b === void 0 ? void 0 : _b.list)) {
|
|
@@ -201,7 +207,6 @@ class VeSync {
|
|
|
201
207
|
.filter(({ deviceType, type }) => !!deviceTypes_1.default.find(({ isValid }) => isValid(deviceType)) &&
|
|
202
208
|
type === 'wifi-air')
|
|
203
209
|
.map(VeSyncFan_1.default.fromResponse(this));
|
|
204
|
-
await delay(500);
|
|
205
210
|
return devices;
|
|
206
211
|
});
|
|
207
212
|
}
|
package/dist/api/VeSync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VeSync.js","sourceRoot":"","sources":["../../src/api/VeSync.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA2C;AAE3C,4DAAmC;AACnC,oDAA4B;AAE5B,gEAAwC;AAExC,4DAAoC;AAEpC,IAAY,YAQX;AARD,WAAY,YAAY;IACpB,8CAA8B,CAAA;IAC9B,wCAAwB,CAAA;IACxB,
|
|
1
|
+
{"version":3,"file":"VeSync.js","sourceRoot":"","sources":["../../src/api/VeSync.ts"],"names":[],"mappings":"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"}
|
package/dist/api/VeSyncFan.d.ts
CHANGED
|
@@ -10,9 +10,12 @@ export default class VeSyncFan {
|
|
|
10
10
|
readonly name: string;
|
|
11
11
|
private _mode;
|
|
12
12
|
private _mistLevel;
|
|
13
|
+
private _brightnessLevel;
|
|
13
14
|
readonly uuid: string;
|
|
14
15
|
private _isOn;
|
|
15
16
|
private _humidityLevel;
|
|
17
|
+
private _targetHumidity;
|
|
18
|
+
private _targetReached;
|
|
16
19
|
readonly configModule: string;
|
|
17
20
|
readonly cid: string;
|
|
18
21
|
readonly region: string;
|
|
@@ -21,24 +24,33 @@ export default class VeSyncFan {
|
|
|
21
24
|
private lock;
|
|
22
25
|
readonly deviceType: DeviceType;
|
|
23
26
|
private lastCheck;
|
|
24
|
-
private
|
|
27
|
+
private _displayOn;
|
|
25
28
|
readonly manufacturer = "Levoit";
|
|
26
29
|
get humidityLevel(): number;
|
|
27
|
-
get
|
|
30
|
+
get targetHumidity(): number;
|
|
31
|
+
get displayOn(): boolean;
|
|
32
|
+
get brightnessLevel(): number;
|
|
28
33
|
get mistLevel(): number;
|
|
29
34
|
get mode(): Mode;
|
|
35
|
+
get targetReached(): boolean;
|
|
30
36
|
get isOn(): boolean;
|
|
31
|
-
constructor(client: VeSync, name: string, _mode: Mode, _mistLevel: number, uuid: string, _isOn: boolean, _humidityLevel: number, configModule: string, cid: string, region: string, model: string, mac: string);
|
|
37
|
+
constructor(client: VeSync, name: string, _mode: Mode, _mistLevel: number, _brightnessLevel: number, uuid: string, _isOn: boolean, _humidityLevel: number, _targetHumidity: number, _targetReached: boolean, configModule: string, cid: string, region: string, model: string, mac: string);
|
|
32
38
|
setPower(power: boolean): Promise<boolean>;
|
|
39
|
+
setTargetHumidity(level: number): Promise<boolean>;
|
|
33
40
|
changeMode(mode: Mode): Promise<boolean>;
|
|
41
|
+
setBrightness(brightness: number): Promise<boolean>;
|
|
42
|
+
setDisplay(power: boolean): Promise<boolean>;
|
|
34
43
|
changeMistLevel(mistLevel: number): Promise<boolean>;
|
|
35
44
|
updateInfo(): Promise<void>;
|
|
36
|
-
static fromResponse: (client: VeSync) => ({ deviceStatus, deviceName, mistLevel,
|
|
45
|
+
static fromResponse: (client: VeSync) => ({ deviceStatus, deviceName, mode, mistLevel, brightnessLevel, humidity, targetHumidity, targetReached, uuid, configModule, cid, deviceRegion, deviceType, macID }: {
|
|
37
46
|
deviceStatus: any;
|
|
38
47
|
deviceName: any;
|
|
39
|
-
mistLevel: any;
|
|
40
48
|
mode: any;
|
|
41
|
-
|
|
49
|
+
mistLevel: any;
|
|
50
|
+
brightnessLevel: any;
|
|
51
|
+
humidity: any;
|
|
52
|
+
targetHumidity: any;
|
|
53
|
+
targetReached: any;
|
|
42
54
|
uuid: any;
|
|
43
55
|
configModule: any;
|
|
44
56
|
cid: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VeSyncFan.d.ts","sourceRoot":"","sources":["../../src/api/VeSyncFan.ts"],"names":[],"mappings":"AACA,OAAoB,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEtD,OAAO,MAAsB,MAAM,UAAU,CAAC;AAE9C,oBAAY,IAAI;IACZ,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;CAChB;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;
|
|
1
|
+
{"version":3,"file":"VeSyncFan.d.ts","sourceRoot":"","sources":["../../src/api/VeSyncFan.ts"],"names":[],"mappings":"AACA,OAAoB,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEtD,OAAO,MAAsB,MAAM,UAAU,CAAC;AAE9C,oBAAY,IAAI;IACZ,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;CAChB;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;IA0CtB,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,IAAI,EAAE,MAAM;IAC5B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;aACR,IAAI,EAAE,MAAM;IAC5B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,cAAc;aACN,YAAY,EAAE,MAAM;aACpB,GAAG,EAAE,MAAM;aACX,MAAM,EAAE,MAAM;aACd,KAAK,EAAE,MAAM;aACb,GAAG,EAAE,MAAM;IAvD/B,OAAO,CAAC,IAAI,CAA8B;IAC1C,SAAgB,UAAU,EAAE,UAAU,CAAC;IACvC,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,UAAU,CAAQ;IAE1B,SAAgB,YAAY,YAAY;IAExC,IAAW,aAAa,WAEvB;IAED,IAAW,cAAc,WAExB;IAED,IAAW,SAAS,YAEnB;IAED,IAAW,eAAe,WAEzB;IAED,IAAW,SAAS,WAEnB;IAED,IAAW,IAAI,SAEd;IAED,IAAW,aAAa,YAEvB;IAED,IAAW,IAAI,YAEd;gBAGoB,MAAM,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACpB,KAAK,EAAE,IAAI,EACX,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACpB,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,OAAO,EACf,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM;IAKlB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAe1C,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAelD,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBxC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAanD,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAa5C,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmBpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BxC,OAAc,YAAY,WACb,MAAM;;;;;;;;;;;;;;;oBAiCL;CACjB"}
|
package/dist/api/VeSyncFan.js
CHANGED
|
@@ -14,14 +14,17 @@ var Mode;
|
|
|
14
14
|
Mode["Auto"] = "auto";
|
|
15
15
|
})(Mode = exports.Mode || (exports.Mode = {}));
|
|
16
16
|
class VeSyncFan {
|
|
17
|
-
constructor(client, name, _mode, _mistLevel, uuid, _isOn, _humidityLevel, configModule, cid, region, model, mac) {
|
|
17
|
+
constructor(client, name, _mode, _mistLevel, _brightnessLevel, uuid, _isOn, _humidityLevel, _targetHumidity, _targetReached, configModule, cid, region, model, mac) {
|
|
18
18
|
this.client = client;
|
|
19
19
|
this.name = name;
|
|
20
20
|
this._mode = _mode;
|
|
21
21
|
this._mistLevel = _mistLevel;
|
|
22
|
+
this._brightnessLevel = _brightnessLevel;
|
|
22
23
|
this.uuid = uuid;
|
|
23
24
|
this._isOn = _isOn;
|
|
24
25
|
this._humidityLevel = _humidityLevel;
|
|
26
|
+
this._targetHumidity = _targetHumidity;
|
|
27
|
+
this._targetReached = _targetReached;
|
|
25
28
|
this.configModule = configModule;
|
|
26
29
|
this.cid = cid;
|
|
27
30
|
this.region = region;
|
|
@@ -29,15 +32,21 @@ class VeSyncFan {
|
|
|
29
32
|
this.mac = mac;
|
|
30
33
|
this.lock = new async_lock_1.default();
|
|
31
34
|
this.lastCheck = 0;
|
|
32
|
-
this.
|
|
35
|
+
this._displayOn = true;
|
|
33
36
|
this.manufacturer = 'Levoit';
|
|
34
37
|
this.deviceType = deviceTypes_1.default.find(({ isValid }) => isValid(this.model));
|
|
35
38
|
}
|
|
36
39
|
get humidityLevel() {
|
|
37
40
|
return this._humidityLevel;
|
|
38
41
|
}
|
|
39
|
-
get
|
|
40
|
-
return this.
|
|
42
|
+
get targetHumidity() {
|
|
43
|
+
return this._targetHumidity;
|
|
44
|
+
}
|
|
45
|
+
get displayOn() {
|
|
46
|
+
return this._displayOn;
|
|
47
|
+
}
|
|
48
|
+
get brightnessLevel() {
|
|
49
|
+
return this._brightnessLevel;
|
|
41
50
|
}
|
|
42
51
|
get mistLevel() {
|
|
43
52
|
return this._mistLevel;
|
|
@@ -45,10 +54,14 @@ class VeSyncFan {
|
|
|
45
54
|
get mode() {
|
|
46
55
|
return this._mode;
|
|
47
56
|
}
|
|
57
|
+
get targetReached() {
|
|
58
|
+
return this._targetReached;
|
|
59
|
+
}
|
|
48
60
|
get isOn() {
|
|
49
61
|
return this._isOn;
|
|
50
62
|
}
|
|
51
63
|
async setPower(power) {
|
|
64
|
+
this.client.log.info("Setting Power to " + power);
|
|
52
65
|
const success = await this.client.sendCommand(this, VeSync_1.BypassMethod.SWITCH, {
|
|
53
66
|
enabled: power,
|
|
54
67
|
id: 0
|
|
@@ -58,15 +71,54 @@ class VeSyncFan {
|
|
|
58
71
|
}
|
|
59
72
|
return success;
|
|
60
73
|
}
|
|
61
|
-
async
|
|
62
|
-
|
|
63
|
-
|
|
74
|
+
async setTargetHumidity(level) {
|
|
75
|
+
this.client.log.info("Setting Target Humidity to " + level);
|
|
76
|
+
const success = await this.client.sendCommand(this, VeSync_1.BypassMethod.HUMIDITY, {
|
|
77
|
+
"target_humidity": level,
|
|
78
|
+
id: 0
|
|
64
79
|
});
|
|
80
|
+
if (success) {
|
|
81
|
+
this._targetHumidity = level;
|
|
82
|
+
}
|
|
83
|
+
return success;
|
|
84
|
+
}
|
|
85
|
+
async changeMode(mode) {
|
|
86
|
+
// Don't change the mode if we are already in that mode
|
|
87
|
+
let success;
|
|
88
|
+
if (this._mode == mode) {
|
|
89
|
+
success = true;
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
this.client.log.info("Changing Mode to " + mode);
|
|
93
|
+
success = await this.client.sendCommand(this, VeSync_1.BypassMethod.MODE, {
|
|
94
|
+
mode: mode.toString()
|
|
95
|
+
});
|
|
96
|
+
}
|
|
65
97
|
if (success) {
|
|
66
98
|
this._mode = mode;
|
|
67
99
|
}
|
|
68
100
|
return success;
|
|
69
101
|
}
|
|
102
|
+
async setBrightness(brightness) {
|
|
103
|
+
this.client.log.info("Setting Night Light to " + brightness);
|
|
104
|
+
const success = await this.client.sendCommand(this, VeSync_1.BypassMethod.NIGHT, {
|
|
105
|
+
"night_light_brightness": brightness
|
|
106
|
+
});
|
|
107
|
+
if (success) {
|
|
108
|
+
this._brightnessLevel = brightness;
|
|
109
|
+
}
|
|
110
|
+
return success;
|
|
111
|
+
}
|
|
112
|
+
async setDisplay(power) {
|
|
113
|
+
this.client.log.info("Setting Display to " + power);
|
|
114
|
+
const success = await this.client.sendCommand(this, VeSync_1.BypassMethod.DISPLAY, {
|
|
115
|
+
state: power
|
|
116
|
+
});
|
|
117
|
+
if (success) {
|
|
118
|
+
this._displayOn = power;
|
|
119
|
+
}
|
|
120
|
+
return success;
|
|
121
|
+
}
|
|
70
122
|
async changeMistLevel(mistLevel) {
|
|
71
123
|
this.client.log.info("Setting Mist Level to " + mistLevel);
|
|
72
124
|
if (mistLevel > this.deviceType.mistLevels || mistLevel < 1) {
|
|
@@ -96,10 +148,13 @@ class VeSyncFan {
|
|
|
96
148
|
}
|
|
97
149
|
const result = (_b = data === null || data === void 0 ? void 0 : data.result) === null || _b === void 0 ? void 0 : _b.result;
|
|
98
150
|
this._humidityLevel = result.humidity;
|
|
99
|
-
this.
|
|
151
|
+
this._targetHumidity = result.configuration.auto_target_humidity;
|
|
152
|
+
this._targetReached = result.automatic_stop_reach_target;
|
|
153
|
+
this._displayOn = result.display;
|
|
100
154
|
this._isOn = result.enabled;
|
|
101
155
|
this._mistLevel = result.mist_virtual_level;
|
|
102
156
|
this._mode = result.mode;
|
|
157
|
+
this._brightnessLevel = result.night_light_brightness;
|
|
103
158
|
}
|
|
104
159
|
catch (err) {
|
|
105
160
|
this.client.log.error(err === null || err === void 0 ? void 0 : err.message);
|
|
@@ -108,5 +163,5 @@ class VeSyncFan {
|
|
|
108
163
|
}
|
|
109
164
|
}
|
|
110
165
|
exports.default = VeSyncFan;
|
|
111
|
-
VeSyncFan.fromResponse = (client) => ({ deviceStatus, deviceName, mistLevel,
|
|
166
|
+
VeSyncFan.fromResponse = (client) => ({ deviceStatus, deviceName, mode, mistLevel, brightnessLevel, humidity, targetHumidity, targetReached, uuid, configModule, cid, deviceRegion, deviceType, macID }) => new VeSyncFan(client, deviceName, mode, parseInt(mistLevel !== null && mistLevel !== void 0 ? mistLevel : '0', 10), brightnessLevel, uuid, deviceStatus === 'on', humidity, targetHumidity, targetReached, configModule, cid, deviceRegion, deviceType, macID);
|
|
112
167
|
//# sourceMappingURL=VeSyncFan.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VeSyncFan.js","sourceRoot":"","sources":["../../src/api/VeSyncFan.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAmC;AACnC,gEAAsD;AAEtD,qCAA8C;AAE9C,IAAY,IAIX;AAJD,WAAY,IAAI;IACZ,yBAAiB,CAAA;IACjB,uBAAe,CAAA;IACf,qBAAa,CAAA;AACjB,CAAC,EAJW,IAAI,GAAJ,YAAI,KAAJ,YAAI,QAIf;AAED,MAAqB,SAAS;
|
|
1
|
+
{"version":3,"file":"VeSyncFan.js","sourceRoot":"","sources":["../../src/api/VeSyncFan.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,16 @@ export declare enum DeviceName {
|
|
|
3
3
|
Classic200S = "Classic200S",
|
|
4
4
|
Dual200S = "Dual200S",
|
|
5
5
|
Dual200S_EU = "LUH-D301S-WEU",
|
|
6
|
-
Dual200S_UK = "LUH-D301S-WUK"
|
|
6
|
+
Dual200S_UK = "LUH-D301S-WUK",
|
|
7
|
+
LV600S = "LUH-A602S-WUS"
|
|
7
8
|
}
|
|
8
9
|
export interface DeviceType {
|
|
9
10
|
isValid: (input: string) => boolean;
|
|
10
11
|
hasAutoMode: boolean;
|
|
11
12
|
mistLevels: number;
|
|
12
13
|
mistMinLevel: number;
|
|
14
|
+
hasLight: boolean;
|
|
15
|
+
hasSleepMode: boolean;
|
|
13
16
|
}
|
|
14
17
|
declare const deviceTypes: DeviceType[];
|
|
15
18
|
export default deviceTypes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTypes.d.ts","sourceRoot":"","sources":["../../src/api/deviceTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,WAAW,kBAAkB;IAC7B,WAAW,kBAAkB;
|
|
1
|
+
{"version":3,"file":"deviceTypes.d.ts","sourceRoot":"","sources":["../../src/api/deviceTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,WAAW,kBAAkB;IAC7B,WAAW,kBAAkB;IAC7B,MAAM,kBAAkB;CAC3B;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACzB;AAED,QAAA,MAAM,WAAW,EAAE,UAAU,EAoD5B,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
package/dist/api/deviceTypes.js
CHANGED
|
@@ -8,37 +8,56 @@ var DeviceName;
|
|
|
8
8
|
DeviceName["Dual200S"] = "Dual200S";
|
|
9
9
|
DeviceName["Dual200S_EU"] = "LUH-D301S-WEU";
|
|
10
10
|
DeviceName["Dual200S_UK"] = "LUH-D301S-WUK";
|
|
11
|
+
DeviceName["LV600S"] = "LUH-A602S-WUS";
|
|
11
12
|
})(DeviceName = exports.DeviceName || (exports.DeviceName = {}));
|
|
12
13
|
const deviceTypes = [
|
|
13
14
|
{
|
|
14
15
|
isValid: (input) => input.includes(DeviceName.Classic300S),
|
|
15
16
|
hasAutoMode: true,
|
|
16
17
|
mistMinLevel: 1,
|
|
17
|
-
mistLevels: 9
|
|
18
|
+
mistLevels: 9,
|
|
19
|
+
hasLight: true,
|
|
20
|
+
hasSleepMode: true
|
|
18
21
|
},
|
|
19
22
|
{
|
|
20
23
|
isValid: (input) => input.includes(DeviceName.Classic200S),
|
|
21
24
|
hasAutoMode: true,
|
|
22
25
|
mistMinLevel: 1,
|
|
23
|
-
mistLevels: 9
|
|
26
|
+
mistLevels: 9,
|
|
27
|
+
hasLight: false,
|
|
28
|
+
hasSleepMode: false
|
|
24
29
|
},
|
|
25
30
|
{
|
|
26
31
|
isValid: (input) => input.includes(DeviceName.Dual200S),
|
|
27
32
|
hasAutoMode: true,
|
|
28
33
|
mistMinLevel: 1,
|
|
29
|
-
mistLevels: 2
|
|
34
|
+
mistLevels: 2,
|
|
35
|
+
hasLight: false,
|
|
36
|
+
hasSleepMode: false
|
|
30
37
|
},
|
|
31
38
|
{
|
|
32
39
|
isValid: (input) => input.includes(DeviceName.Dual200S_EU),
|
|
33
40
|
hasAutoMode: true,
|
|
34
41
|
mistMinLevel: 1,
|
|
35
|
-
mistLevels: 2
|
|
42
|
+
mistLevels: 2,
|
|
43
|
+
hasLight: false,
|
|
44
|
+
hasSleepMode: false
|
|
36
45
|
},
|
|
37
46
|
{
|
|
38
47
|
isValid: (input) => input.includes(DeviceName.Dual200S_UK),
|
|
39
48
|
hasAutoMode: true,
|
|
40
49
|
mistMinLevel: 1,
|
|
41
|
-
mistLevels: 2
|
|
50
|
+
mistLevels: 2,
|
|
51
|
+
hasLight: false,
|
|
52
|
+
hasSleepMode: false
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
isValid: (input) => input.includes(DeviceName.LV600S),
|
|
56
|
+
hasAutoMode: true,
|
|
57
|
+
mistMinLevel: 1,
|
|
58
|
+
mistLevels: 9,
|
|
59
|
+
hasLight: true,
|
|
60
|
+
hasSleepMode: true
|
|
42
61
|
},
|
|
43
62
|
];
|
|
44
63
|
exports.default = deviceTypes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTypes.js","sourceRoot":"","sources":["../../src/api/deviceTypes.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"deviceTypes.js","sourceRoot":"","sources":["../../src/api/deviceTypes.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAOX;AAPD,WAAY,UAAU;IAClB,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;IAC3B,mCAAqB,CAAA;IACrB,2CAA6B,CAAA;IAC7B,2CAA6B,CAAA;IAC7B,sCAAwB,CAAA;AAC5B,CAAC,EAPW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAOrB;AAWD,MAAM,WAAW,GAAiB;IAC9B;QACI,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CACvB,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAC1C,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;KACrB;IACD;QACI,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CACvB,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAC1C,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACtB;IACD;QACI,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC/D,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACtB;IACD;QACI,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAClE,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACtB;IACD;QACI,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAClE,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,KAAK;KACtB;IACD;QACI,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CACvB,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QACrC,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,QAAQ,EAAE,IAAI;QACd,YAAY,EAAE,IAAI;KACrB;CACJ,CAAC;AAEF,kBAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Active.js","sourceRoot":"","sources":["../../src/characteristics/Active.ts"],"names":[],"mappings":";;AASA,MAAM,cAAc,GAGI;IACtB,GAAG,EAAE,KAAK;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC7C,MAAM,SAAS,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"Active.js","sourceRoot":"","sources":["../../src/characteristics/Active.ts"],"names":[],"mappings":";;AASA,MAAM,cAAc,GAGI;IACtB,GAAG,EAAE,KAAK;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC7C,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,CAAC;QAE7B,IAAI,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAClC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SACvC;IACH,CAAC;CACF,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrentState.d.ts","sourceRoot":"","sources":["../../src/characteristics/CurrentState.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"CurrentState.d.ts","sourceRoot":"","sources":["../../src/characteristics/CurrentState.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EAG3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAGrD,QAAA,MAAM,cAAc,EAAE;IAClB,GAAG,EAAE,wBAAwB,CAAC;CACjC,GAAG,iBAaH,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const VeSyncFan_1 = require("../api/VeSyncFan");
|
|
3
4
|
const characteristic = {
|
|
4
5
|
get: async function () {
|
|
5
6
|
await this.device.updateInfo();
|
|
6
7
|
const { HUMIDIFYING, IDLE } = this.platform.Characteristic.CurrentHumidifierDehumidifierState;
|
|
7
|
-
|
|
8
|
+
if (this.device.targetReached || !this.device.isOn || this.device.mode == VeSyncFan_1.Mode.Manual) {
|
|
9
|
+
return IDLE;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return HUMIDIFYING;
|
|
13
|
+
}
|
|
8
14
|
}
|
|
9
15
|
};
|
|
10
16
|
exports.default = characteristic;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrentState.js","sourceRoot":"","sources":["../../src/characteristics/CurrentState.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"CurrentState.js","sourceRoot":"","sources":["../../src/characteristics/CurrentState.ts"],"names":[],"mappings":";;AAOA,gDAAsC;AAEtC,MAAM,cAAc,GAEI;IACpB,GAAG,EAAE,KAAK;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAE/B,MAAM,EAAC,WAAW,EAAE,IAAI,EAAC,GACrB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kCAAkC,CAAC;QAEpE,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,gBAAI,CAAC,MAAM,EAAE;YACnF,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,WAAW,CAAC;SACtB;IACL,CAAC;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CharacteristicGetHandler, CharacteristicSetHandler } from 'homebridge';
|
|
2
|
+
import { AccessoryThisType } from '../VeSyncAccessory';
|
|
3
|
+
declare const characteristic: {
|
|
4
|
+
get: CharacteristicGetHandler;
|
|
5
|
+
set: CharacteristicSetHandler;
|
|
6
|
+
} & AccessoryThisType;
|
|
7
|
+
export default characteristic;
|
|
8
|
+
//# sourceMappingURL=DisplayState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisplayState.d.ts","sourceRoot":"","sources":["../../src/characteristics/DisplayState.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,wBAAwB,EAG3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAErD,QAAA,MAAM,cAAc,EAAE;IAClB,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,wBAAwB,CAAC;CACjC,GAAG,iBASH,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const characteristic = {
|
|
4
|
+
get: async function () {
|
|
5
|
+
await this.device.updateInfo();
|
|
6
|
+
return this.device.displayOn;
|
|
7
|
+
},
|
|
8
|
+
set: async function (value) {
|
|
9
|
+
const boolValue = value == 1;
|
|
10
|
+
await this.device.setDisplay(boolValue);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
exports.default = characteristic;
|
|
14
|
+
//# sourceMappingURL=DisplayState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DisplayState.js","sourceRoot":"","sources":["../../src/characteristics/DisplayState.ts"],"names":[],"mappings":";;AASA,MAAM,cAAc,GAGI;IACpB,GAAG,EAAE,KAAK;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IACjC,CAAC;IACD,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC3C,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CharacteristicGetHandler, CharacteristicSetHandler } from 'homebridge';
|
|
2
|
+
import { AccessoryThisType } from '../VeSyncAccessory';
|
|
3
|
+
declare const characteristic: {
|
|
4
|
+
get: CharacteristicGetHandler;
|
|
5
|
+
set: CharacteristicSetHandler;
|
|
6
|
+
} & AccessoryThisType;
|
|
7
|
+
export default characteristic;
|
|
8
|
+
//# sourceMappingURL=LightBrightness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LightBrightness.d.ts","sourceRoot":"","sources":["../../src/characteristics/LightBrightness.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,wBAAwB,EAG3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAErD,QAAA,MAAM,cAAc,EAAE;IAClB,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,wBAAwB,CAAC;CACjC,GAAG,iBAaH,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const characteristic = {
|
|
4
|
+
get: async function () {
|
|
5
|
+
await this.device.updateInfo();
|
|
6
|
+
return this.device.brightnessLevel;
|
|
7
|
+
},
|
|
8
|
+
set: async function (value) {
|
|
9
|
+
// If light is on, and we are applying a non-zero value, change brightness to that level.
|
|
10
|
+
// Otherwise, LightState will handle on / off switching.
|
|
11
|
+
if (this.device.brightnessLevel > 0 && value > 0) {
|
|
12
|
+
await this.device.setBrightness(Number(value));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
exports.default = characteristic;
|
|
17
|
+
//# sourceMappingURL=LightBrightness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LightBrightness.js","sourceRoot":"","sources":["../../src/characteristics/LightBrightness.ts"],"names":[],"mappings":";;AASA,MAAM,cAAc,GAGI;IACpB,GAAG,EAAE,KAAK;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAE/B,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACvC,CAAC;IACD,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC3C,yFAAyF;QACzF,wDAAwD;QACxD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;YAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SAClD;IACL,CAAC;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CharacteristicGetHandler, CharacteristicSetHandler } from 'homebridge';
|
|
2
|
+
import { AccessoryThisType } from '../VeSyncAccessory';
|
|
3
|
+
declare const characteristic: {
|
|
4
|
+
get: CharacteristicGetHandler;
|
|
5
|
+
set: CharacteristicSetHandler;
|
|
6
|
+
} & AccessoryThisType;
|
|
7
|
+
export default characteristic;
|
|
8
|
+
//# sourceMappingURL=LightState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LightState.d.ts","sourceRoot":"","sources":["../../src/characteristics/LightState.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,wBAAwB,EAG3B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAErD,QAAA,MAAM,cAAc,EAAE;IAClB,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,wBAAwB,CAAC;CACjC,GAAG,iBAgBH,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const characteristic = {
|
|
4
|
+
get: async function () {
|
|
5
|
+
await this.device.updateInfo();
|
|
6
|
+
return !!this.device.brightnessLevel;
|
|
7
|
+
},
|
|
8
|
+
set: async function (bool) {
|
|
9
|
+
// If light is off and we are turning it on, turn it on to 50%.
|
|
10
|
+
// Note: Turning on the device will always make brightness 50%, even if you slide to 100% when turning it on.
|
|
11
|
+
if (this.device.brightnessLevel == 0 && bool == 1)
|
|
12
|
+
await this.device.setBrightness(50);
|
|
13
|
+
// If light is on and we are turning it off, turn it off
|
|
14
|
+
if (this.device.brightnessLevel > 0 && bool == 0)
|
|
15
|
+
await this.device.setBrightness(0);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
exports.default = characteristic;
|
|
19
|
+
//# sourceMappingURL=LightState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LightState.js","sourceRoot":"","sources":["../../src/characteristics/LightState.ts"],"names":[],"mappings":";;AASA,MAAM,cAAc,GAGI;IACpB,GAAG,EAAE,KAAK;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAE/B,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;IACzC,CAAC;IACD,GAAG,EAAE,KAAK,WAAW,IAAyB;QAC1C,+DAA+D;QAC/D,6GAA6G;QAC7G,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACxC,wDAAwD;QACxD,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;YAC5C,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAE3C,CAAC;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MistLevel.d.ts","sourceRoot":"","sources":["../../src/characteristics/MistLevel.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,wBAAwB,EAG3B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAOrD,QAAA,MAAM,cAAc,EAAE;IAClB,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,wBAAwB,CAAC;CACjC,GAAG,
|
|
1
|
+
{"version":3,"file":"MistLevel.d.ts","sourceRoot":"","sources":["../../src/characteristics/MistLevel.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,wBAAwB,EAG3B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAOrD,QAAA,MAAM,cAAc,EAAE;IAClB,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,wBAAwB,CAAC;CACjC,GAAG,iBAeH,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const VeSyncFan_1 = require("../api/VeSyncFan");
|
|
3
4
|
const calculateMistLevel = (device) => {
|
|
4
5
|
const currentMistLevel = device.mistLevel;
|
|
5
|
-
return device.isOn ? currentMistLevel :
|
|
6
|
+
return device.isOn ? currentMistLevel : 1;
|
|
6
7
|
};
|
|
7
8
|
const characteristic = {
|
|
8
9
|
get: async function () {
|
|
@@ -14,6 +15,7 @@ const characteristic = {
|
|
|
14
15
|
await this.device.setPower(false);
|
|
15
16
|
}
|
|
16
17
|
else {
|
|
18
|
+
await this.device.changeMode(VeSyncFan_1.Mode.Manual);
|
|
17
19
|
await this.device.changeMistLevel(Number(value));
|
|
18
20
|
}
|
|
19
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MistLevel.js","sourceRoot":"","sources":["../../src/characteristics/MistLevel.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"MistLevel.js","sourceRoot":"","sources":["../../src/characteristics/MistLevel.ts"],"names":[],"mappings":";;AAMA,gDAAiD;AAIjD,MAAM,kBAAkB,GAAG,CAAC,MAAiB,EAAE,EAAE;IAC7C,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,cAAc,GAGI;IACpB,GAAG,EAAE,KAAK;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAE/B,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC3C,IAAI,KAAK,IAAI,CAAC,EAAE;YACZ,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACrC;aAAM;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACpD;IACL,CAAC;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CharacteristicGetHandler, CharacteristicSetHandler } from 'homebridge';
|
|
2
|
+
import { AccessoryThisType } from '../VeSyncAccessory';
|
|
3
|
+
declare const characteristic: {
|
|
4
|
+
get: CharacteristicGetHandler;
|
|
5
|
+
set: CharacteristicSetHandler;
|
|
6
|
+
} & AccessoryThisType;
|
|
7
|
+
export default characteristic;
|
|
8
|
+
//# sourceMappingURL=SleepState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SleepState.d.ts","sourceRoot":"","sources":["../../src/characteristics/SleepState.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,wBAAwB,EAG3B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAErD,QAAA,MAAM,cAAc,EAAE;IAClB,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,wBAAwB,CAAC;CACjC,GAAG,iBAqBH,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const VeSyncFan_1 = require("../api/VeSyncFan");
|
|
4
|
+
const characteristic = {
|
|
5
|
+
get: async function () {
|
|
6
|
+
await this.device.updateInfo();
|
|
7
|
+
// If device is off, set the mode to null so the switch displays Off
|
|
8
|
+
if (!this.device.isOn) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
return this.device.mode === VeSyncFan_1.Mode.Sleep;
|
|
12
|
+
},
|
|
13
|
+
set: async function (value) {
|
|
14
|
+
switch (value) {
|
|
15
|
+
case true:
|
|
16
|
+
await this.device.changeMode(VeSyncFan_1.Mode.Sleep);
|
|
17
|
+
break;
|
|
18
|
+
case false:
|
|
19
|
+
await this.device.changeMode(VeSyncFan_1.Mode.Auto);
|
|
20
|
+
break;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
exports.default = characteristic;
|
|
25
|
+
//# sourceMappingURL=SleepState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SleepState.js","sourceRoot":"","sources":["../../src/characteristics/SleepState.ts"],"names":[],"mappings":";;AAMA,gDAAsC;AAItC,MAAM,cAAc,GAGI;IACpB,GAAG,EAAE,KAAK;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAE/B,oEAAoE;QACpE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YACnB,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAI,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC3C,QAAQ,KAAK,EAAE;YACX,KAAK,IAAI;gBACL,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAI,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM;YACV,KAAK,KAAK;gBACN,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAI,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM;SACb;IACL,CAAC;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CharacteristicGetHandler, CharacteristicSetHandler } from 'homebridge';
|
|
2
|
+
import { AccessoryThisType } from '../VeSyncAccessory';
|
|
3
|
+
declare const characteristic: {
|
|
4
|
+
get: CharacteristicGetHandler;
|
|
5
|
+
set: CharacteristicSetHandler;
|
|
6
|
+
} & AccessoryThisType;
|
|
7
|
+
export default characteristic;
|
|
8
|
+
//# sourceMappingURL=TargetHumidity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TargetHumidity.d.ts","sourceRoot":"","sources":["../../src/characteristics/TargetHumidity.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EAAE,wBAAwB,EAGrD,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAGrD,QAAA,MAAM,cAAc,EAAE;IAClB,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,wBAAwB,CAAC;CACjC,GAAG,iBAwBH,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const VeSyncFan_1 = require("../api/VeSyncFan");
|
|
4
|
+
const characteristic = {
|
|
5
|
+
get: async function () {
|
|
6
|
+
await this.device.updateInfo();
|
|
7
|
+
// If not in auto or sleep modes, don't display the target humidity in the slider
|
|
8
|
+
if (this.device.mode == VeSyncFan_1.Mode.Auto || this.device.mode == VeSyncFan_1.Mode.Sleep) {
|
|
9
|
+
return this.device.targetHumidity;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
set: async function (humidity) {
|
|
16
|
+
if (this.device.mode == VeSyncFan_1.Mode.Manual)
|
|
17
|
+
await this.device.changeMode(VeSyncFan_1.Mode.Auto);
|
|
18
|
+
switch (true) {
|
|
19
|
+
case (humidity < 30):
|
|
20
|
+
humidity = 30;
|
|
21
|
+
break;
|
|
22
|
+
case (humidity > 80):
|
|
23
|
+
humidity = 80;
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
await this.device.setTargetHumidity(Number(humidity));
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.default = characteristic;
|
|
30
|
+
//# sourceMappingURL=TargetHumidity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TargetHumidity.js","sourceRoot":"","sources":["../../src/characteristics/TargetHumidity.ts"],"names":[],"mappings":";;AAOA,gDAAsC;AAEtC,MAAM,cAAc,GAGI;IACpB,GAAG,EAAE,KAAK;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAE/B,iFAAiF;QACjF,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,gBAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,gBAAI,CAAC,KAAK,EAAE;YACjE,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;SACrC;aAAM;YACH,OAAO,CAAC,CAAC;SACZ;IACL,CAAC;IACD,GAAG,EAAE,KAAK,WAAW,QAA6B;QAC9C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,gBAAI,CAAC,MAAM;YAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,QAAQ,IAAI,EAAE;YACV,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAChB,QAAQ,GAAG,EAAE,CAAC;gBACd,MAAM;YACV,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAChB,QAAQ,GAAG,EAAE,CAAC;gBACd,MAAM;SACb;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,CAAC;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { CharacteristicGetHandler
|
|
1
|
+
import { CharacteristicGetHandler } from 'homebridge';
|
|
2
2
|
import { AccessoryThisType } from '../VeSyncAccessory';
|
|
3
3
|
declare const characteristic: {
|
|
4
4
|
get: CharacteristicGetHandler;
|
|
5
|
-
set: CharacteristicSetHandler;
|
|
6
5
|
} & AccessoryThisType;
|
|
7
6
|
export default characteristic;
|
|
8
7
|
//# sourceMappingURL=TargetState.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TargetState.d.ts","sourceRoot":"","sources":["../../src/characteristics/TargetState.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,
|
|
1
|
+
{"version":3,"file":"TargetState.d.ts","sourceRoot":"","sources":["../../src/characteristics/TargetState.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EAGzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,QAAA,MAAM,cAAc,EAAE;IACpB,GAAG,EAAE,wBAAwB,CAAC;CAC/B,GAAG,iBAOH,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -1,32 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const VeSyncFan_1 = require("../api/VeSyncFan");
|
|
4
3
|
const characteristic = {
|
|
5
4
|
get: async function () {
|
|
6
|
-
const { HUMIDIFIER
|
|
7
|
-
|
|
8
|
-
return HUMIDIFIER;
|
|
9
|
-
}
|
|
10
|
-
await this.device.updateInfo();
|
|
11
|
-
return this.device.mode === VeSyncFan_1.Mode.Auto ? AUTO : HUMIDIFIER;
|
|
12
|
-
},
|
|
13
|
-
set: async function (value) {
|
|
14
|
-
if (!this.device.deviceType.hasAutoMode) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const { HUMIDIFIER, AUTO } = this.platform.Characteristic.TargetHumidifierDehumidifierState;
|
|
18
|
-
switch (value) {
|
|
19
|
-
case AUTO:
|
|
20
|
-
if (this.device.mode !== VeSyncFan_1.Mode.Auto) {
|
|
21
|
-
await this.device.changeMode(VeSyncFan_1.Mode.Auto);
|
|
22
|
-
}
|
|
23
|
-
break;
|
|
24
|
-
case HUMIDIFIER:
|
|
25
|
-
if (this.device.mode !== VeSyncFan_1.Mode.Manual) {
|
|
26
|
-
await this.device.changeMode(VeSyncFan_1.Mode.Manual);
|
|
27
|
-
}
|
|
28
|
-
break;
|
|
29
|
-
}
|
|
5
|
+
const { HUMIDIFIER } = this.platform.Characteristic.TargetHumidifierDehumidifierState;
|
|
6
|
+
return HUMIDIFIER;
|
|
30
7
|
}
|
|
31
8
|
};
|
|
32
9
|
exports.default = characteristic;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TargetState.js","sourceRoot":"","sources":["../../src/characteristics/TargetState.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"TargetState.js","sourceRoot":"","sources":["../../src/characteristics/TargetState.ts"],"names":[],"mappings":";;AAQA,MAAM,cAAc,GAEI;IACtB,GAAG,EAAE,KAAK;QACR,MAAM,EAAE,UAAU,EAAE,GAClB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,iCAAiC,CAAC;QAEjE,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
package/images/auto.png
CHANGED
|
Binary file
|
|
Binary file
|
package/images/light.png
ADDED
|
Binary file
|
package/images/logs.png
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/images/sleep.png
ADDED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"description": "
|
|
2
|
+
"description": "Homebridge plugin for Levoit Humidifiers",
|
|
3
3
|
"name": "homebridge-levoit-humidifiers",
|
|
4
4
|
"displayName": "Levoit Humidifiers",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.5.0-beta11",
|
|
8
8
|
"private": false,
|
|
9
9
|
"bugs": {
|
|
10
10
|
"url": "https://github.com/pschroeder89/homebridge-levoit-humidifiers/issues"
|
package/images/humidity.png
DELETED
|
Binary file
|
package/images/off.png
DELETED
|
Binary file
|