Skip to content

feat: add new V1 dock types and align dock capabilities with the app - #1047

Open
infy1995 wants to merge 1 commit into
Python-roborock:mainfrom
infy1995:feat/v1-dock-types-from-app
Open

infy1995 wants to merge 1 commit into
Python-roborock:mainfrom
infy1995:feat/v1-dock-types-from-app

Conversation

@infy1995

Copy link
Copy Markdown
Contributor

Summary

Brings RoborockDockTypeCode and RoborockDockFeatures in line with the dock table (DockConfigs) of the newest Roborock app V1 plugins.

  • New dock type codes f1rc_dock = 48 and f2rs_dock = 50. Until now these codes fell back to unknown, so the dock counted as missing and no dock traits were offered.
  • Capabilities for codes 48, 49 and 50 (F1RC, F1RS, F2RS): collect, wash and dry, high-temperature water, double serial communication, simple wash modes, no-water-flow carousel (49, 50), carousel self-clean (48 without AM) and water up/down drain (AM variants of 49 and 50).
  • Aliases with the app's dock names for two placeholder members: shell_4_dock (27) and f1rs_dock (49). type_27_dock and type_49_dock stay the canonical names, so .name, keys() and existing code are unchanged.
  • New dock properties:
    • is_no_support_hot_wash_towel (Shell E): the app disables hot mop washing for this dock even when the robot reports it.
    • is_multi_clean_fluid_supported (Shell 4S without AM).
    • is_clean_carousel_supported (dock has a carousel/strainer).
  • Docs: new "Dock Features" section in docs/V1_DEVICE_FEATURES.md. It explains that the app's "A"/"AM" variants (Shell 2SA, O5AM, ...) are not separate codes: they report the same dock_type and differ by Status.has_am.

Changed existing values

These results change for docks the library already knew. Each follows the newest app plugins.

Dock Capability Before After Source
F2R (43) is_clean_carousel_self_clean_supported True False The newest plugins no longer set carousel self-clean for F2R. Older plugins did.
K1S (20), without AM is_clean_fluid_auto_delivery_supported False True Newest plugins only (they add automatic fluid delivery to K1S). The AM variant was already True.
Hera (24) is_hatch_door_dock_cool_fan_supported False True Every plugin that knows Hera checks Couple or Hera.

Known difference, not changed here

is_special_support_wash_temp is True only for the Shell 2E Lite dock. The app's check of the same name also depends on the product: it is true for every product except PearlEPro, which needs a Shell 2E Lite dock. The library does not use this property yet. It will be fixed when the wash temperature options start using it.

Testing

  • Table-driven tests in tests/test_supported_features.py for each new code and changed value, with and without AM, and for the aliases.
  • pre-commit run --all-files and the full pytest suite pass.

Part of #738

Add dock type codes 48 (F1RC) and 50 (F2RS), app-name aliases for codes 27 and 49, the capabilities of codes 48-50, and three new dock properties. K1S gets automatic fluid delivery, Hera the hatch-door cool fan, and F2R no longer reports carousel self-cleaning, following the newest app plugins.
@infy1995 infy1995 mentioned this pull request Nov 14, 2026
9 tasks

This branch has not been deployed

No deployments
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.

1 participant