Add fan_speed_presets() for querying available fan speeds#643
Merged
Add fan_speed_presets() for querying available fan speeds#643
Conversation
This returns a dictionary {name, value} of the available fan speeds,
the main driver being the need to simplify homeassistant integrations for different devices.
For viomi vacuums this is currently straightforward and hard-coded, but we do special handling
for rockrobo devices (based on info() responses):
* If the query succeeds, newer firmware versions (3.5.7+) of v1 are handled as a special case,
otherwise the new-style [100-105] mapping is returned.
* If the query fails, we fall back to rockrobo v1's percentage-based mapping.
This happens, e.g., when the vacuum has no cloud connectivity.
Related to #523
Related downstream issues
home-assistant/core#32821
home-assistant/core#31268
home-assistant/core#27268
rytilahti
added a commit
to rytilahti/home-assistant
that referenced
this pull request
Mar 15, 2020
This needs input from Xiaomi vacuum owners to verify that it does not break anything. I have personally tested this on rockrobo v1 (old mapping). Related issues/PRs: home-assistant#32821 home-assistant#31268 home-assistant#27268 This is a WIP as it requires a new upstream release. The PR is rytilahti/python-miio#643
This was referenced Mar 15, 2020
Owner
Author
|
This has been tested now with the gen1 (old firmware) as well as Roborock S4 and S55 v2. Unfortunately no updates from anyone running gen1 with a newer firmware, but let's get this merged and released to finally fix the issue for non-gen1 users at least. |
balloob
pushed a commit
to home-assistant/core
that referenced
this pull request
Apr 2, 2020
* Use backend-provided fan speed presets for Xiaomi vacuums This needs input from Xiaomi vacuum owners to verify that it does not break anything. I have personally tested this on rockrobo v1 (old mapping). Related issues/PRs: #32821 #31268 #27268 This is a WIP as it requires a new upstream release. The PR is rytilahti/python-miio#643 * Bump version requirement for 0.5.0 * Bump requirements_test_all.txt, too * Fix linting; missing setup.cfg on local checkout caused wrong settings for black.. * Add tests for both fan speed types * Remove useless else.. * bump python-miio to 0.5.0.1 due to broken 0.5.0 packaging
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This returns a dictionary {name, value} of the available fan speeds,
the main driver being the need to simplify homeassistant integrations for different devices.
For viomi vacuums this is currently straightforward and hard-coded, but we do special handling
for rockrobo devices (based on info() responses):
If the query succeeds, newer firmware versions (3.5.7+) of v1 are handled as a special case,
otherwise the new-style [100-105] mapping is returned.
If the query fails, we fall back to rockrobo v1's percentage-based mapping.
This happens, e.g., when the vacuum has no cloud connectivity.
Related to #523
Related downstream issues
home-assistant/core#32821
home-assistant/core#31268
home-assistant/core#27268