Skip to content

Mop.set_waterlevel() fails with UNSPECIFIC_ERROR on RV30 robot vacuum #1666

@davidefiocco

Description

@davidefiocco

When trying to set the amount of water used to feed the mops of my RV30 using version 0.10.2 e.g. with:

from kasa import Discover, Module

dev = await Discover.discover_single("192.168.1.x", username="...", password="...")
await dev.update()
mop = dev.modules[Module.Mop]

print(mop.waterlevel)          # "Medium"
await mop.set_waterlevel("High")  # raises UNSPECIFIC_ERROR(-1001)

I get an error.

The setCleanAttr endpoint requires a "type" scope field ("global" or "pose"). The device rejects the request if it's missing or invalid.

To fix one just needs to add "type": "global" to the payload, and adjust the corresponding test, which is not faithful to the actual needs of a real device (e.g. my RV30(UN) 1.0, on FW 1.2.2)

I will try to file a PR for this. For reference, the fixture for the device is proposed in #1665.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions