home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
69.03k stars 28.28k forks source link

Incomplete integration of the Levoit Vital 100S air purifier #104109

Open jhmc3 opened 6 months ago

jhmc3 commented 6 months ago

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

home-assistant[bot] commented 6 months ago

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)

maputo216 commented 5 months ago

same problem

sossnat commented 5 months ago

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 :)

harvindhillon commented 4 months ago

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.

maputo216 commented 4 months ago

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?

sossnat commented 4 months ago

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

Oxydation commented 4 months ago

@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?

PapiOrtiz commented 4 months ago

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

sossnat commented 4 months ago

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: @.***>

PapiOrtiz commented 4 months ago

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

jkossis commented 4 months ago

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.

mike391 commented 4 months ago

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.

Oxydation commented 4 months ago

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 commented 4 months ago

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.

8bitbanger commented 4 months ago

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

jkossis commented 4 months ago

@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.

PapiOrtiz commented 2 months ago

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.

relaytheurgency commented 2 months ago

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: @.***>

jkossis commented 2 months ago

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

PapiOrtiz commented 2 months ago

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

PapiOrtiz commented 2 months ago

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?

datcomputerguy commented 1 month ago

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?

klevin92 commented 1 week ago

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

christhealien commented 1 week ago

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

V/r