homebridge-levoit-humidifiers 1.3.0-beta7 → 1.3.1-beta1

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/.idea/.name ADDED
@@ -0,0 +1 @@
1
+ homebridge-levoit-air-humidifiers
package/README.md CHANGED
@@ -14,7 +14,7 @@ This plugin was forked from [RaresAil's Levoit Air Purifiers repo](https://githu
14
14
 
15
15
  1. Set Mist Level
16
16
  - Levels 1-9 on Classic300s
17
- - Levels 1-3 on Classic200s
17
+ - Levels 1-9 on Classic200s
18
18
  - Levels 1-2 on Dual200s
19
19
 
20
20
  2. Mode change
@@ -13,6 +13,7 @@ export default class VeSyncAccessory {
13
13
  private humidifierService;
14
14
  get UUID(): string;
15
15
  private get device();
16
+ private get getValues();
16
17
  constructor(platform: Platform, accessory: VeSyncPlatformAccessory);
17
18
  }
18
19
  //# sourceMappingURL=VeSyncAccessory.d.ts.map
@@ -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;AAIxC,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;IAa5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAb9B,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,iBAAiB,CAAU;IAEnC,IAAW,IAAI,WAEd;IAED,OAAO,KAAK,MAAM,GAEjB;gBAGoB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,uBAAuB;CA+D1D"}
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;AAIxC,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;IAuB5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAvB9B,OAAO,CAAC,qBAAqB,CAAU;IACvC,OAAO,CAAC,iBAAiB,CAAU;IAEnC,IAAW,IAAI,WAEd;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,KAAK,SAAS,GASpB;gBAEoB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,uBAAuB;CAgE1D"}
@@ -46,9 +46,10 @@ class VeSyncAccessory {
46
46
  this.humidifierService
47
47
  .getCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold)
48
48
  .setProps({
49
- minStep: 10,
49
+ minStep: 1,
50
50
  minValue: 0,
51
- maxValue: 100
51
+ maxValue: this.device.deviceType.mistLevels,
52
+ validValues: this.getValues
52
53
  })
53
54
  .onGet(MistLevel_1.default.get.bind(this))
54
55
  .onSet(MistLevel_1.default.set.bind(this));
@@ -65,6 +66,16 @@ class VeSyncAccessory {
65
66
  get device() {
66
67
  return this.accessory.context.device;
67
68
  }
69
+ get getValues() {
70
+ /*
71
+ Determines the number of mist level values to slide through in the Humidify slider.
72
+ Returns an array that contains the range of values between 0 and (mistLevels + 1).
73
+ We add 1 to mistLevels to account for 0 as a potential level.
74
+ Example: The Classic300s has 9 mist levels, so this function returns [0,1,2,3,4,5,6,7,8,9].
75
+ */
76
+ const arr = [...Array(this.device.deviceType.mistLevels + 1).keys()];
77
+ return arr;
78
+ }
68
79
  }
69
80
  exports.default = VeSyncAccessory;
70
81
  //# sourceMappingURL=VeSyncAccessory.js.map
@@ -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,7 +1,7 @@
1
1
  export declare enum DeviceName {
2
- Classic300S = "Classic300S",
3
- Classic200S = "Classic200S",
4
- Dual200S = "Dual200S"
2
+ Classic300S = "classic300s",
3
+ Classic200S = "classic200s",
4
+ Dual200S = "dual200s"
5
5
  }
6
6
  export interface DeviceType {
7
7
  isValid: (input: string) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"deviceTypes.d.ts","sourceRoot":"","sources":["../../src/api/deviceTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACpB,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,WAAW,EAAE,UAAU,EAqB5B,CAAC;AAEF,eAAe,WAAW,CAAC"}
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;CACxB;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;CACxB;AAOD,QAAA,MAAM,WAAW,EAAE,UAAU,EAqB5B,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -3,25 +3,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeviceName = void 0;
4
4
  var DeviceName;
5
5
  (function (DeviceName) {
6
- DeviceName["Classic300S"] = "Classic300S";
7
- DeviceName["Classic200S"] = "Classic200S";
8
- DeviceName["Dual200S"] = "Dual200S";
6
+ DeviceName["Classic300S"] = "classic300s";
7
+ DeviceName["Classic200S"] = "classic200s";
8
+ DeviceName["Dual200S"] = "dual200s";
9
9
  })(DeviceName = exports.DeviceName || (exports.DeviceName = {}));
10
+ function sanitizeString(input) {
11
+ // Lowercase the input and remove all whitespace
12
+ return input.toLowerCase().replace(/\s+/g, '');
13
+ }
10
14
  const deviceTypes = [
11
15
  {
12
- isValid: (input) => input.includes(DeviceName.Classic300S),
16
+ isValid: (input) => sanitizeString(input).includes(DeviceName.Classic300S),
13
17
  hasAutoMode: true,
14
18
  mistMinLevel: 1,
15
19
  mistLevels: 9
16
20
  },
17
21
  {
18
- isValid: (input) => input.includes(DeviceName.Classic200S),
22
+ isValid: (input) => sanitizeString(input).includes(DeviceName.Classic200S),
19
23
  hasAutoMode: true,
20
24
  mistMinLevel: 1,
21
25
  mistLevels: 9
22
26
  },
23
27
  {
24
- isValid: (input) => input.includes(DeviceName.Dual200S),
28
+ isValid: (input) => sanitizeString(input).includes(DeviceName.Dual200S),
25
29
  hasAutoMode: true,
26
30
  mistMinLevel: 1,
27
31
  mistLevels: 2
@@ -1 +1 @@
1
- {"version":3,"file":"deviceTypes.js","sourceRoot":"","sources":["../../src/api/deviceTypes.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;IAC3B,mCAAqB,CAAA;AACvB,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AASD,MAAM,WAAW,GAAiB;IAChC;QACE,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CACzB,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QACxC,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;KACd;IACD;QACE,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;KACd;IACD;QACE,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;KACd;CACF,CAAC;AAEF,kBAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"deviceTypes.js","sourceRoot":"","sources":["../../src/api/deviceTypes.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,yCAA2B,CAAA;IAC3B,yCAA2B,CAAA;IAC3B,mCAAqB,CAAA;AACzB,CAAC,EAJW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAIrB;AASD,SAAS,cAAc,CAAC,KAAK;IACzB,gDAAgD;IAChD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,WAAW,GAAiB;IAC9B;QACI,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CACvB,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAC1D,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;KAChB;IACD;QACI,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CACvB,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;QAC1D,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;KAChB;IACD;QACI,OAAO,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC/E,WAAW,EAAE,IAAI;QACjB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;KAChB;CACJ,CAAC;AAEF,kBAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MistLevel.d.ts","sourceRoot":"","sources":["../../src/characteristics/MistLevel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAiBvD,QAAA,MAAM,cAAc,EAAE;IACpB,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,wBAAwB,CAAC;CAC/B,GAAG,iBAUH,CAAC;AAEF,eAAe,cAAc,CAAC"}
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,iBAaH,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,24 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const calculateMistLevel = (device) => {
4
- let currentMistLevel = device.mistLevel;
5
- const totalMistLevels = device.deviceType.mistLevels;
6
- currentMistLevel = Math.ceil(currentMistLevel * 100 / totalMistLevels / 10) * 10;
4
+ const currentMistLevel = device.mistLevel;
7
5
  return device.isOn ? currentMistLevel : 0;
8
6
  };
9
- const convertMistLevelFromPerc = (device, percentage) => {
10
- const totalMistLevels = device.deviceType.mistLevels;
11
- const mistInt = Math.round(Math.ceil(Number(percentage) / 100 * totalMistLevels));
12
- return mistInt;
13
- };
14
7
  const characteristic = {
15
8
  get: async function () {
16
9
  await this.device.updateInfo();
17
10
  return calculateMistLevel(this.device);
18
11
  },
19
12
  set: async function (value) {
20
- const intVal = convertMistLevelFromPerc(this.device, value);
21
- await this.device.changeMistLevel(intVal);
13
+ if (value == 0) {
14
+ await this.device.setPower(false);
15
+ }
16
+ else {
17
+ await this.device.changeMistLevel(Number(value));
18
+ }
22
19
  }
23
20
  };
24
21
  exports.default = characteristic;
@@ -1 +1 @@
1
- {"version":3,"file":"MistLevel.js","sourceRoot":"","sources":["../../src/characteristics/MistLevel.ts"],"names":[],"mappings":";;AAUA,MAAM,kBAAkB,GAAG,CAAC,MAAiB,EAAE,EAAE;IAC/C,IAAI,gBAAgB,GAAG,MAAM,CAAC,SAAS,CAAC;IACxC,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;IACrD,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,GAAG,eAAe,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IAEjF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,MAAiB,EAAE,UAAU,EAAE,EAAE;IACjE,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,GAAI,eAAe,CAAC,CAAC,CAAC;IAEnF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,cAAc,GAGI;IACtB,GAAG,EAAE,KAAK;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC7C,MAAM,MAAM,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;CACF,CAAC;AAEF,kBAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"MistLevel.js","sourceRoot":"","sources":["../../src/characteristics/MistLevel.ts"],"names":[],"mappings":";;AAUA,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;QAC/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,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;SACpD;IACL,CAAC;CACJ,CAAC;AAEF,kBAAe,cAAc,CAAC"}
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.3.0-beta7",
7
+ "version": "1.3.1-beta1",
8
8
  "private": false,
9
9
  "bugs": {
10
10
  "url": "https://github.com/pschroeder89/homebridge-levoit-humidifiers/issues"