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

…following my previous post, note that I compared the content of the init.py files from the /usr/lib/python3.9/site-packages/pyvesync folder that is automatically created when running “pip install pyvesync” versus the content of the init.py file download from the https://github.com/webdjoe/pyvesync link. I noticed that they are not the same. The init.py installed by running pip install pyvesync, does NOT mention the 400S purifier…yet the one from the https://github.com/webdjoe/pyvesync link does mention the 400S purifier. I am not an expert and maybe my conclusion is wrong, but it seems that by running pip install pyvesync, it pulls and installs an outdated version of pyvesync, which does not support the 400S air purifier. But again, I am not an expert thus I might be wrong.

Official VeSync integration is using same pyvesync version, as mine - and it’s latest 1.4.0.
HA does download dependencies automatically, so no worry - it will be there.

On pyvesync installation:
Now you need just run command “python vesync.py”
It will launch interactive console, where you can write commands.
But yeah, if version is older, then I guess you’d have to download latest one directly from GitHub.

I can suggest same as for @LLam : try to get device properties via console pyvesync…
BTW, official integration doesn’t support 200S, right?

Thank you Andrii. Official Vesync does support Core200S and LV-PUR131S. Just these two.

@LLam maybe, you could share your device to my account for me to be able to test?
It is pretty round way to do it, but I believe it would be fastest…

How do I share my device? Via Vesync app?

Yes, in device settings.

I will need your email address though.
Also another finding…I installed pyvesync using : pip install https://github.com/webdjoe/pyvesync/archive/refs/heads/master.zip
It does create the folders in /usr/lib/python3.9/site-packages/ and the files are indeed the updated ones that support the 400S, yet I noticed that after a HOST reboot, the folders disappear!!

Huh, that’s strange.
I also realized, that pip-installed version does not support 400S.
I downloaded new version from GitHub, will try to test it.
Sent my email to you.

What’s best way for me to get the Classic 200 (humidifier) added for support?

Oh, I didn’t realize, that we are talking about Classic, not Core.
Crappy model naming by VeSync confuses me a lot.
Well, bad news are, that Classic200S is not supported by pyvesync library yet.
You may open issue to request new device support at

But it is not easy process - if developer doesn’t have your device, you will need to help him with getting API parameters…
After pyvesync adds support, we may try to integrate it here as well.

Thanks! I am capturing packets now :wink:
Hopefulyl can get it added to the pyvesync and then to yours.
Thanks again!

Great! Good luck, and will wait for good news :slight_smile:

Looks like there’s already pull-request created for Core300S, no need to capture anything.

Try to get latest code from my repo, branch “pyvesync_included”.
I added support for 400S purifier.
Check it out please.

Thanks to Andrii this issue has been solved. I confirm compatibility of his repo with Levoit 400S Air Purifier.
Thank you Andrii for sharing your knowledge and for all your support.
Excellent work buddy!!
Much appreciated!!

1 Like

I’m sorry for disinformation - looks like I completely lost in all these Classic/Core 200/300/400 S.
So yes, I added support for Core400S, and for Core300S.

Classic 200S seems to be unsupported for now. Sorry for that.

Hi LLam, could you please get latest code from main branch and check it out? Pyvesync just got bumped, so i made everything to work as it should, without including lib files into my code.
There’s Core 300s and Core 400S support added.

Absolutely… I will try it now and let you know.

Hi Andrii
I can confirm that your latest repo works fine. Thanks for the update!!