From cbdf4c8c70f14da0c552a6325c86bda4c8da7a00 Mon Sep 17 00:00:00 2001 From: Yangqian Date: Tue, 1 Jul 2025 21:50:11 +0800 Subject: [PATCH] feat: Implement set_value method for A01 device protocols --- .../version_a01_apis/roborock_mqtt_client_a01.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/roborock/version_a01_apis/roborock_mqtt_client_a01.py b/roborock/version_a01_apis/roborock_mqtt_client_a01.py index 3ca93e66..8a99ba7d 100644 --- a/roborock/version_a01_apis/roborock_mqtt_client_a01.py +++ b/roborock/version_a01_apis/roborock_mqtt_client_a01.py @@ -73,3 +73,16 @@ async def update_values( payload=pad(json.dumps(payload).encode("utf-8"), AES.block_size), ) ) + + async def set_value( + self, protocol: RoborockDyadDataProtocol | RoborockZeoProtocol, value: typing.Any + ) -> dict[int, typing.Any]: + """Set a value for a specific protocol on the A01 device.""" + payload = {"dps": {int(protocol): value}} + return await self.send_message( + RoborockMessage( + protocol=RoborockMessageProtocol.RPC_REQUEST, + version=b"A01", + payload=pad(json.dumps(payload).encode("utf-8"), AES.block_size), + ) + )