Skip to content

fix: start/pause values for T2117#428

Draft
hfbauman wants to merge 1 commit into
damacus:mainfrom
hfbauman:main
Draft

fix: start/pause values for T2117#428
hfbauman wants to merge 1 commit into
damacus:mainfrom
hfbauman:main

Conversation

@hfbauman
Copy link
Copy Markdown

@hfbauman hfbauman commented Apr 8, 2026

I have a Robovac 25C (T2123) although it is recognized as T2117. Similarly to those in #303, I was having issues with the start button not starting, the pause button actually starting but not pausing, but the other buttons working fine. I did some digging and found that the values for the command lookup weren't populated properly, so I've fixed that in this PR.

Copilot AI review requested due to automatic review settings April 8, 2026 03:19
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes incorrect START/PAUSE behavior for RoboVac models detected as T2117 by adding the missing boolean value mapping for the START_PAUSE command (DPS 2), aligning behavior with other boolean-toggle models referenced in issue #303.

Changes:

  • Adds START_PAUSE command value mappings for T2117 (start -> True, pause -> False).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 21 to 28
commands = {
RobovacCommand.START_PAUSE: {
"code": 2,
"values": {
"start": True,
"pause": False,
},
},
Copy link

Copilot AI Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add/extend unit tests to cover the new boolean START_PAUSE mapping for T2117 (e.g., assert getRoboVacCommandValue(START_PAUSE, "start") is True and "pause" is False). The repo already has per-model command mapping tests (see tests/test_vacuum/test_t2118_command_mappings.py:test_t2118_start_pause_values), but T2117 doesn’t appear to be covered yet, so this regression-prone behavior would benefit from a dedicated test file.

Copilot uses AI. Check for mistakes.
@hfbauman hfbauman marked this pull request as draft April 8, 2026 03:54
@hfbauman
Copy link
Copy Markdown
Author

hfbauman commented Apr 8, 2026

Start and pause are working, but returning to base no longer does... This seems to be due to a change made in #341, specifically this section:

# For models with boolean START_PAUSE (e.g. T2128, T2276), DPS 2 is the
# execution trigger — without it, the device ACKs but doesn't physically act.
start_value = self.vacuum.getRoboVacCommandValue(RobovacCommand.START_PAUSE, "start")
if start_value != "start":
payload[self.get_dps_code("START_PAUSE")] = start_value

In particular, it seems that telling the vacuum to both pause and to return to base at the same time means that it just pauses. I will need to explore more to figure out how to keep compatibility with protocol v3.5.

@stevendejongnl, do you have any thoughts on this?

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