Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for VeSync Humidifiers #84025

Closed
wants to merge 13 commits into from

Conversation

kevin-brown
Copy link

@kevin-brown kevin-brown commented Dec 15, 2022

Proposed change

Add support VeSync humidifiers which are supported by the underlying PyVesync library.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • The code has been formatted using Black (black --fast homeassistant tests)
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

To help with the load of incoming pull requests:

@home-assistant
Copy link

Hey there @home-assistant/core, @Shulyaka, mind taking a look at this pull request as it has been labeled with an integration (humidifier) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of humidifier can trigger bot actions by commenting:

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

@home-assistant
Copy link

Hey there @markperdue, @webdjoe, @TheGardenMonkey, mind taking a look at this pull request 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 Change the title of 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.

@kevin-brown kevin-brown force-pushed the vesync-humidifier branch 4 times, most recently from 0c282f6 to 47f0259 Compare December 17, 2022 01:13
@kevin-brown kevin-brown marked this pull request as ready for review December 17, 2022 01:31
@kevin-brown kevin-brown requested a review from a team as a code owner December 17, 2022 01:31
@kevin-brown kevin-brown force-pushed the vesync-humidifier branch 2 times, most recently from ed30a2c to 66c73ab Compare December 17, 2022 17:00
@Shulyaka Shulyaka mentioned this pull request Dec 18, 2022
25 tasks
@reydanro
Copy link

fwiw, I pulled this PR locally and tested it too. The humidifier entity appeared without any problems and actions worked fine (turn on/off, set humidity level).

@vondruska
Copy link

Tested against my LUH-A602S-WUSR and functionality looks good. Was able to toggle the humidifier on and off as well as setting the target humidity level.

@Sxyman815
Copy link

any updates when this will be pushed into HA for those of use that don't know how to use this now?

@evenisse
Copy link

any updates?

@andrewwiik
Copy link

andrewwiik commented Jan 29, 2023

This also worked on my setup with the OASISMIST, more than happy to help with whatever it takes to get over the finish line

This adds the entity registries and handlers for humidifier entities,
as well as the base class that they will later extend from. Because
humidifiers are a sub-type of fans within VeSync, we have to detect
fans that are humidifers and not air purifiers by checking to see if
they have the ability to set their humidity. If they can't set their
target humidity, then they must be an air purifier, otherwise we are
treating it like a humidfier.

This also only adds support for the Classic300S but later support
will be added for the other humidifiers supported by PyVeSync once
support for that one is stabilized.
This adds support for the normal, auto, and sleep modes which are
available across the supported humidifiers. Depending on the
humidifier, the auto mode is also sometimes called humidity mode.

Because of PyLint rules present within the project to avoid importing
from sub-modules of a component, the `MODE_SLEEP` constant is now
exposed from the root of the humidifier component. This is necessary
to allow us to support sleep mode of humidifiers, something which it
appears nobody else has done before.
This is needed because humidifiers within Home Assistant by default
only support returning the target humidity, but not the current
humidity. So you need to return it within a different sensor.
@hungnguyenm
Copy link
Contributor

Hi @bdraco, since you reviewed similar PRs on this integration, do you mind taking a look at this PR to get it merged? Thanks!

@chuckdeal97
Copy link
Contributor

chuckdeal97 commented Mar 1, 2023

For those following this PR, I'm attempting to merge the base content from the PR with PR #62907.

The active PR for supporting humidifiers is #88941

@chuckdeal97
Copy link
Contributor

I'd recommend closing this PR in favor of a newer set of PRs that have been opened to cover the same functionality (#90455)

Copy link
Contributor

@epenet epenet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are merge conflicts that need resolving.
Please rebase or consider closing in favor of #90455

@home-assistant home-assistant bot marked this pull request as draft April 19, 2023 12:38
@home-assistant
Copy link

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

@github-actions
Copy link

There hasn't been any activity on this pull request recently. This pull request has been automatically marked as stale because of that and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.

@github-actions github-actions bot added the stale label Jul 23, 2023
@github-actions github-actions bot closed this Jul 30, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Aug 1, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Levoit classic 300s vesync not showing
9 participants