core icon indicating copy to clipboard operation
core copied to clipboard

Incomplete integration of the Levoit Vital 100S air purifier

Open jhmc3 opened this issue 1 year ago • 29 comments

The problem

Change #101273 added support for the Levoit Vital 100S air purifier via the VeSync integration. However, this integration was incomplete as it only covers the US model (model ID "LAP-V102S-WUS") of the product. The same product sold elsewhere in the world (e.g. in Europe, model ID "LAP-V102S-WEU") is still not recognised. Change #101273 did not consider the model ID pattern as used for the other Levoit products (i.e. with the different region codes appended to the base model ID), which are correctly implemented in the VeSync integration.

Please add the other regional models of the Levoit Vital 100S air purifier. Alternatively, only consider the base model ID to identify the model (i.e. "LAP-V102S" for the Levoit Vital 100S) and ignore the variant part of the model ID (e.g. "-WUS", "-WEU").

What version of Home Assistant Core has the issue?

core-2023.11.2

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Supervised

Integration causing the issue

VeSync

Link to integration documentation on our website

https://www.home-assistant.io/integrations/vesync/

Diagnostics information

Excerpt from home-assistant_vesync log:

2023-11-16 23:09:15.948 INFO (MainThread) [homeassistant.components.vesync.common] 2 VeSync fans found
2023-11-16 23:09:15.950 WARNING (MainThread) [homeassistant.components.vesync.fan] Levoit Vital S100 - Unknown device type - LAP-V102S-WEU

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

jhmc3 avatar Nov 16 '23 23:11 jhmc3

Hey there @markperdue, @webdjoe, @thegardenmonkey, mind taking a look at this issue as it has been labeled with an integration (vesync) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of vesync can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign vesync Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


vesync documentation vesync source (message by IssueLinks)

home-assistant[bot] avatar Nov 16 '23 23:11 home-assistant[bot]

same problem

maputo216 avatar Dec 01 '23 22:12 maputo216

same problem

me 2 but as soon as i edited the file in HA adding the definition of the german/euw model it worked instantly. let's hope for a fast HA integration :)

original source already fixed it, just need to wait for the HA devs to integrate the update as i understood the way HA works :)

sossnat avatar Dec 01 '23 23:12 sossnat

Seems like it didnt make it in the last few releases. Any chance of sharing the workaround? I have a few of these, would be good to get them integrated within HA.

harvindhillon avatar Dec 22 '23 14:12 harvindhillon

same problem

me 2 but as soon as i edited the file in HA adding the definition of the german/euw model it worked instantly. let's hope for a fast HA integration :)

original source already fixed it, just need to wait for the HA devs to integrate the update as i understood the way HA works :)

where or how exactly can we find and change the file?

maputo216 avatar Jan 06 '24 23:01 maputo216

same problem

me 2 but as soon as i edited the file in HA adding the definition of the german/euw model it worked instantly. let's hope for a fast HA integration :) original source already fixed it, just need to wait for the HA devs to integrate the update as i understood the way HA works :)

where or how exactly can we find and change the file?

temporary fix

Steps

  1. install the ssh plugin for hassio or use another way to connect to your HA machine
  2. connect to the server (as shown as first command in 1st screenshot) ssh root@<YOUR-HA-IP-ADDRESS>
  3. switch to the HA container (2nd command in 1st screenshot) docker exec -t -i homeassistant /bin/bash
  4. cd to the plugin's directory (1st command in 2nd screenshot) cd ./usr/src/homeassistant/homeassistant/components/vesync
  5. edit the file const.py with VI and save it (VI tutorials can be found elsewhere) vi const.py
  6. restart your HA appliance.

Notes

Its restart but not update safe. No one knows if and when the source will be ported to HA, the source already contains the new devices. You can update and redo the procedure or check the new source code beforehand. Other device strings need to be recovered from here If you have any questions reach out to me on discord (1nsTommy) or here.

Cya!

image image

sossnat avatar Jan 07 '24 23:01 sossnat

