homebridge-levoit-humidifiers 1.22.0 → 1.22.2
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/.claude/settings.local.json +9 -1
- package/README.md +1 -0
- package/dist/api/deviceTypes.d.ts +5 -2
- package/dist/api/deviceTypes.d.ts.map +1 -1
- package/dist/api/deviceTypes.js +25 -0
- package/dist/api/deviceTypes.js.map +1 -1
- package/dist/characteristics/AutoProState.d.ts +3 -2
- package/dist/characteristics/AutoProState.d.ts.map +1 -1
- package/dist/characteristics/AutoProState.js +10 -5
- package/dist/characteristics/AutoProState.js.map +1 -1
- package/package.json +1 -1
|
@@ -34,7 +34,15 @@
|
|
|
34
34
|
"Bash(node --require ts-node/register --test \"src/**/*.spec.ts\")",
|
|
35
35
|
"Bash(node --require ts-node/register --test src/**/*.spec.ts)",
|
|
36
36
|
"Bash(node --require ts-node/register --test src)",
|
|
37
|
-
"Bash(yarn test *)"
|
|
37
|
+
"Bash(yarn test *)",
|
|
38
|
+
"Bash(mkdir -p \"/private/tmp/claude-501/-Users-pschroed-personal-homebridge-levoit-humidifiers/fb787594-62d9-487d-9917-018f414fe39d/scratchpad\")",
|
|
39
|
+
"Bash(git pull *)",
|
|
40
|
+
"Bash(gh release *)",
|
|
41
|
+
"Bash(git branch *)",
|
|
42
|
+
"Bash(awk '/^humidifier_modules = \\\\[/,/^\\\\]$/' src/pyvesync/device_map.py)",
|
|
43
|
+
"Bash(python3 -)",
|
|
44
|
+
"Bash(python3 -c ' *)",
|
|
45
|
+
"Bash(git commit *)"
|
|
38
46
|
],
|
|
39
47
|
"additionalDirectories": [
|
|
40
48
|
"/private/tmp"
|
package/README.md
CHANGED
|
@@ -9,6 +9,7 @@ This is a Homebridge plugin to control Levoit Humidifiers from Apple HomeKit.
|
|
|
9
9
|
| Supported Versions | Auto / Humidity | Mist | Sleep | Light | Display | Warm |
|
|
10
10
|
| ------------------ | --------------- | ---- | ----- | ----- | ------- | ---- |
|
|
11
11
|
| Superior 6000S | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
|
|
12
|
+
| Sprout Humidifier | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
|
|
12
13
|
| OasisMist 1000S | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
|
|
13
14
|
| OasisMist 600S | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
|
|
14
15
|
| OasisMist 450S | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
|
|
@@ -8,11 +8,12 @@ export declare enum DevicePrefix {
|
|
|
8
8
|
NeoClassic450S = "LUH-N451S-",
|
|
9
9
|
LEH_S601S = "LEH-S601S-",
|
|
10
10
|
LEH_S602S = "LEH-S602S-",
|
|
11
|
-
O601S = "LUH-O601S-"
|
|
11
|
+
O601S = "LUH-O601S-",
|
|
12
|
+
Sprout = "LEH-B381S-"
|
|
12
13
|
}
|
|
13
14
|
export declare const LV600S_PREFIXES: readonly [DevicePrefix.LV600S_V1, DevicePrefix.LV600S_V2];
|
|
14
15
|
export declare const SUPERIOR_6000S_PREFIXES: readonly [DevicePrefix.LEH_S601S, DevicePrefix.LEH_S602S];
|
|
15
|
-
export declare const NEW_FORMAT_PREFIXES: readonly [DevicePrefix.OASIS_1000S, DevicePrefix.NeoClassic450S, DevicePrefix.LEH_S601S, DevicePrefix.LEH_S602S, DevicePrefix.LV600S_V2];
|
|
16
|
+
export declare const NEW_FORMAT_PREFIXES: readonly [DevicePrefix.OASIS_1000S, DevicePrefix.NeoClassic450S, DevicePrefix.LEH_S601S, DevicePrefix.LEH_S602S, DevicePrefix.LV600S_V2, DevicePrefix.Sprout];
|
|
16
17
|
export declare const isLV600S: (model: string) => boolean;
|
|
17
18
|
export declare const isSuperior6000S: (model: string) => boolean;
|
|
18
19
|
export declare const DeviceName: {
|
|
@@ -45,6 +46,8 @@ export declare const DeviceName: {
|
|
|
45
46
|
readonly LEH_S602S_WUS: "LEH-S602S-WUS";
|
|
46
47
|
readonly LUH_O601S_WUS: "LUH-O601S-WUS";
|
|
47
48
|
readonly LUH_O601S_KUS: "LUH-O601S-KUS";
|
|
49
|
+
readonly Sprout_WUS: "LEH-B381S-WUS";
|
|
50
|
+
readonly Sprout_WEU: "LEH-B381S-WEU";
|
|
48
51
|
};
|
|
49
52
|
export type DeviceName = (typeof DeviceName)[keyof typeof DeviceName];
|
|
50
53
|
export declare const isNewFormatDevice: (model: string) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTypes.d.ts","sourceRoot":"","sources":["../../src/api/deviceTypes.ts"],"names":[],"mappings":"AAEA,oBAAY,YAAY;IACtB,WAAW,eAAe;IAC1B,QAAQ,eAAe;IACvB,SAAS,eAAe;IACxB,SAAS,eAAe;IACxB,KAAK,eAAe;IACpB,WAAW,eAAe;IAC1B,cAAc,eAAe;IAC7B,SAAS,eAAe;IACxB,SAAS,eAAe;IACxB,KAAK,eAAe;
|
|
1
|
+
{"version":3,"file":"deviceTypes.d.ts","sourceRoot":"","sources":["../../src/api/deviceTypes.ts"],"names":[],"mappings":"AAEA,oBAAY,YAAY;IACtB,WAAW,eAAe;IAC1B,QAAQ,eAAe;IACvB,SAAS,eAAe;IACxB,SAAS,eAAe;IACxB,KAAK,eAAe;IACpB,WAAW,eAAe;IAC1B,cAAc,eAAe;IAC7B,SAAS,eAAe;IACxB,SAAS,eAAe;IACxB,KAAK,eAAe;IACpB,MAAM,eAAe;CACtB;AAED,eAAO,MAAM,eAAe,2DAGlB,CAAC;AAIX,eAAO,MAAM,uBAAuB,2DAG1B,CAAC;AAEX,eAAO,MAAM,mBAAmB,+JAOtB,CAAC;AAOX,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,OACC,CAAC;AAE3C,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,OACE,CAAC;AAEnD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAEtE,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,KAAG,OACJ,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACpC,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;OAQG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC;AAGD,QAAA,MAAM,WAAW,EAAE,UAAU,EA4K5B,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
package/dist/api/deviceTypes.js
CHANGED
|
@@ -15,6 +15,7 @@ var DevicePrefix;
|
|
|
15
15
|
DevicePrefix["LEH_S601S"] = "LEH-S601S-";
|
|
16
16
|
DevicePrefix["LEH_S602S"] = "LEH-S602S-";
|
|
17
17
|
DevicePrefix["O601S"] = "LUH-O601S-";
|
|
18
|
+
DevicePrefix["Sprout"] = "LEH-B381S-";
|
|
18
19
|
})(DevicePrefix || (exports.DevicePrefix = DevicePrefix = {}));
|
|
19
20
|
exports.LV600S_PREFIXES = [
|
|
20
21
|
DevicePrefix.LV600S_V1,
|
|
@@ -32,6 +33,7 @@ exports.NEW_FORMAT_PREFIXES = [
|
|
|
32
33
|
DevicePrefix.LEH_S601S,
|
|
33
34
|
DevicePrefix.LEH_S602S,
|
|
34
35
|
DevicePrefix.LV600S_V2,
|
|
36
|
+
DevicePrefix.Sprout,
|
|
35
37
|
];
|
|
36
38
|
const matchesAnyPrefix = (model, prefixes) => prefixes.some((p) => model.includes(p));
|
|
37
39
|
const isLV600S = (model) => matchesAnyPrefix(model, exports.LV600S_PREFIXES);
|
|
@@ -68,6 +70,8 @@ exports.DeviceName = {
|
|
|
68
70
|
LEH_S602S_WUS: `${DevicePrefix.LEH_S602S}WUS`,
|
|
69
71
|
LUH_O601S_WUS: `${DevicePrefix.O601S}WUS`,
|
|
70
72
|
LUH_O601S_KUS: `${DevicePrefix.O601S}KUS`,
|
|
73
|
+
Sprout_WUS: `${DevicePrefix.Sprout}WUS`,
|
|
74
|
+
Sprout_WEU: `${DevicePrefix.Sprout}WEU`,
|
|
71
75
|
};
|
|
72
76
|
const isNewFormatDevice = (model) => matchesAnyPrefix(model, exports.NEW_FORMAT_PREFIXES);
|
|
73
77
|
exports.isNewFormatDevice = isNewFormatDevice;
|
|
@@ -220,6 +224,27 @@ const deviceTypes = [
|
|
|
220
224
|
minHumidityLevel: 40,
|
|
221
225
|
maxHumidityLevel: 80,
|
|
222
226
|
},
|
|
227
|
+
{
|
|
228
|
+
// Sprout Humidifier family (LEH-B381S-*). Per pyvesync's device map, this
|
|
229
|
+
// device's only auto-like mode is "autoPro" (no separate "humidity" mode
|
|
230
|
+
// like Superior 6000S has), so humiditySliderTargetsAutoMode is left unset
|
|
231
|
+
// and the target humidity slider/AutoPro-off correctly fall back to
|
|
232
|
+
// AutoPro/Manual. It also has a tunable-white night light (brightness +
|
|
233
|
+
// color temperature, not RGB), drying mode, child lock, and filter/
|
|
234
|
+
// temperature sensors - none of which this plugin models yet for any
|
|
235
|
+
// device, so hasLight stays false here rather than exposing a control
|
|
236
|
+
// shape we don't actually support.
|
|
237
|
+
isValid: (input) => input.includes(DevicePrefix.Sprout),
|
|
238
|
+
hasAutoMode: true,
|
|
239
|
+
hasAutoProMode: true,
|
|
240
|
+
mistLevels: 2,
|
|
241
|
+
hasLight: false,
|
|
242
|
+
hasColorMode: false,
|
|
243
|
+
hasSleepMode: true,
|
|
244
|
+
hasWarmMode: false,
|
|
245
|
+
minHumidityLevel: 30,
|
|
246
|
+
maxHumidityLevel: 80,
|
|
247
|
+
},
|
|
223
248
|
];
|
|
224
249
|
exports.default = deviceTypes;
|
|
225
250
|
//# sourceMappingURL=deviceTypes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deviceTypes.js","sourceRoot":"","sources":["../../src/api/deviceTypes.ts"],"names":[],"mappings":";;;AAAA,uEAAuE;AACvE,0DAA0D;AAC1D,IAAY,
|
|
1
|
+
{"version":3,"file":"deviceTypes.js","sourceRoot":"","sources":["../../src/api/deviceTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,15 @@ import { CharacteristicGetHandler, CharacteristicSetHandler } from 'homebridge';
|
|
|
2
2
|
import { AccessoryThisType } from '../VeSyncAccessory';
|
|
3
3
|
/**
|
|
4
4
|
* AutoProState characteristic handler for the AutoPro Mode service.
|
|
5
|
-
* Controls whether the device is in AutoPro Mode or
|
|
5
|
+
* Controls whether the device is in AutoPro Mode or returns to Humidity (Smart) mode.
|
|
6
6
|
*
|
|
7
7
|
* AutoPro Mode is available on certain models (e.g., Superior 6000S) and provides
|
|
8
8
|
* advanced automatic humidity control.
|
|
9
9
|
*
|
|
10
10
|
* Behavior:
|
|
11
11
|
* - On: Switches to AutoPro Mode
|
|
12
|
-
* - Off:
|
|
12
|
+
* - Off: Returns to Humidity (Smart) mode on devices where that's confirmed valid
|
|
13
|
+
* (see humiditySliderTargetsAutoMode), otherwise falls back to Manual mode
|
|
13
14
|
* - Returns false if device is off (so switch displays Off)
|
|
14
15
|
*
|
|
15
16
|
* Note: Uses cached device state from background polling to avoid slow read warnings.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoProState.d.ts","sourceRoot":"","sources":["../../src/characteristics/AutoProState.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD
|
|
1
|
+
{"version":3,"file":"AutoProState.d.ts","sourceRoot":"","sources":["../../src/characteristics/AutoProState.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,cAAc,EAAE;IACpB,GAAG,EAAE,wBAAwB,CAAC;IAC9B,GAAG,EAAE,wBAAwB,CAAC;CAC/B,GAAG,iBAyCH,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -3,14 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const VeSyncFan_1 = require("../api/VeSyncFan");
|
|
4
4
|
/**
|
|
5
5
|
* AutoProState characteristic handler for the AutoPro Mode service.
|
|
6
|
-
* Controls whether the device is in AutoPro Mode or
|
|
6
|
+
* Controls whether the device is in AutoPro Mode or returns to Humidity (Smart) mode.
|
|
7
7
|
*
|
|
8
8
|
* AutoPro Mode is available on certain models (e.g., Superior 6000S) and provides
|
|
9
9
|
* advanced automatic humidity control.
|
|
10
10
|
*
|
|
11
11
|
* Behavior:
|
|
12
12
|
* - On: Switches to AutoPro Mode
|
|
13
|
-
* - Off:
|
|
13
|
+
* - Off: Returns to Humidity (Smart) mode on devices where that's confirmed valid
|
|
14
|
+
* (see humiditySliderTargetsAutoMode), otherwise falls back to Manual mode
|
|
14
15
|
* - Returns false if device is off (so switch displays Off)
|
|
15
16
|
*
|
|
16
17
|
* Note: Uses cached device state from background polling to avoid slow read warnings.
|
|
@@ -32,7 +33,7 @@ const characteristic = {
|
|
|
32
33
|
/**
|
|
33
34
|
* Sets AutoPro Mode state.
|
|
34
35
|
* - On: Switches to AutoPro Mode
|
|
35
|
-
* - Off:
|
|
36
|
+
* - Off: Returns to Humidity (Smart) mode where verified, otherwise Manual
|
|
36
37
|
*/
|
|
37
38
|
set: async function (value) {
|
|
38
39
|
switch (value) {
|
|
@@ -42,8 +43,12 @@ const characteristic = {
|
|
|
42
43
|
this.updateAllCharacteristics();
|
|
43
44
|
break;
|
|
44
45
|
case false:
|
|
45
|
-
// Turn off AutoPro Mode -
|
|
46
|
-
|
|
46
|
+
// Turn off AutoPro Mode - return to Humidity (Smart) mode on devices
|
|
47
|
+
// where that's confirmed valid, otherwise fall back to Manual (matches
|
|
48
|
+
// the target humidity slider's mode selection in TargetHumidity.ts)
|
|
49
|
+
await this.device.changeMode(this.device.deviceType.humiditySliderTargetsAutoMode
|
|
50
|
+
? VeSyncFan_1.Mode.Humidity
|
|
51
|
+
: VeSyncFan_1.Mode.Manual);
|
|
47
52
|
this.updateAllCharacteristics();
|
|
48
53
|
break;
|
|
49
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoProState.js","sourceRoot":"","sources":["../../src/characteristics/AutoProState.ts"],"names":[],"mappings":";;AAMA,gDAAwC;AAIxC
|
|
1
|
+
{"version":3,"file":"AutoProState.js","sourceRoot":"","sources":["../../src/characteristics/AutoProState.ts"],"names":[],"mappings":";;AAMA,gDAAwC;AAIxC;;;;;;;;;;;;;;GAcG;AACH,MAAM,cAAc,GAGI;IACtB;;;;OAIG;IACH,GAAG,EAAE,KAAK;QACR,yDAAyD;QACzD,4DAA4D;QAC5D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAI,CAAC,OAAO,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,GAAG,EAAE,KAAK,WAAW,KAA0B;QAC7C,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,IAAI;gBACP,uBAAuB;gBACvB,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAI,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAChC,MAAM;YACR,KAAK,KAAK;gBACR,qEAAqE;gBACrE,uEAAuE;gBACvE,oEAAoE;gBACpE,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAC1B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,6BAA6B;oBAClD,CAAC,CAAC,gBAAI,CAAC,QAAQ;oBACf,CAAC,CAAC,gBAAI,CAAC,MAAM,CAChB,CAAC;gBACF,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAChC,MAAM;QACV,CAAC;IACH,CAAC;CACF,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
package/package.json
CHANGED