Skip to content
This repository has been archived by the owner on Dec 21, 2023. It is now read-only.

Add support for Levoit Vital 100S air purifier #128

Closed
M1K3SD1 opened this issue Apr 10, 2023 · 30 comments
Closed

Add support for Levoit Vital 100S air purifier #128

M1K3SD1 opened this issue Apr 10, 2023 · 30 comments
Labels

Comments

@M1K3SD1
Copy link

M1K3SD1 commented Apr 10, 2023

Home Assistant log

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

Additional information

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

Got the debug log for the integration and this is what I see in the logs.
This repeats for every entity of the integration.

No other logs other than that.

HA ver - 2023.4.2

@M1K3SD1 M1K3SD1 closed this as completed Apr 10, 2023
@M1K3SD1 M1K3SD1 reopened this Apr 10, 2023
@github-actions
Copy link
Contributor

'There hasn't been any activity on this issue recently. Is this issue still present?
Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍.
This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'

@M1K3SD1
Copy link
Author

M1K3SD1 commented Apr 19, 2023

Still happening with
HA - 2023.4.5
VeSync -v0.2.8

@github-actions
Copy link
Contributor

'There hasn't been any activity on this issue recently. Is this issue still present?
Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍.
This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'

@M1K3SD1
Copy link
Author

M1K3SD1 commented Apr 27, 2023

This is still the same.

@vlebourl
Copy link
Owner

Hi,
I'm dependent on the devices being added to this file: https://github.com/webdjoe/pyvesync/blob/master/src/pyvesync/vesyncfan.py

Can you check if yours is in? If it's not, you can open an issue there to ask for addition.
If it is, I have a bug 😅

@M1K3SD1
Copy link
Author

M1K3SD1 commented Apr 28, 2023

Hi @vlebourl and thank you for your response!
I did check and it's not there, I also opened a request there ~3 weeks ago but didn't get any response.

webdjoe/pyvesync#181

I apologize if I double-posted, I wasn't sure if this is based on that integration and whether it's still maintained.

@github-actions
Copy link
Contributor

github-actions bot commented May 6, 2023

'There hasn't been any activity on this issue recently. Is this issue still present?
Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍.
This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'

@vlebourl vlebourl changed the title Add support for Levoit Vital 100S air purifier [Waiting on pyvesync] Add support for Levoit Vital 100S air purifier May 8, 2023
@vlebourl
Copy link
Owner

vlebourl commented May 8, 2023

as we're still waiting on webdjoe/pyvesync#181, i'll close this one for now to clear the list. Feel free to reopen once the device is added.

@vlebourl vlebourl closed this as completed May 8, 2023
@M1K3SD1
Copy link
Author

M1K3SD1 commented Jul 18, 2023

@vlebourl I believe this was released as part of webdjoe/pyvesync#181
What's next please?

@vlebourl
Copy link
Owner

It's been released last night on 2.18, I'll try to add it ASAP.

@vlebourl vlebourl reopened this Jul 18, 2023
@vlebourl vlebourl changed the title [Waiting on pyvesync] Add support for Levoit Vital 100S air purifier Add support for Levoit Vital 100S air purifier Jul 18, 2023
@vlebourl
Copy link
Owner

