VeSync development particularly for Levoit Humdifiers

Continuing the discussion from Add support for Levoit Classic 300S Smart Ultrasonic Top-Fill Cool Mist Humidifier in the VeSync integration:

I have put a test repo together that starts with the changes in this PR, but I have added some extra features that I will propose once that PR has been done.

It should now work for any Humidity device in the Python VeSync library (testing welcome).

In addition to the PR, for Humidity devices;

  • Added in 2 binary sensors (from alexanv1) for Tank lifted and out of water.
  • Added in the warm mist attributes (I’ll add being able to set this once I have someone to test it) - this is a separate branch for now as I cannot test it.
  • Added a Target Humidity number entity (adds a slider to adjust the target humidity level)
  • Added a switch for auto mode - when switching off Auto mode it goes to manual + mist level 1
  • Fixed the ‘step’ on the mist level slider

If anyone fancies testing this, it would be most welcome, especially if you have devices other than humidifiers using VeSync. Notes on how to add it to your custom-components are in the Readme. Please raise issues or suggestions there.

1 Like

I have deprected this to contribute with @vlebourl on his HACS installable version.


Hello! Is it possible to add LV600S via this integration? What are the steps? I’ve already added it via HACS, but don’t know how to discover the humidifier.

1 Like

No, it will not as the Fan check needs to be modified so that it checks for Fan models in the same manner the humidifier models are checked - see this comment Air Purifier 400S - LAP-C401S-WUSR not showing up in the integration · Issue #15 · vlebourl/custom_vesync · GitHub

This works great with my 300S! Thank you so much! It was such a rollercoaster of emotions today, discovering that VeSync had support, not seeing the 300S, then stumbling on this post! Very excited with this integration!


I have a Levoit 200s which has the “sleep” preset mode. However, once it’s set to “Sleep”, nothing I do will take it out this mode, short of turning it off and back on. Any idea why?



Thank you!,

It’s working perfectly for my 3 humidifiers:


Also wanted to say thank you - it’s working great with my Levoit Classic200S humidifier! Only thing I noticed was my model doesn’t have a Night Light but the option still appears.No big deal at all though!

Hey, I see you have a Dual 200s. I just got into home assistant and I have one of these but I’m having trouble finding where to start to integrate this into it. I was excited to see you got it to work and hoped you could point me in the right direction to get this to work.

Sure no problem.

I installed via HACS and added the repo directly into it: GitHub - vlebourl/custom_vesync: Custom VeSync component for Home Assistant

HACS: Home Assistant Community Store | HACS

Once you have HACS installed, go to it, click “Add a repository” and add the above link. Then refresh the UI and you can then search for it in the list. Custom Repositories | HACS

1 Like

I’ve setup the integration but it took some time to discover the second air purifier.

Anyways, I want to setup an automation based on the air quality. If air quality is above -say- 7 I’d like the air purifier to turn on… and if below 7 then turn off.

I tried with the “state” trigger but I’m not sure what to type under “attributes” or “from” and “to”.

Your help is appreciated.

I have a LV600S. It’s listed within the py library for supported Levoit humidifiers…

It seems like there was a problem with getting this model to work above but the issues seems to have been closed. Does that mean that it is now working?

Did you get this working?

Hello, I have 2 Vital100S and they don’t seem to work. Any way to add these to HA?

Edit, got the debug log for the integration and this is what I see in the logs, Has anyone encountered such an issue? This repeats for every entity of the integration. (email redacted)

Running ver - 2023.3.6

2023-03-29 09:16:51.488 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry <[email protected]> for fan
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/", line 539, in async_unload
    result = await component.async_unload_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/fan/", line 175, in async_unload_entry
    return await component.async_unload_entry(entry)
  File "/usr/src/homeassistant/homeassistant/helpers/", line 181, in async_unload_entry
    raise ValueError("Config entry was never loaded!")
ValueError: Config entry was never loaded!

Hi Brian,
just want to give a :+1: and a big TNX!
Works great with my Dual200S on HA 2023.6.2

1 Like

Please, how did you make it.
Can you help me, I follow all the steps, still not working

I’ve been using GitHub - vlebourl/custom_vesync: Custom VeSync component for Home Assistant for my Levoit Humidifiers but for some reason, it is only showing 1 humidifer. I have two LV600S in the app.

Anyone knows how to make the other show up in my entities/devices?

1 Like

Tested on a Levoid core 200S air purifier. Works great. Thank you for your work

Hello, not sure if this post topic is still active, I’ve just got a Levoit Humidifer Classic 300, if you are still looking for people to do some testing or capturing please let me know, this will be my first but I think it would be a good experience

I have the same issue, I have one Core400S and one LV600S and just one appear