Skip to content

Conversation

@allenporter
Copy link
Contributor

Refactor some of the internal channel details used by the device by separating V1 API connection logic from encoding logic

This creates an "RPC Channel" to separate the logic for establishing connections from doing the "RPC" payload request encoding and response parsing for sending RoborockCommand commands. The existing send_command on the channel has been renamed to send_message to be more clear since it is sending a RoborockMessage. The fallback logic is now behind the RPC interface.

The motivation for this is because we will likely try to push much of the device connection logic into the background. I'm working on a separate PR that adding A01 protocol and it seems like separating the connection logic from the RPC sending is helpful since when interacting with the devices you only care about sending RPCs.

@allenporter allenporter requested a review from Lash-L August 5, 2025 15:25
@allenporter allenporter merged commit cbd6df2 into Python-roborock:main Aug 7, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants