-
-
Notifications
You must be signed in to change notification settings - Fork 31.7k
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
Use backend-provided fan speed presets for Xiaomi vacuums, bump python-miio #32850
Use backend-provided fan speed presets for Xiaomi vacuums, bump python-miio #32850
Conversation
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
I can test this for you with Roborock S55 V2. How can I do this, just importing the xiaomi_miio as custom component? |
Thanks for the offer! So testing this requires manually installing the linked python-miio PR ( My hope is that I can get at least some feedback from non-v1 (old) users before I prepare a new python-miio release, after which this PR needs to be updated to bump the version. edit: You can also check out if the library part is working before going to test whether it works with homeassistant:
|
@rytilahti I installed a new instance of Home Assistant 106.6 on my Macbook and installed the library you named, and connected my vacuum. Also picked the whole xiaomi_miio integration and placed it in custom_components with your PR. I got the following error in the log: Log Details (ERROR) xiaomi_miio: Error on device update! |
Hmm, looks like the PR is not there, maybe homeassistant re-installed the released version during the startup and overwrote the PR version.. If that is the case, please re-install the PR (and verify that the above |
@rytilahti You're correct, I installed the PR again and started home assistant with skip-pip. Everything works as expected, names of the fan speeds are correct, and I tried every speed while checking the Xiaomi Home-app for changes. Tested with de Roborock S55 v2. |
We should see if we can fix up this PR to be mergeable and try to include it into the beta IMHO. |
This depends on a new upstream release, but I'll try to push that out as soon as possible. I'm currently waiting for feedback before merging two pending PRs (one of which is the one in question here) and making a new release. |
@rytilahti
And then ran the command, here is my output: I'll try setting up the custom component in HA to test that part next, and update this comment if I succeed 😕. ... Okay ... I don't know how I managed it.. but I did! Apologies for the small exuberance - this was my first time doing any type of testing like this... so I was excited to succeed. 😄. Anyway - confirmed to fix on Roborock s4 (Gen3 I believe). DeadEnd |
Great, thanks for testing @DeadEnded! The only missing one is gen1 new firmware (as that's the one with a special handling in the code). |
I just tested this on mine and here is the output.. Running command fan_speed_presets |
Just tested it via miiocli on a Xiaomi Vacuum 1S and it looks good: Running command fan_speed_presets The only odd thing is that I can only 4 speeds on Mi Home app: What is this 105? |
The mode gentle is used for mopping (it disables the vacuum), I'm not sure if this works on non-mop models, so maybe it needs to be removed for versions without mopping? |
Yes, maybe it makes more sense, to avoid people using it inadvertedtly |
Got a friend to do it for me on a Xiaomi Vacuum 1st gen
Didn't go that well.. |
About the "gentle" mode: I think it'll stay like that as I don't know which exact model numbers have it and which do not. I'll happily accept PRs to fix that though. About the error, that sounds like a problem in the environment (libssl, ..), unfortunately I cannot help with that :/ |
5825271
to
44f6a45
Compare
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).
Devices tested (thanks!):
Related issues/PRs:
#32821 (replaces)
#31268
#27268
Breaking change
Proposed change
Type of change
Example entry for
configuration.yaml
:# Example configuration.yaml
Additional information
Checklist
black --fast homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
..coveragerc
.The integration reached or maintains the following Integration Quality Scale: