DPs and Interaction Logic of Robot Vacuum

Last Updated on : 2026-03-16 10:34:43Copy for LLMView as MarkdownDownload PDF

Overview

This topic aims to standardize the interaction logic for key data points (DPs) between the robot vacuum device and the control panel (Universal Base Station All-in-one MiniApp), ensuring the proper implementation of device functions and consistency in user experience.

Core functional modules

Basic control features

  • Cleaning control: Start/stop cleaning, pause/resume operations.
  • Recharge management: Automatically control recharge and monitor the states.
  • Mode switching: Seamlessly switch between multiple cleaning modes.
  • Status monitoring: Report various device states in real time.

Supported cleaning modes

  • Quick mapping: Intelligent path planning for comprehensive area mapping.
  • Full-house cleaning: Intelligent path planning for comprehensive area cleaning.
  • Selected area cleaning: Precise cleaning based on designated rooms.
  • Selected zone cleaning: Custom rectangular area cleaning.
  • Selected spot cleaning: Precise positioning with the "point and go" feature.
  • Other modes: Remote control mode and other extended functionalities.

Smart monitoring

  • Fault diagnosis: Simultaneous reporting and identification of multiple faults.
  • Live video: Audio/video monitoring on/off control.

DP definition

DP ID DP name Identifier Data transfer Data type DP property
1 Cleaning switch switch_go Send and report (read-write) Bool
  • true: Start cleaning.
  • false: Stop cleaning.
2 Pause or continue pause Send and report (read-write) Bool
  • true: Pause the current work state.
  • false: Continue the current work state.
3 Recharge switch switch_charge Send and report (read-write) Bool
  • true: Start recharge.
  • false: Stop recharge.
4 Mode mode Send and report (read-write) Enum Default values (Do not modify or delete, as this might affect the control panel logic):
  • smart: Automatic cleaning mode / Full-house cleaning mode.
  • chargego: Automatic recharge mode (must be compatible with goto_charge).
  • zone: Selected zone cleaning mode / Rectangular zone cleaning mode.
  • pose: Point and go mode / selected spot cleaning mode.
  • select_room: Selected area cleaning mode.
  • manual: Remote control mode.
  • quick_mapping: Quick mapping mode.
5 Status status Report only (read-only) Enum Default values (Do not modify or delete, as this might affect the control panel logic):
  • standby: Standby.
  • smart: Automatic cleaning in progress.
  • zone_clean: Selected zone cleaning in progress.
  • part_clean: Partial cleaning in progress.
  • cleaning: Cleaning in progress (Alternative).
  • paused: Paused.
  • goto_pos: Going to the target location.
  • pos_arrived: Target location reached.
  • pos_unarrive: Target location unreachable.
  • goto_charge: Looking for a charging dock.
  • charging: Charging in progress.
  • charge_done: Charging completed.
  • sleep: Sleep mode.
  • select_room: Selected area cleaning in progress.
  • seek_dust_bucket: Looking for a dust collection bin.
  • mapping: Mapping in progress.
  • relocation: Relocating while cleaning.
  • breakpoint_charging: Charging in progress (resuming from a previous point).
  • manual_control: Remote control in progress.
  • mapping_done: Mapping completed.
  • relocation_recharge: Relocating to recharge.
  • collecting_dust: Collecting dust (Other status values can be added after this).
28 Fault reporting total_error Send and report (read-write) Raw All faults are represented using the raw data type, without distinguishing between machine faults or base station faults. Each fault is represented by 1 byte.
If faults 1, 2, and 3 occur simultaneously, the representation will be: 010203. The panel needs to determine and separate each fault byte. If there are no faults, the value is 00.
45 Live video switch live_video_switch Send and report (read-write) Bool
  • true: Enable.
  • false: Disable.

DP and panel interaction logic

Complex protocol control commands

  • COMPLEX_CMD_E enumeration:

    Command identifier Functional description Scenario
    ROOM_CLEAN_SET Room cleaning settings When starting the selected area cleaning mode.
    ROOM_CLEAN_QUERY Room cleaning query When resuming after a pause in the selected area cleaning.
    ZONE_CLEAN_SET Zone cleaning settings When starting the selected zone cleaning mode.
    ZONE_CLEAN_QUERY Zone cleaning query When resuming after a pause in the selected zone cleaning.
    SPOT_CLEAN_SET Selected spot cleaning settings When starting the selected spot cleaning mode.
    SPOT_CLEAN_QUERY Selected spot cleaning query When resuming after a pause in the selected spot cleaning.
  • Interface responses:

    • ty_rvc_room_clean_data_response: Response interface of selected area cleaning data.
    • ty_rvc_zone_clean_data_response: Response interface of selected zone cleaning data.
    • ty_rvc_spot_clean_data_response: Response interface of selected spot cleaning data.

For more information, refer to Complex Protocol Control.

Quick mapping mode

Operation scenario Interaction logic
Start mapping Click Start:
  • Send: DP1 switch_go = true & DP4 mode = quick_mapping
  • Report: DP1 switch_go = true & DP4 mode = quick_mapping & DP5 status = mapping
Pause mapping Click Pause:
  • Send: DP2 pause = true
  • Report: DP2 pause = true & DP5 status = paused
Resume mapping Click Resume:
  • Send: DP2 pause = false
  • Report: DP2 pause = false & DP5 status = mapping
Recharge during mapping When DP5 status = mapping/paused, click Recharge:
  • Send: DP3 switch_charge = true & DP2 pause = false
  • Report: DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done
Cancel during recharge When DP5 status = goto_charge, click Recharge:
  • Send: DP3 switch_charge = false
  • Report: DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby
Switch mode When DP5 status = mapping/paused, switching to another mode prompts: This operation will end the current task. Are you sure to end it?
  • Send: DP1 switch_go = false
  • Report: DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false & DP5 status = standby

Full-house cleaning mode

Operation scenario Interaction logic
Start cleaning Click Start:
  • Send: DP1 switch_go = true & DP4 mode = smart
  • Report: DP1 switch_go = true & DP4 mode = smart & DP5 status = smart
Pause cleaning Click Pause:
  • Send: DP2 pause = true
  • Report: DP2 pause = true & DP5 status = paused
Resume cleaning Click Resume:
  • Send: DP2 pause = false
  • Report: DP2 pause = false & DP5 status = smart
Recharge during cleaning When DP5 status = smart/paused, click Recharge:
  • Send: DP3 switch_charge = true & DP2 pause = false
  • Report: DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done
Cancel during recharge When DP5 status = goto_charge, click Recharge:
  • Send: DP3 switch_charge = false
  • Report: DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby
Switch mode When DP5 status = smart/paused, switching to another mode prompts: This operation will end the current task. Are you sure to end it?
  • Send: DP1 switch_go = false
  • Report: DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false & DP5 status = standby

Selected area cleaning mode

Operation scenario Interaction logic
Start cleaning Click Start:
  • Send: DP1=true & DP4=select_room & COMPLEX_CMD_E=ROOM_CLEAN_SET
  • Report: DP1=true & DP2=false & DP3=false & DP4=select_room & DP5=select_room & ty_rvc_room_clean_data_response
Pause cleaning Click Pause:
  • Send: DP2 pause = true
  • Report: DP2 pause = true& DP5 status = paused
Resume cleaning Click Resume:
  • Send: DP2 pause = false & COMPLEX_CMD_E = ROOM_CLEAN_QUERY
  • Report: DP2 pause = false & DP5 status = select_room & ty_rvc_room_clean_data_response
Recharge during cleaning Click Recharge:
  • Send: DP3 switch_charge = true & DP2 pause = false
  • Report: DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done
Cancel during recharge When DP5 status = goto_charge, click Recharge:
  • Send: DP3 switch_charge = false
  • Report: DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby
Switch mode When DP5 status = select_room/paused, switching to another mode prompts: This operation will end the current task. Are you sure to end it?
  • Send: DP1 switch_go = false
  • Report: DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby

Selected zone cleaning mode

Operation scenario Interaction logic
Start cleaning Click Start:
  • Send: DP1 switch_go = true & DP4 mode = zone & COMPLEX_CMD_E = ZONE_CLEAN_SET
  • Report: DP1 switch_go = true & DP2 pause = false & DP3 switch_char= false & DP4 mode = zone & DP5 status = zone_clean & ty_rvc_zone_clean_data_response
