Community-maintained fork of @NiklasGustafsson's original Levoit/VeSync driver pack. The fork has taken over active maintenance after the original repo went idle in 2022.
Available through HPM (search Levoit or VeSync) or via the manifest URL:
https://raw.githubusercontent.com/level99/Hubitat-VeSync/main/levoitManifest.json
Supported devices
Air purifiers:
| Model | Model code(s) | Notes |
|---|---|---|
| Core 200S, 300S, 400S, 600S | (varies by SKU) | From upstream v1.x + Child lock, display read-back, auto-off timer, filter reset, PM2.5 + AQ attributes. |
| Vital 200S | LAP-V201S (all regional variants) |
v2.0 |
| Vital 100S | LAP-V102S |
v2.1 |
| Sprout Air Purifier | LAP-B851S family + LAP-BAY-MAX01S |
v2.3 preview. Full air-quality suite (PM2.5/PM1/PM10/VOC/CO2). |
| EverestAir | LAP-EL551S (all 4 regional variants) |
v2.3 preview. Turbo mode + vent-angle support. |
| PlasmaPro 400S-P black | LAP-C401S-KUSR |
v2.3 (routes to Core 400S driver) |
Humidifiers:
| Model | Model code(s) | Notes |
|---|---|---|
| Superior 6000S | LEH-S601S |
v2.0 |
| Classic 300S | LUH-A601S |
v2.1 |
| OasisMist 450S | LUH-O451S / -O601S |
v2.1. EU variant (LUH-O451S-WEU) includes RGB color nightlight. |
| LV600S | LUH-A602S (all 6 regional variants) |
v2.2 preview. The original LV600S β see naming traps below. |
| Dual 200S | LUH-D301S (all 5 regional variants) |
v2.2 preview |
| Classic 200S | Classic200S |
v2.3 preview |
| LV600S Hub Connect | LUH-A603S-WUS |
v2.3 preview. Newer "Hub Connect" variant β see naming traps below. |
| OasisMist 1000S | LUH-M101S (US + EU) |
v2.3 preview |
| Sprout Humidifier | LEH-B381S |
v2.3 preview. Color-temperature nightlight on EU variant. |
Fans:
| Model | Model code(s) | Notes |
|---|---|---|
| Tower Fan | LTF-F422S |
v2.1 preview |
| Pedestal Fan | LPF-R432S |
v2.1. Includes setChildLock and setSmartCleaningReminder |
Fall-through: Generic Levoit Diagnostic Driver β v2.0 β picks up any unrecognized LAP- / LEH- / LUH- / LV- / LTF- / LPF- device with best-effort Switch + AQ/Humidity capabilities and a captureDiagnostics command for filing new-device-support requests.
Levoit's product naming has some confusing overlaps. If you're unsure which driver applies, check your model code:
- "LV600S" β two different products.
LUH-A602Sis the original LV600S (use the LV600S driver).LUH-A603Sis the newer "LV600S Hub Connect" β different hardware, different cloud-API conventions (use the LV600S Hub Connect driver). Both are sold under the same "LV600S" brand name; only the model code distinguishes them. - Classic 200S vs Classic 300S. Two different humidifier products despite similar branding.
Classic200Sdevice type uses the Classic 200S driver;LUH-A601Suses the Classic 300S driver.
Headline features
- Per-device offline detection β every Levoit child device exposes an
onlineattribute (true/false). When a device stops responding, the parent marks it offline and emits the event for Rule Machine / Notifier to react. captureDiagnostics()button on every device page β one-click bug-report data capture. Generates a markdown block with driver / device / hub-firmware metadata, recent error history, attribute snapshot, plus a pre-filled
GitHub issue link.- EU region support β
VeSync API regionparent preference (US/EU) routes API calls throughsmartapi.vesync.eufor EU users.
Preview drivers
Several drivers ship as preview β built without maintainer hardware, validated against canonical pyvesync fixtures, the Home Assistant vesync integration, SmartThings/Homebridge community drivers, plus an automated CI gate (PyvesyncCoverageSpec).
Reporting Issues
Click captureDiagnostics() on the device page and use the pre-filled GitHub issue link in the diagnostics attribute. The capture includes the last 10 errors automatically (driver name, version, model code, hub firmware, recent error history, attribute snapshot all pre-populate the issue form).
For issues that don't trigger any error log β silent failures, Rule Machine actions that don't appear to work β also enable Debug Output in the device's preferences for a few minutes and include those logs in the issue.
Install + setup
- HPM: Apps β Hubitat Package Manager β Install β search
Levoit. Pick "Levoit Air Purifiers, Humidifiers, and Fans" β that's this community fork (active maintenance, full device list). (The original "Levoit Air Purifiers" by NiklasGustafsson may also appear in results; it's been idle since 2022) Alternatively, you may paste the manifest URL above to skip the disambiguation. - First-time: Devices β Add Device β Virtual; for Type, scroll to User Devices and select VeSync Integration. Give the device a name e.g.
Levoit. Save. Then on the device's detail page, enter your VeSync mobile-app email + password. Set Refresh Interval (60-120s recommended for most installs). Click Save Preferences. - Within ~5s the parent driver logs in, discovers your devices, and creates one Hubitat child per device (named to match your VeSync app labels).
- To re-scan after adding a new device in the VeSync app: open the parent device β Resync Equipment.
Migrating from Niklas's v1.x
Existing Core 200S / 300S / 400S / 600S devices keep working with no re-pairing β install via HPM and Hubitat matches drivers by (namespace, name).
Vital 200S and Superior 6000S users who previously hit "device discovered but no data" need to re-pick the device Type once after install.
Full migration guide: docs/migration-from-niklas-upstream.md.
Repo, issues, roadmap
- Repo: GitHub - level99/Hubitat-VeSync: Hubitat drivers for Levoit smart home devices (air purifiers, humidifiers, and fans) via the VeSync cloud API. Community fork. Β· GitHub
- Issues + new-device-support requests: Issues Β· level99/Hubitat-VeSync Β· GitHub
- Per-driver event/attribute/command reference: Drivers/Levoit/readme.md
- ROADMAP
- CHANGELOG
Acknowledgements
- @NiklasGustafsson β original VeSyncIntegration framework + Core 200S/300S/400S/600S drivers. The framework is preserved in the fork.
- pyvesync β canonical VeSync API payload reference.
The original community thread for v1.x: Levoit Air Purifiers Drivers.