@sossnat I tried your workaround and it "works" - thanks for that. One thing I do miss in comparison to my Core 300S are the individual speed setting and all sensors (air quality, pm2.5, filter lifetime, ... etc. Are they shown in your home assistant or am I missing something?

Oxydation avatar Jan 08 '24 20:01 Oxydation

Hi @mike391 Hope you had a happy new year & everything is well. Only @ ing you because you helped with the last issue regarding the Vital100S. Not sure if the actual issue from this post was resolved, but I was more curious regarding the last comment.

One thing I do miss in comparison to my Core 300S are the individual speed setting and all sensors (air quality, pm2.5, filter lifetime, ... etc.

Is this something capable of being added to the Vital100S?

Thanks again

PapiOrtiz avatar Jan 10 '24 05:01 PapiOrtiz

Hi there,

i only got one entity, a fan out of it. Although the modes like sleep and so on are working i wondered too about the sensor reading but i guess it's only internal, pushing out the level as very good/good/... to the app. The modes also work like configured in the app. Would be nice to see if it works, for testing the original source (which i linked) could be tested with python, a simple print would do the trick to see if the reading comes back with the api request or not, if so we just need to deal with it... Could test this on the weekend.

Mit freundlichen Grüßen aus Zwickau / With best regards from Zwickau

Thomas Sossna

Am 10.01.2024 um 06:00 schrieb PapiOrtiz @.***>:



Hi @mike391https://github.com/mike391 Hope you had a happy new year & everything is well. Only @inghttps://github.com/ing you because you helped with the last issue regarding the Vital100S. Not sure if the actual issue from this post was resolved, but I was more curious regarding the last comment.

One thing I do miss in comparison to my Core 300S are the individual speed setting and all sensors (air quality, pm2.5, filter lifetime, ... etc.

Is this something capable of being added to the Vital100S?

Thanks again

— Reply to this email directly, view it on GitHubhttps://github.com/home-assistant/core/issues/104109#issuecomment-1884193515, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUFQKNS7VNVWHRCMTBWR4RLYNYN6RAVCNFSM6AAAAAA7O6OVWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBUGE4TGNJRGU. You are receiving this because you were mentioned.Message ID: @.***>

sossnat avatar Jan 10 '24 11:01 sossnat

Appreciate it! It would help to eliminate me needing to buy more Ikea air readers (even though I probably will).

PapiOrtiz avatar Jan 10 '24 15:01 PapiOrtiz

Similar to @Oxydation and @sossnat, I only get a a fan entity, and not the usual suite of entities (fan, filter lifetime, air quality, etc.) Is this expected?

When downloading the device's diagnostics (through home-assistant), I do see this information (and more) under the data.details section, so I don't think it is an issue with the data not being returned.

jkossis avatar Jan 12 '24 12:01 jkossis

Similar to @Oxydation and @sossnat, I only get a a fan entity, and not the usual suite of entities (fan, filter lifetime, air quality, etc.) Is this expected?

When downloading the device's diagnostics (through home-assistant), I do see this information (and more) under the data.details section, so I don't think it is an issue with the data not being returned.

Unfortunately I have since upgraded to a 200s. I can make the changes for the 100s if you send me a log of the data returned by the 100s but I will need someone with a 100s to test the changes.

mike391 avatar Jan 12 '24 14:01 mike391

To speed it up a little I extracted the requested diagnose log (removed custom components and other unrelated stuff):

vesync_Levoit_100S_c7ba.json

Oxydation avatar Jan 12 '24 17:01 Oxydation

Update: I'm not sure but think so, that this PR is intended to add sensor functionality to the Levoit 100S: https://github.com/home-assistant/core/pull/107812 So probably this is going into HA soon.

I guess we only need the EU model to be added, the rest will come automatically.

Oxydation avatar Jan 12 '24 20:01 Oxydation

Hiya @mike391 - do you happen to have a 200S-specific integration in the works? Stumbled on this issue as I own a 200S also.

8bitbanger avatar Jan 14 '24 23:01 8bitbanger

@mike391 I should have been more specific, I actually am having this issue (only getting a fan entity) with my 200s. Happy to provide my device diagnostics.

jkossis avatar Jan 18 '24 20:01 jkossis

Update: I'm not sure but think so, that this PR is intended to add sensor functionality to the Levoit 100S: #107812 So probably this is going into HA soon.

I guess we only need the EU model to be added, the rest will come automatically.

Anyway to help push this along? I see @relaytheurgency started it, but it looks stalled out. Also, jkossis gas been trying to push it along, but no answer.

PapiOrtiz avatar Feb 19 '24 18:02 PapiOrtiz

I'm fine with someone adding to the pr. I have had some other stuff on my plate, switching jobs, and haven't circled back. I also don't have the other purifier to validate the proposed change is functional.

On Mon, Feb 19, 2024, 12:04 PM PapiOrtiz @.***> wrote:

Update: I'm not sure but think so, that this PR is intended to add sensor functionality to the Levoit 100S: #107812 https://github.com/home-assistant/core/pull/107812 So probably this is going into HA soon.

I guess we only need the EU model to be added, the rest will come automatically.

Anyway to help push this along? I see @relaytheurgency https://github.com/relaytheurgency started it, but it looks stalled out. Also, jkossis gas been trying to push it along, but no answer.

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/104109#issuecomment-1952967329, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAZ3AQBEE5FP6TQITOBGHFTYUOH3DAVCNFSM6AAAAAA7O6OVWGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJSHE3DOMZSHE . You are receiving this because you were mentioned.Message ID: @.***>

relaytheurgency avatar Feb 19 '24 19:02 relaytheurgency

I created a PR to add this functionality: https://github.com/home-assistant/core/pull/111017

jkossis avatar Feb 20 '24 18:02 jkossis

Looks like you only have 1 review pending for it to become accepted. Appreciate the time spent & support on this @jkossis

PapiOrtiz avatar Feb 20 '24 22:02 PapiOrtiz

I saw that the new feature was merged into development - but the new sensor entities haven't appeared. Is there something to do in order to enable the sensors?

PapiOrtiz avatar Feb 24 '24 19:02 PapiOrtiz

I think this is a similar issue, but it appears that the Pet mode does not function correctly for the Vital 100S or Vital 200S. I have looked into the logs I have been able to find but don't see any errors. Also "auto" mode seems to change the mode to "default" in the app and not "auto". This might be a limitation of pyvesync or the available api?

datcomputerguy avatar Mar 29 '24 18:03 datcomputerguy

should be fixed by https://github.com/home-assistant/core/pull/115948.

klevin92 avatar May 05 '24 09:05 klevin92

I'd like to add Japan model please, LAP-V102S-WJP.

V/r

christhealien avatar May 11 '24 08:05 christhealien

Unfortunately, LAP-V102S-WEU is still not recognized.

Fotokroth avatar May 23 '24 16:05 Fotokroth

Yea for now I have used a homebridge plugin to bring it into Home Assistant. Works great and pulls in the Air Quality sensors as well as controls for the display, fan speed.

harvindhillon avatar May 28 '24 09:05 harvindhillon

@harvindhillon, hello, how did you transfer the plugin to HA? That probably requires a running instance of a Homebridge server?

Fotokroth avatar May 28 '24 09:05 Fotokroth

@Fotokroth, yea correct, I have a running homebringe instance in my homelab for testing mostly and for my Dreo fans.

Its only a workaround image image image

harvindhillon avatar May 28 '24 10:05 harvindhillon