Pause cleaning Click Pause:
  • Send: DP2 pause = true
  • Report: DP2 pause = true & DP5 status = paused
Resume cleaning Click Resume:
  • Send: DP2 pause = false & COMPLEX_CMD_E = ZONE_CLEAN_QUERY
  • Report: DP2 pause = false & DP5 status = zone_clean & ty_rvc_zone_clean_data_response
Recharge during cleaning When DP5 status = zone_clean /paused, click Recharge:
  • Send: DP3 switch_charge = true & DP2 pause = false
  • Report: DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done
Cancel during recharge When DP5 status = goto_charge, click Recharge:
  • Send: DP3 switch_charge = false
  • Report: DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby
Switch mode When DP5 status = zone_clean /paused, switching to another mode prompts: This operation will end the current task. Are you sure to end it?
  • Send: DP1 switch_go = false
  • Report: DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby

Selected spot cleaning (point and go) mode

Operation scenario Interaction logic
Start cleaning Click Start:
  • Send: DP1 switch_go = true & DP4 mode = pose & COMPLEX_CMD_E = SPOT_CLEAN_SET
  • Report: DP1 switch_go = true & DP2 pause = false & DP3 switch_char= false & DP4 mode = pose & DP5 status = goto_pos/pos_arrived & ty_rvc_spot_clean_data_response
Pause cleaning Click Pause:
  • Send: DP2 pause = true
  • Report: DP2 pause = true & DP5 status = paused
Resume cleaning Click Resume:
  • Send: DP2 pause = false & COMPLEX_CMD_E = SPOT_CLEAN_QUERY
  • Report: DP2 pause = false & DP5 status = goto_pos/pos_arrived & ty_rvc_spot_clean_data_response
Recharge during cleaning When DP5 status = goto_pos/pos_arrived /paused, click Recharge:
  • Send: DP3 switch_charge = true & DP2 pause = false
  • Report: DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done
Cancel during recharge When DP5 status = goto_charge, click Recharge:
  • Send: DP3 switch_charge = false
  • Report: DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false &DP5 status = standby
Switch mode When DP5 status = goto_pos/pos_arrived/paused, switching to another mode prompts: This operation will end the current task. Are you sure to end it?
  • Send: DP1 switch_go = false
  • Report: DP1 switch_go = false & DP2 pause = false & DP3 switch_char= false & DP5 status = standby

Recharge

Operation scenario Interaction logic
Automatic recharge
  • Send: DP3 switch_charge = true & DP2 pause = false
  • Report: DP3 switch_charge = true & DP1 switch_go = false & DP2 pause = false & DP5 status = goto_charge/charging/charge_done

Fault reporting

Description Interaction logic
Fault reporting Report: DP28 total_error
Data format: Raw type. One byte represents one error code.
  • No fault: 00
  • Fault #1: 01
  • Fault #10: 0a
  • Fault #1 + Fault #10: 010a

Audio and video

Description Interaction logic
Audio and video switch Start pushing audio/video stream data:
  • Send: DP45=true
    Report: DP45=true. At this point, the device can start streaming and place data into the ring buffer. For more information, see Audio and Video Ring Buffer.
Stop pushing audio/video stream data:
  • Send: DP45=false
  • Report: DP45=false. Stop placing data into the ring buffer.
Video monitoring logic Conditional checks:
  • When DP45 = false: Show a dialog: Live video not enabled.
  • When DP45=true:
  • With password: Perform password verification.
  • Without password: Directly open the video monitoring interface.

Things to note

  • The content above is based only on the Universal Base Station All-in-one MiniApp and describes the DP interactions related to robot vacuum movement. For other DP interactions, refer to the corresponding SDK demo.
  • Fault codes are parsed by the panel, and multiple faults might exist simultaneously.
  • Default enumeration values must not be modified or deleted, ensuring the control panel logic functions correctly.
  • Status and mode enumerations can be extended in the future (contact the Tuya product manager), but backward compatibility must be maintained.