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