Feel free to try the feature branch (https://github.com/vlebourl/custom_vesync/tree/feature/vesyncvital), I wonder if that simple change is enough?!

@M1K3SD1
Copy link
Author

M1K3SD1 commented Jul 19, 2023

@vlebourl added the integration branch, and the devices were found but as soon as I've added them all entities became unavailable, I can't seem to be able to do anything about it. What am I missing? (They are Air Purifiers btw, not humidifiers)

This is the diagnostic log entry

2023-07-19 16:16:59.072 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry xxxxxxxxx@gmail.com for humidifier Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 546, in async_unload result = await component.async_unload_entry(hass, self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/humidifier/__init__.py", line 124, in async_unload_entry return await component.async_unload_entry(entry) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 202, in async_unload_entry raise ValueError("Config entry was never loaded!") ValueError: Config entry was never loaded!

@vlebourl
Copy link
Owner

Thanks for trying, it supposed to be seen as an Air Purifier indeed. Not sure why you get this error.
It's tough to debug without access. Would you be willing to share your device? iIf so, can you send an invite to "vlebourl+vesync < at > gmail.com". Tell me as well when it would be ok to fiddle with your device during the day. I'm in Europe and can work on it mostly in the evening (9pm CET).
Cheers

@M1K3SD1
Copy link
Author

M1K3SD1 commented Jul 21, 2023

Sent, thank you @vlebourl!

@github-actions
Copy link
Contributor

'There hasn't been any activity on this issue recently. Is this issue still present?
Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍.
This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'

@M1K3SD1
Copy link
Author

M1K3SD1 commented Jul 29, 2023

This is still open

@vlebourl
Copy link
Owner

vlebourl commented Aug 2, 2023

Sorry I had no time to look at this... Summer is quite hectic with the kid on holidays...

@M1K3SD1
Copy link
Author

M1K3SD1 commented Aug 2, 2023

I feel ya, let us know please when you get the chance.

@github-actions
Copy link
Contributor

'There hasn't been any activity on this issue recently. Is this issue still present?
Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍.
This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'

@M1K3SD1
Copy link
Author

M1K3SD1 commented Aug 10, 2023

Bumping to keep it open

@github-actions
Copy link
Contributor

'There hasn't been any activity on this issue recently. Is this issue still present?
Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍.
This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'

@M1K3SD1
Copy link
Author

M1K3SD1 commented Aug 19, 2023

Still open :(

@prairieit
Copy link

@vlebourl I see you've been busy and actively working with @M1K3SD1. I can provide access to my system as well if it helps when ready to revisit this. I have 2 Vital 100s purifiers that I'd love to get into HA

@github-actions
Copy link
Contributor

github-actions bot commented Sep 1, 2023

'There hasn't been any activity on this issue recently. Is this issue still present?
Please make sure to update to the latest Home Assistant version and version of this integration to see if that solves the issue. Let us know if that works for you by adding a comment 👍.
This issue now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.'

@tango2590
Copy link

Bumping to keep open

@M1K3SD1
Copy link
Author

M1K3SD1 commented Sep 6, 2023

Hi @vlebourl wondering if you have a chance to take a look at this?
Last time you mentioned it's mostly working, but it isn't for me, when I add the integration, all entities are there but all of them are marked as "unavailable". No idea why.

@adamzeis
Copy link

Also have a 100s. Just added this integration but my device isn't showing at all, not sure if I missed a step? Any help is appreciated.

@DNARNA
Copy link

DNARNA commented Oct 1, 2023

I just bought 2 Vital 200S purifiers and I installed the custom vesync integration in HACS and went through the configuration for it by supplying my vesync login and password but no devices have been found by home assistant... Not sure what else to do here given that the model number is found in the list of compatible devices for this custom integration?

I'm attaching my config_entry in case this helps. Odd that it seems like at only one of the two 200S devices is found, but no entity is created and there is no mention of the second device?

config_entry-vesync-16cf46d1663bf73188f3184c37233be7

{
"home_assistant": {
"installation_type": "Home Assistant Container",
"version": "2023.9.3",
"dev": false,
"hassio": false,
"virtualenv": false,
"python_version": "3.11.5",
"docker": true,
"arch": "aarch64",
"timezone": "America/New_York",
"os_name": "Linux",
"os_version": "6.1.21-v8+",
"run_as_root": true
},
"custom_components": {
"robovac": {
"version": "1",
"requirements": []
},
"midea_dehumidifier_lan": {
"version": "0.8.13",
"requirements": [
"midea-beautiful-air==0.9.15"
]
},
"bhyve": {
"version": "3.2.0",
"requirements": []
},
"hacs": {
"version": "1.33.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
},
"nest_protect": {
"version": "0.4.0b1",
"requirements": []
},
"localtuya": {
"version": "5.2.1",
"requirements": []
},
"vesync": {
"version": "1.1.0",
"requirements": [
"pyvesync==2.1.10"
]
},
"smartthinq_sensors": {
"version": "0.33.3",
"requirements": [
"pycountry>=20.7.3",
"xmltodict>=0.12.0",
"charset_normalizer>=2.0.0"
]
},
"sonoff": {
"version": "3.5.2",
"requirements": [
"pycryptodome>=3.6.6"
]
}
},
"integration_manifest": {
"domain": "vesync",
"name": "VeSync",
"codeowners": [
"@markperdue",
"@webdjoe",
"@TheGardenMonkey",
"@vlebourl"
],
"config_flow": true,
"dhcp": [
{
"hostname": "levoit-",
"macaddress": "
"
}
],
"documentation": "https://www.home-assistant.io/integrations/vesync",
"iot_class": "cloud_polling",
"issue_tracker": "https://github.com/vlebourl/custom_vesync",
"requirements": [
"pyvesync==2.1.10"
],
"version": "1.1.0",
"is_built_in": false
},
"data": {
"fans": [
{
"device_name": "Air Purifier (Master)",
"device_image": "https://image.vesync.com/defaultImages/deviceDefaultImages/vs_wfon_apr_lap_v201s-wus_us_240.png",
"cid": "REDACTED",
"connection_status": "online",
"connection_type": "WiFi+BTOnboarding+BTNotify",
"device_type": "LAP-V201S-WUS",
"type": "wifi-air",
"uuid": "REDACTED",
"config_module": "VS_WFON_APR_LAP-V201S-WUS_US",
"mac_id": "REDACTED",
"mode": "auto",
"speed": 0,
"extension": null,
"current_firm_version": null,
"device_region": "US",
"pid": null,
"sub_device_no": null,
"config": {
"display": false,
"display_forever": false
},
"device_status": "on",
"enabled": true,
"config_dict": {
"module": "VeSyncVital",
"models": [
"LAP-V201S-AASR",
"LAP-V201S-WJP",
"LAP-V201S-WEU",
"LAP-V201S-WUS",
"LAP-V201-AUSR"
],
"modes": [
"manual",
"auto",
"sleep",
"off",
"pet"
],
"features": [
"air_quality"
],
"levels": [
1,
2,
3,
4
]
},
"features": [
"air_quality"
],
"modes": [
"manual",
"auto",
"sleep",
"off",
"pet"
],
"air_quality_feature": true,
"details": {
"filter_life": 100,
"mode": "manual",
"level": 0,
"display": true,
"child_lock": false,
"night_light": "off",
"air_quality": 0,
"light_detection_switch": true,
"environment_light_state": false,
"screen_switch": true,
"air_quality_value": 16,
"auto_preference_type": "default"
},
"timer": {
"__type": "<class 'pyvesync.helpers.Timer'>",
"repr": "Timer(timer_duration=0, action='off', id=1, _status='active', _remain=0, update_time=1696177114)"
},
"set_speed_level": 1,
"auto_prefences": [
"default",
"efficient",
"quiet"
]
}
]
}
}

@tango2590
Copy link

tango2590 commented Oct 11, 2023

This can be fixed with PR #170.

@vlebourl
Copy link
Owner

merged and released.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

6 participants