homebridge-levoit-humidifiers 1.6.2 → 1.7.0

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 CHANGED
@@ -50,27 +50,36 @@ This plugin was forked from [RaresAil's Levoit Air Purifiers repo](https://githu
50
50
 
51
51
  ### Details
52
52
 
53
- <a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/services2.png?raw=true" width=25% height=25%></a>
54
- <a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/auto.png?raw=true" width=25% height=25%></a>
55
- <a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/manual.png?raw=true" width=25% height=25%></a>
56
- <a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/display.png?raw=true" width=25% height=25%></a>
57
- <a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/light.png?raw=true" width=25% height=25%></a>
58
- <a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/sleep.png?raw=true" width=25% height=25%></a>
59
- <a href="url"><img src="https://github.com/pschroeder89/homebridge-levoit-humidifiers/blob/main/images/services.png?raw=true" width=25% height=25%></a>
53
+ <a href="url"><img src="images/services2.png" width=25% height=25%></a>
54
+ <a href="url"><img src="images/auto.png" width=25% height=25%></a>
55
+ <a href="url"><img src="images/manual.png" width=25% height=25%></a>
56
+ <a href="url"><img src="images/display.png" width=25% height=25%></a>
57
+ <a href="url"><img src="images/light.png" width=25% height=25%></a>
58
+ <a href="url"><img src="images/sleep.png" width=25% height=25%></a>
59
+ <a href="url"><img src="images/services.png" width=25% height=25%></a>
60
60
 
61
61
  ### Configuration
62
62
 
63
63
  - Via the Homebridge UI, enter the Homebridge VeSync Client plugin settings.
64
64
  - Enter your VeSync app credentials.
65
+ - Select which controls you want exposed. Humidifier (Auto Mode) and the Humidity Sensor can not be hidden.
65
66
  - Setup the platform plugin as a child bridge for better performance
66
67
  - Save and restart Homebridge.
67
68
 
68
69
  This plugin requires your VeSync credentials as it communicates with the VeSync devices via VeSync's own API. Your
69
70
  credentials are only stored in the Homebridge config and not sent to any server except VeSync's.
70
71
 
71
- You can also do this directly via the homebridge config by adding your credentials to the config file under platforms.
72
- Replace the values of `username` and `password` by your credentials.
72
+ You can also do this directly via the Homebridge config by adding your credentials to the config file under platforms.
73
+ Replace the values of `username` and `password` with your credentials.
73
74
 
75
+ You can turn off optional controls via the `accessories` section of the config or through the plugin UI settings.
76
+ The Humidifier (Auto mode) slider and the Humidity sensor cannot be turned off and will always be exposed.
77
+
78
+ Via UI:
79
+
80
+ <img src="images/homebridgeUI.png" width="500"/>
81
+
82
+ Via config.json:
74
83
  ```json
75
84
  {
76
85
  "platforms": [
@@ -78,7 +87,14 @@ Replace the values of `username` and `password` by your credentials.
78
87
  "name": "Levoit Humidifiers",
79
88
  "email": "email",
80
89
  "password": "password",
81
- "platform": "LevoitHumidifiers"
90
+ "platform": "LevoitHumidifiers",
91
+ "accessories": {
92
+ "display": false,
93
+ "sleep_mode": false,
94
+ "cool_mist": false,
95
+ "warm_mist": false,
96
+ "night_light": false
97
+ }
82
98
  }
83
99
  ]
84
100
  }
@@ -22,6 +22,47 @@
22
22
  "type": "string",
23
23
  "required": true,
24
24
  "description": "VeSync's account password"
25
+ },
26
+ "password": {
27
+ "title": "Password",
28
+ "type": "string",
29
+ "required": true,
30
+ "description": "VeSync's account password"
31
+ },
32
+ "accessories": {
33
+ "type": "object",
34
+ "properties": {
35
+ "cool_mist": {
36
+ "title": "Cool Mist Fan",
37
+ "type": "boolean",
38
+ "default": true,
39
+ "description": "Enable fan for the Cool Mist"
40
+ },
41
+ "warm_mist": {
42
+ "title": "Warm Mist Fan",
43
+ "type": "boolean",
44
+ "default": true,
45
+ "description": "Enable fan for Warm Mist"
46
+ },
47
+ "sleep_mode": {
48
+ "title": "Sleep Mode Switch",
49
+ "type": "boolean",
50
+ "default": true,
51
+ "description": "Enable switch for Sleep Mode"
52
+ },
53
+ "display": {
54
+ "title": "Display Switch",
55
+ "type": "boolean",
56
+ "default": true,
57
+ "description": "Enable switch for the Display"
58
+ },
59
+ "night_light": {
60
+ "title": "Night Light Slider",
61
+ "type": "boolean",
62
+ "default": true,
63
+ "description": "Enable brightness slider / switch for the Night Light"
64
+ }
65
+ }
25
66
  }
26
67
  }
27
68
  }
@@ -11,9 +11,9 @@ export default class VeSyncAccessory {
11
11
  private readonly accessory;
12
12
  private humidifierService;
13
13
  private humiditySensorService;
14
- private nightLight;
15
- private sleepSwitch;
16
- private displaySwitch;
14
+ private lightService;
15
+ private sleepService;
16
+ private displayService;
17
17
  private coolMistService;
18
18
  private warmMistService;
19
19
  get UUID(): string;
@@ -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;AAWxC,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;IA4C5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IA5C9B,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,eAAe,CAAsB;IAG7C,IAAW,IAAI,WAEd;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,KAAK,iBAAiB,GAS5B;IAED,OAAO,KAAK,iBAAiB,GAY5B;gBAGoB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,uBAAuB;CAqK1D"}
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;AAmBxC,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;IA2C5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IA3C9B,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,eAAe,CAAsB;IAE7C,IAAW,IAAI,WAEd;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,KAAK,iBAAiB,GAS5B;IAED,OAAO,KAAK,iBAAiB,GAY5B;gBAGoB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,uBAAuB;CA6M1D"}
@@ -15,11 +15,25 @@ const TargetHumidity_1 = __importDefault(require("./characteristics/TargetHumidi
15
15
  const LightState_1 = __importDefault(require("./characteristics/LightState"));
16
16
  const WarmMistLevel_1 = __importDefault(require("./characteristics/WarmMistLevel"));
17
17
  const WarmActive_1 = __importDefault(require("./characteristics/WarmActive"));
18
+ const HumidifierName = "Humidifier";
19
+ const HumiditySensorName = "Humidity Sensor";
20
+ const CoolMistName = "Cool Mist";
21
+ const WarmMistName = "Warm Mist";
22
+ const NightLightName = "Night Light";
23
+ const SleepModeName = "Sleep Mode";
24
+ const DisplayName = "Display";
18
25
  class VeSyncAccessory {
19
26
  constructor(platform, accessory) {
20
27
  this.platform = platform;
21
28
  this.accessory = accessory;
22
29
  const { manufacturer, model, mac } = this.device;
30
+ const config = platform.config;
31
+ const accessories = config.accessories ? config.accessories : {};
32
+ const coolMistAccessory = (accessories.cool_mist != false);
33
+ const warmMistAccessory = (accessories.warm_mist != false);
34
+ const nightLightAccessory = (accessories.night_light != false);
35
+ const sleepModeAccessory = (accessories.sleep_mode != false);
36
+ const displayAccessory = (accessories.display != false);
23
37
  // Accessory info
24
38
  this.accessory
25
39
  .getService(this.platform.Service.AccessoryInformation)
@@ -28,8 +42,8 @@ class VeSyncAccessory {
28
42
  .setCharacteristic(this.platform.Characteristic.SerialNumber, mac);
29
43
  // Humidifier service
30
44
  this.humidifierService =
31
- this.accessory.getService("Humidifier") ||
32
- this.accessory.addService(this.platform.Service.HumidifierDehumidifier, "Humidifier", "Humidifier");
45
+ this.accessory.getService(HumidifierName) ||
46
+ this.accessory.addService(this.platform.Service.HumidifierDehumidifier, HumidifierName, HumidifierName);
33
47
  this.humidifierService.setPrimaryService(true);
34
48
  this.humidifierService
35
49
  .getCharacteristic(this.platform.Characteristic.Active)
@@ -60,46 +74,64 @@ class VeSyncAccessory {
60
74
  .getCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity)
61
75
  .onGet(Humidity_1.default.get.bind(this));
62
76
  // Cool Mist service
63
- this.coolMistService =
64
- this.accessory.getService("Cool Mist") ||
65
- this.accessory.addService(this.platform.Service.Fan, "Cool Mist", "Cool Mist");
66
- this.coolMistService
67
- .getCharacteristic(this.platform.Characteristic.On)
68
- .onGet(Active_1.default.get.bind(this))
69
- .onSet(Active_1.default.set.bind(this));
70
- this.coolMistService
71
- .getCharacteristic(this.platform.Characteristic.RotationSpeed)
72
- .setProps({
73
- minStep: 1,
74
- minValue: 0,
75
- maxValue: this.device.deviceType.coolMistLevels,
76
- validValues: this.getCoolMistValues,
77
- })
78
- .onGet(CoolMistLevel_1.default.get.bind(this))
79
- .onSet(CoolMistLevel_1.default.set.bind(this));
80
- this.humidifierService.addLinkedService(this.coolMistService);
77
+ if (coolMistAccessory) {
78
+ this.coolMistService =
79
+ this.accessory.getService(CoolMistName) ||
80
+ this.accessory.addService(this.platform.Service.Fan, CoolMistName, CoolMistName);
81
+ this.coolMistService
82
+ .getCharacteristic(this.platform.Characteristic.On)
83
+ .onGet(Active_1.default.get.bind(this))
84
+ .onSet(Active_1.default.set.bind(this));
85
+ this.coolMistService
86
+ .getCharacteristic(this.platform.Characteristic.RotationSpeed)
87
+ .setProps({
88
+ minStep: 1,
89
+ minValue: 0,
90
+ maxValue: this.device.deviceType.coolMistLevels,
91
+ validValues: this.getCoolMistValues,
92
+ })
93
+ .onGet(CoolMistLevel_1.default.get.bind(this))
94
+ .onSet(CoolMistLevel_1.default.set.bind(this));
95
+ this.humidifierService.addLinkedService(this.coolMistService);
96
+ }
97
+ else {
98
+ this.coolMistService = this.accessory.getService(CoolMistName);
99
+ if (this.coolMistService) {
100
+ this.platform.log.info(`Removing ${CoolMistName} service.`);
101
+ this.accessory.removeService(this.coolMistService);
102
+ }
103
+ }
81
104
  // Display Switch service
82
- this.displaySwitch =
83
- this.accessory.getService("Display") ||
84
- this.accessory.addService(this.platform.Service.Switch, "Display", "Display");
85
- this.humidifierService.addLinkedService(this.displaySwitch);
86
- this.displaySwitch
87
- .getCharacteristic(this.platform.Characteristic.On)
88
- .onGet(DisplayState_1.default.get.bind(this))
89
- .onSet(DisplayState_1.default.set.bind(this));
105
+ if (displayAccessory) {
106
+ this.displayService =
107
+ this.accessory.getService(DisplayName) ||
108
+ this.accessory.addService(this.platform.Service.Switch, DisplayName, DisplayName);
109
+ this.humidifierService.addLinkedService(this.displayService);
110
+ this.displayService
111
+ .getCharacteristic(this.platform.Characteristic.On)
112
+ .onGet(DisplayState_1.default.get.bind(this))
113
+ .onSet(DisplayState_1.default.set.bind(this));
114
+ }
115
+ else {
116
+ this.displayService = this.accessory.getService(DisplayName);
117
+ if (this.displayService) {
118
+ this.platform.log.info(`Removing ${DisplayName} service.`);
119
+ this.accessory.removeService(this.displayService);
120
+ }
121
+ }
90
122
  // Humidity Sensor service
91
123
  this.humiditySensorService =
92
- this.accessory.getService("Humidity Sensor") ||
93
- this.accessory.addService(this.platform.Service.HumiditySensor, "Humidity Sensor", "Humidity Sensor");
124
+ this.accessory.getService(HumiditySensorName) ||
125
+ this.accessory.addService(this.platform.Service.HumiditySensor, HumiditySensorName, HumiditySensorName);
94
126
  this.humidifierService.addLinkedService(this.humiditySensorService);
95
127
  this.humiditySensorService
96
128
  .getCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity)
97
129
  .onGet(Humidity_1.default.get.bind(this));
98
130
  // Warm Mist service
99
- if (this.device.deviceType.hasWarmMode) {
131
+ if (this.device.deviceType.hasWarmMode && warmMistAccessory) {
100
132
  this.warmMistService =
101
- this.accessory.getService("Warm Mist") ||
102
- this.accessory.addService(this.platform.Service.Fan, "Warm Mist", "Warm Mist");
133
+ this.accessory.getService(WarmMistName) ||
134
+ this.accessory.addService(this.platform.Service.Fan, WarmMistName, WarmMistName);
103
135
  this.humidifierService.addLinkedService(this.warmMistService);
104
136
  this.warmMistService
105
137
  .getCharacteristic(this.platform.Characteristic.On)
@@ -116,28 +148,42 @@ class VeSyncAccessory {
116
148
  .onGet(WarmMistLevel_1.default.get.bind(this))
117
149
  .onSet(WarmMistLevel_1.default.set.bind(this));
118
150
  }
151
+ else {
152
+ this.warmMistService = this.accessory.getService(WarmMistName);
153
+ if (this.warmMistService) {
154
+ this.platform.log.info(`Removing ${WarmMistName} service.`);
155
+ this.accessory.removeService(this.warmMistService);
156
+ }
157
+ }
119
158
  // Sleep Mode service
120
- if (this.device.deviceType.hasSleepMode) {
121
- this.sleepSwitch =
122
- this.accessory.getService("Sleep Mode") ||
123
- this.accessory.addService(this.platform.Service.Switch, "Sleep Mode", "Sleep Mode");
124
- this.humidifierService.addLinkedService(this.sleepSwitch);
125
- this.sleepSwitch
159
+ if (this.device.deviceType.hasSleepMode && sleepModeAccessory) {
160
+ this.sleepService =
161
+ this.accessory.getService(SleepModeName) ||
162
+ this.accessory.addService(this.platform.Service.Switch, SleepModeName, SleepModeName);
163
+ this.humidifierService.addLinkedService(this.sleepService);
164
+ this.sleepService
126
165
  .getCharacteristic(this.platform.Characteristic.On)
127
166
  .onGet(SleepState_1.default.get.bind(this))
128
167
  .onSet(SleepState_1.default.set.bind(this));
129
168
  }
169
+ else {
170
+ this.sleepService = this.accessory.getService(SleepModeName);
171
+ if (this.sleepService) {
172
+ this.platform.log.info(`Removing ${SleepModeName} service.`);
173
+ this.accessory.removeService(this.sleepService);
174
+ }
175
+ }
130
176
  // Night Light service
131
- if (this.device.deviceType.hasLight) {
132
- this.nightLight =
133
- this.accessory.getService("Night Light") ||
134
- this.accessory.addService(this.platform.Service.Lightbulb, "Night Light", "Night Light");
135
- this.humidifierService.addLinkedService(this.nightLight);
136
- this.nightLight
177
+ if (this.device.deviceType.hasLight && nightLightAccessory) {
178
+ this.lightService =
179
+ this.accessory.getService(NightLightName) ||
180
+ this.accessory.addService(this.platform.Service.Lightbulb, NightLightName, NightLightName);
181
+ this.humidifierService.addLinkedService(this.lightService);
182
+ this.lightService
137
183
  .getCharacteristic(this.platform.Characteristic.On)
138
184
  .onGet(LightState_1.default.get.bind(this))
139
185
  .onSet(LightState_1.default.set.bind(this));
140
- this.nightLight
186
+ this.lightService
141
187
  .getCharacteristic(this.platform.Characteristic.Brightness)
142
188
  .setProps({
143
189
  minStep: 25,
@@ -148,6 +194,13 @@ class VeSyncAccessory {
148
194
  .onGet(LightBrightness_1.default.get.bind(this))
149
195
  .onSet(LightBrightness_1.default.set.bind(this));
150
196
  }
197
+ else {
198
+ this.lightService = this.accessory.getService(NightLightName);
199
+ if (this.lightService) {
200
+ this.platform.log.info(`Removing ${NightLightName} service.`);
201
+ this.accessory.removeService(this.lightService);
202
+ }
203
+ }
151
204
  }
152
205
  get UUID() {
153
206
  return this.device.uuid.toString();
@@ -1 +1 @@
1
- {"version":3,"file":"VeSyncAccessory.js","sourceRoot":"","sources":["../src/VeSyncAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VeSyncAccessory.js","sourceRoot":"","sources":["../src/VeSyncAccessory.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WarmActive.d.ts","sourceRoot":"","sources":["../../src/characteristics/WarmActive.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EAAE,wBAAwB,EAGrD,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAErD,QAAA,MAAM,cAAc,EAAE;IACd,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,wBAAwB,CAAC;CACjC,GAAG,iBAeH,CACJ;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"WarmActive.d.ts","sourceRoot":"","sources":["../../src/characteristics/WarmActive.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EAAE,wBAAwB,EAGrD,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAErD,QAAA,MAAM,cAAc,EAAE;IACd,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,wBAAwB,CAAC;CACjC,GAAG,iBAsBH,CACJ;AAED,eAAe,cAAc,CAAC"}
@@ -12,7 +12,14 @@ const characteristic = {
12
12
  await this.device.updateInfo();
13
13
  }
14
14
  else if (!this.device.warmEnabled && this.device.warmLevel == 0) {
15
- await this.device.changeWarmMistLevel(this.device.expectedWarmLevel);
15
+ /*
16
+ If turning on Warm Mode from Off state, we set it to the highest warmMistLevel value.
17
+ This is because we can't determine the selected slider number from the WarmMistLevel characteristic.
18
+ This appears like a bug (from Off, set to lowest level, but it will set to highest level instead),
19
+ but there's not a good way to handle this since VeSync doesn't have an on/off for Warm Mode, just
20
+ level selection.
21
+ */
22
+ await this.device.changeWarmMistLevel(Number(this.device.deviceType.warmMistLevels));
16
23
  await this.device.updateInfo();
17
24
  }
18
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WarmActive.js","sourceRoot":"","sources":["../../src/characteristics/WarmActive.ts"],"names":[],"mappings":";;AAQA,MAAM,cAAc,GAGQ;IACpB,GAAG,EAAE,KAAK;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IACD,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC3C,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;SAClC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,EAAE;YAC/D,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;SAClC;IACL,CAAC;CACJ,CACJ;AAED,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"WarmActive.js","sourceRoot":"","sources":["../../src/characteristics/WarmActive.ts"],"names":[],"mappings":";;AAQA,MAAM,cAAc,GAGQ;IACpB,GAAG,EAAE,KAAK;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IACD,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC3C,MAAM,SAAS,GAAG,KAAK,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;SAClC;aAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,EAAE;YAC/D;;;;;;cAME;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;YACrF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;SAClC;IACL,CAAC;CACJ,CACJ;AAED,kBAAe,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"WarmMistLevel.d.ts","sourceRoot":"","sources":["../../src/characteristics/WarmMistLevel.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,iBAoBH,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"WarmMistLevel.d.ts","sourceRoot":"","sources":["../../src/characteristics/WarmMistLevel.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,iBAmBH,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -10,9 +10,8 @@ const characteristic = {
10
10
  return calculateWarmMistLevel(this.device);
11
11
  },
12
12
  set: async function (value) {
13
- this.device.expectedWarmLevel = value;
14
13
  if (!this.device.warmEnabled && value > 0) {
15
- // if from Off state and level is greater than 0, return immediately
14
+ // if from Off state and level is greater than 0, return immediately.
16
15
  return;
17
16
  }
18
17
  if (this.device.warmEnabled && value == 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"WarmMistLevel.js","sourceRoot":"","sources":["../../src/characteristics/WarmMistLevel.ts"],"names":[],"mappings":";;AAUA,MAAM,sBAAsB,GAAG,CAAC,MAAiB,EAAE,EAAE;IACjD,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;QAC/B,OAAO,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC3C,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,KAAK,GAAG,CAAC,EAAC;YACtC,oEAAoE;YACpE,OAAO;SACV;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,KAAK,IAAI,CAAC,EAAC;YACtC,gEAAgE;YAChE,OAAO;SACV;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzD,CAAC;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"WarmMistLevel.js","sourceRoot":"","sources":["../../src/characteristics/WarmMistLevel.ts"],"names":[],"mappings":";;AAUA,MAAM,sBAAsB,GAAG,CAAC,MAAiB,EAAE,EAAE;IACjD,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;QAC/B,OAAO,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,KAAK,GAAG,CAAC,EAAC;YACtC,qEAAqE;YACrE,OAAO;SACV;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,KAAK,IAAI,CAAC,EAAC;YACtC,gEAAgE;YAChE,OAAO;SACV;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAEzD,CAAC;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName": "Levoit Humidifiers",
5
5
  "main": "dist/index.js",
6
6
  "license": "Apache-2.0",
7
- "version": "1.6.2",
7
+ "version": "1.7.0",
8
8
  "private": false,
9
9
  "bugs": {
10
10
  "url": "https://github.com/pschroeder89/homebridge-levoit-humidifiers/issues"