VeSync
homebridge-tsvesync · v1.6.1
Adds VeSync, Levoit and Etekcity air purifiers, humidifiers, fans, outlets and bulbs to HomeKit.
What it says it supports
Brands
- VeSync
- Levoit
- Etekcity
Devices it names
- Core200S
- Core300S
- Core400S
- Core600S
- LV-PUR131S
- Vital100S
- LV600S
- ESL100
Shows up in Apple Home as from its README
Sensor readings in its code
What people report
Levoit/VeSync purifiers and humidifiers are supported with ongoing model fixes; MFA/2FA accounts are not supported.
- Works6
- Requested1
| Device | Status | What they said | Source |
|---|---|---|---|
| Levoit Core 300S air purifier | Works | Speed model corrected; log error noise fixed in latest versionSaved copy… Apple Home automation lands in manual, sleep, or off depending purely on the slider position. Investigating that surfaced several related defects in the air purifier's write and readback paths, all reproduced live against a Core 300S, two Core 200S and an LUH-A601S humidifier. 1. Batched writes raced (the reported bug) HomeKit scenes and automations write `Active`, `TargetAirPurifierState` and `RotationSpeed` in a single HAP request, and HAP-NodeJS dispatches those writes concurrently (`Accessory.js`, the `_loop_2` dispatch, it calls `handleCharacteristicWrite(...).then(...)` per … Excerpt saved from GitHub on 2026-10-22. | PR #43 · 2026-07 |
| Levoit Core 400S | Works | Works well via HomebridgeSaved copyI use the VeSync Core 400s through Homebridge. A little big but they’re very good, and whisper quiet on the lower settings. Excerpt saved from Arctic Shift Reddit archive on 2026-10-22. | Reddit comment · 2025-02 |
| Levoit Dual 200S humidifier | Works | Mode mapping and mist levels fixed for Apple HomeSaved copy… mickgiles/tsvesync#2 must be merged and published first. This PR depends on tsvesync using HTTP PUT for `setMode` and `setHumidity`. Summary Comprehensive fix for the Dual 200S humidifier in Apple Home. Fixes #32. Swaps the HomeKit mode mapping so VeSync "auto" (target humidity) maps to HomeKit "Humidity" (with slider), and VeSync "manual" (fixed mist) maps to HomeKit "Auto" (no slider) Constrains rotation speed to 2 levels (Low/High) matching the device's actual hardware capability Switches to manual mode when adjusting fan speed during auto, common Homebridge pattern Adds `isHumidDual200S` … Excerpt saved from GitHub on 2026-10-22. | PR #33 · 2026-03 |
| Levoit LTF-F422S-KEU tower fan | Works | Fan speed range corrected to 12 speeds; user confirmedSaved copyWhen controlling a LEVOIT LTF-F422S-KEU with the plugin I've noticed 100% in HomeKit equates to speed 5 on the fan rather than 12 when it's controlled using the remote or VeSync app. Looking at the code it seems to be on purpose so I was wondering if its a difference between the KEU model and the WUS model? I'm going to have a play and submit a pull request changing it to 12 that you may want to consider if it's supposed to be 0-12 for both models. Excerpt saved from GitHub on 2026-10-22. | Issue #8 · 2025-01 |
| Levoit Vital 100S/200S air purifier (Pet mode) | Works | Pet mode exposed as HomeKit switch in merged PRSaved copySummary This PR adds support for "Pet" mode, which the Vital series of Air Purifiers support. The `tsvesync` library already implements `petMode()` and advertises `pet_mode` / a `pet` workMode for the LAP-V201S family. But the `AirPurifierAccessory` never actually surfaced pet mode to HomeKit, the only trace was an unused `petMode?()` stub on the device interface. Approach The approach is a little funny because HomeKit only supports `Manual` and `Auto` in Air Purifier states. This adds a "Pet Mode" Switch service. Adds the switch only for pet-capable devices; removes a stale cached switch if … Excerpt saved from GitHub on 2026-10-22. | PR #39 · 2026-07 |
| Levoit Vital 200S air purifier | Works | Auto mode in batched HomeKit writes fixed in merged PRSaved copyFixes #42. Setting a Vital 200S to Auto from an Apple Home automation lands in manual, sleep, or off depending purely on the slider position. Investigating that surfaced several related defects in the air purifier's write and readback paths, all reproduced live against a Core 300S, two Core 200S and an LUH-A601S humidifier. 1. Batched writes raced (the reported bug) HomeKit scenes and automations write `Active`, `TargetAirPurifierState` and `RotationSpeed` in a single HAP request, and HAP-NodeJS dispatches those writes concurrently (`Accessory.js`, the `_loop_2` dispatch, it calls … Excerpt saved from GitHub on 2026-10-22. | PR #43 · 2026-07 |
| VeSync accounts with MFA/2FA | Requested | Plugin cannot log in with two-factor auth enabledSaved copyI have MFA/2Factor auth enabled on my account, the plugin doesnt seem to support that :(, or at least I do not see how to get it authenticate without it locking my account. Excerpt saved from GitHub on 2026-10-22. | Issue #16 · 2025-09 |
Gathered from the plugin’s GitHub issues, pull requests, discussions, wiki and docs, and from r/homebridge. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Cloud
VeSync cloud API
You’ll need
- VeSync account
Compatibility
| Verified by Homebridge | Yes |
|---|---|
| Homebridge versions | ^1.6.0 || ^2.0.0-beta.0 |
| Homebridge 2.0 | Yes |
| Node.js | ^18.20.4 || ^20.15.1 || ^22 || ^24 |
| Settings in Homebridge UI | Yes |
| Matter | No |
| Platform name | TSVESyncPlatform |
| License | MIT |
Community signals
| Downloads a week | 113 |
|---|---|
| Downloads a month | 468 |
| GitHub stars | 21 |
| Open issues | 12 |
| Closed issues | 24 |
| Last code push | 2026-07-27 |
| Latest version | 1.6.1 (2026-07-27) |
| First published | 2024-12-31 |
| Releases | 139 |
In ReReHome
Whatever this plugin publishes reaches Apple Home as a normal HomeKit accessory behind your Homebridge bridge, so ReReHome shows and controls it like any other.
Bridges get their own settings page listing the accessories behind them.
HomeKit services in its code
Found by scanning the published npm package. A plugin can register a service only for some devices.
- AirPurifier
- AirQualitySensor
- Fanv2
- FilterMaintenance
- HumidifierDehumidifier
- Lightbulb
- Outlet
- Switch
- TemperatureSensor
Sources
- npm: https://www.npmjs.com/package/homebridge-tsvesync
- Source code: https://github.com/mickgiles/homebridge-tsvesync
- Issues: https://github.com/mickgiles/homebridge-tsvesync/issues
- Verified plugins list: https://github.com/homebridge/verified