Skip to content

Add RV30(UN) 1.0 1.2.2 device fixture#1665

Open
davidefiocco wants to merge 2 commits intopython-kasa:masterfrom
davidefiocco:fix/add-rv30un-fixture
Open

Add RV30(UN) 1.0 1.2.2 device fixture#1665
davidefiocco wants to merge 2 commits intopython-kasa:masterfrom
davidefiocco:fix/add-rv30un-fixture

Conversation

@davidefiocco
Copy link
Contributor

@davidefiocco davidefiocco commented Mar 1, 2026

I propose to add a fixture for a robot vacuum: RV30(UN) 1.0, firmware 1.2.2, generated with dump_devinfo.

@davidefiocco davidefiocco force-pushed the fix/add-rv30un-fixture branch from d38718b to 34b69a2 Compare March 1, 2026 15:51
@davidefiocco
Copy link
Contributor Author

davidefiocco commented Mar 1, 2026

The PR fails in CI, and something a bit complicated is going on I am afraid.

test_vacuum_records_group and test_vacuum_records_list fail because the RV30(UN) lacks the clean_percent component. The tests assume all vacuums support it, but my RV30 doesn't.

Also, adding "RV30" to VACUUMS_SMART also triggers test_update_module_query_errors failures.

This would happen for other vacuum models though: mine is the first vacuum fixture whose model name actually matches the patterns in VACUUMS_SMART (existing fixtures for the RV20 Max Plus and RV30 Max don't match "RV20"/"RV30" due to how the model name is parsed in

RV20 Max Plus(EU)_1.0_1.0.7.json                    file_model='RV20 Max Plus'
RV30 Max(US)_1.0_1.2.0.json                         file_model='RV30 Max'

per the logic in

file_model_region = fixture_data.name.split("_")[0]

The same errors here would be seen for the other robovacuum fixtures, if they matched the set in VACUUMS_SMART.
I am not attempting fixes here, but this would require work in other modules I guess.

@ZeliardM
Copy link
Contributor

ZeliardM commented Mar 3, 2026

@davidefiocco It seems that the RV30 builds components differently and connects differently than the RV30 MAX or RV20 MAX PLUS, things that we use modules to read are there, just in a different place or component. So, we will need to look at how to handle the shifts in module linking for the different devices since this model is new and the encryption is different as well.

Has this device been set up with the Tapo App, configured with the Cloud and had a firmware update done on it at all?

@davidefiocco
Copy link
Contributor Author

davidefiocco commented Mar 3, 2026

Hello @ZeliardM, thanks!

Has this device been set up with the Tapo App, configured with the Cloud and had a firmware update done on it at all?

Yes, to all three. Before tinkering with python-kasa I setup and use the device via the Tapo app, connect it to the internet so that I can start cleaning job when I am not home and also yes, I updated the firmware, even though I haven't kept track of what it originally came with before 1.2.2. Does it answer your questions?

@ZeliardM
Copy link
Contributor

ZeliardM commented Mar 3, 2026

@davidefiocco Yep, ok, so the fixture looks very different from the other vacuums. I'll need to look closer into it and see what we can get going. I'll more than likely setup another PR for all those changes, then I'll need to to pull everything and test it out, if you're ok with that?

@davidefiocco
Copy link
Contributor Author

davidefiocco commented Mar 3, 2026

Sure, happy to help! I will keep an eye on your updates here about this to see if the new PR gets referenced, keep me posted!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new device New device supported due to fixture being added

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants