npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

homebridge-levoit-air-purifier-eu

v1.2.4

Published

Homebridge plugin for Levoit Air Purifiers (Core 200S/300S/400S/600S) with EU support

Downloads

2,269

Readme

Homebridge Levoit Air Purifier EU

npm License: Apache-2.0

A Homebridge plugin for controlling Levoit air purifiers through the VeSync platform, with EU and US endpoint support.

This project is a fork of homebridge-levoit-air-purifier by RaresAil.

Requirements

  • Node.js 22 or newer
  • Homebridge 1.3.5 or newer

Supported Devices

| Model | Speed Levels | |-------|--------------| | Core 600S / 601S / 602S | Sleep, 1-4 | | Core 400S / 400S Pro / 401S | Sleep, 1-4 | | Core 300S / 300S Pro | Sleep, 1-3 | | Core 200S | Sleep, 1-3 | | Vital 100S / 200S | Sleep, 1-3 |

Devices below the 200 series, such as the 131S, are not supported because they require the older VeSync API v1.

Features

  • Air quality display with PM2.5 as a separate sensor
  • Filter life level and filter change indicator
  • Child lock
  • Auto, Manual and Sleep modes
  • Speed control
  • EU and US endpoint support
  • Session persistence
  • Configurable status refresh interval
  • Optional device rediscovery
  • Device include and exclude filters

Experimental Features

  • DeviceDisplay: Display control as a HomeKit light
  • Humidifiers: Support for Levoit humidifiers, including Dual 200S

Installation

Via Homebridge UI

Search for "levoit air purifier eu" in the Homebridge Plugin search.

Via npm

npm install -g homebridge-levoit-air-purifier-eu

On the Official Homebridge Image (Raspberry Pi)

Open the Terminal in the Homebridge UI and run:

npm --prefix /var/lib/homebridge install --save homebridge-levoit-air-purifier-eu

Then restart Homebridge.

Install from GitHub

npm --prefix /var/lib/homebridge install --save git+https://github.com/Karrypto/homebridge-levoit-air-purifier-eu.git#master

Configuration

Child Bridge

Running the plugin as a child bridge keeps it isolated from other Homebridge plugins.

  1. Go to Plugins -> Levoit Air Purifier EU
  2. Open Bridge Settings
  3. Enable Run as a separate child bridge
  4. Save and restart Homebridge

Via Homebridge UI

  1. Go to Plugins -> Levoit Air Purifier EU -> Settings
  2. Enter your VeSync credentials
  3. Select your Country Code, for example DE for Germany or US for the United States
  4. Save and restart Homebridge

Manual Configuration (config.json)

{
  "platforms": [
    {
      "platform": "LevoitAirPurifiers",
      "name": "Levoit Air Purifiers",
      "email": "[email protected]",
      "password": "your-password",
      "countryCode": "DE"
    }
  ]
}

Optional Settings

{
  "platform": "LevoitAirPurifiers",
  "name": "Levoit Air Purifiers",
  "email": "[email protected]",
  "password": "your-password",
  "countryCode": "DE",
  "enableDebugMode": false,
  "refreshInterval": 120,
  "rediscoveryInterval": 0,
  "includeDevices": [],
  "excludeDevices": [],
  "experimentalFeatures": ["DeviceDisplay", "Humidifiers"]
}
  • refreshInterval: Seconds between VeSync status refreshes per device. Minimum: 120. Lower values can exhaust the VeSync daily request quota.
  • rediscoveryInterval: Minutes between device rediscovery runs. Use 0 to disable. Minimum when enabled: 5.
  • includeDevices: Optional list of exact device names or UUIDs to expose.
  • excludeDevices: Optional list of exact device names or UUIDs to hide. Exclusions take priority.

Country Codes

| Country | Code | Endpoint | |---------|------|----------| | Germany | DE | EU | | Austria | AT | EU | | Switzerland | CH | EU | | United Kingdom | GB | EU | | France | FR | EU | | Netherlands | NL | EU | | United States | US | US | | Canada | CA | US | | Australia | AU | US |

EU accounts are automatically routed via smartapi.vesync.eu.

HomeKit Control

Speed (Rotation Speed)

HomeKit rotation speed values are normalized to the nearest supported device level. 0% turns the device off. Values above 0% turn the device on if needed.

Core 200S / 300S / 300S Pro:

| HomeKit | Mode | |---------|------| | 0% | Off | | 25% | Sleep Mode | | 50% | Level 1 | | 75% | Level 2 | | 100% | Level 3 |

Core 400S / 400S Pro / 600S:

| HomeKit | Mode | |---------|------| | 0% | Off | | 20% | Sleep Mode | | 40% | Level 1 | | 60% | Level 2 | | 80% | Level 3 | | 100% | Level 4 |

Target State

| HomeKit | Levoit Mode | |---------|-------------| | Auto | Automatic mode | | Manual | Manual mode |

Troubleshooting

"Login failed: Invalid email or password"

  • Verify your VeSync credentials in the VeSync app

"Cross-region error"

  • Select the correct Country Code for your region

Device not appearing in HomeKit

  • Enable Debug Mode in plugin settings
  • Check if the device is online in the VeSync app
  • Check includeDevices and excludeDevices if device filters are configured

Session persistence

The plugin saves your VeSync session. After a restart you'll see:

Reusing persisted VeSync session

Uninstall

npm --prefix /var/lib/homebridge uninstall homebridge-levoit-air-purifier-eu

Fork Notes

This fork adds:

  • Current VeSync two-step authentication
  • EU endpoint routing based on country code
  • Persisted VeSync sessions
  • Command failure handling
  • Configurable refresh and rediscovery intervals
  • Device include and exclude filters

Credits & License

Original Plugin: homebridge-levoit-air-purifier by RaresAil

Auth flow inspired by: homebridge-tsvesync

License: Apache-2.0

This project is a fork and is released under the same license as the original.