Skip to content

API Discoveries

Alex Corn edited this page May 23, 2022 · 3 revisions

Favorite Jobs

GET /dev/v1/user/favorites

PUT/DELETE /dev/v1/user/favorites/:favorite_id

Complex Jobs

Room-specific cleaning jobs are the only complex jobs that can be started locally.

Time-Limited Jobs

For some insane reason, time-limited jobs are cloud-dependent. When the requested time has elapsed, the cloud sends a stop command followed by a dock command.

Favorited Time-Limited Jobs

As far as I can tell, nothing special happens when starting a time-limited job that you saved as a favorite. The app just sends the standard start command via the cloud MQTT broker, including the favorite_id. Assumption is that the cloud recognizes this command and enqueues the stop command. Untested. Unknown what happens if the favorite is deleted as the job is in progress.

On May 23, 2022 a 15-minute favorited "clean everywhere" job was tested on a Roomba i7 via the official app and 22 minutes elapsed without the robot going back to the base.

Ad-Hoc Time-Limited Jobs

The app saves a new favorite named _mission_init_config_:BLID: with hidden: true containing the command that's being sent, then starts it normally via MQTT.

Teaming

When a teaming job is started, POST /dev/v1/:blid_of_first_bot/config?app_id=ANDROID-... with data for the job to be executed when the first job completes. team_id appears to be randomly generated by the app. A standard MQTT start command is then sent including the team_id. Unsure if the start command needs to be sent via cloud MQTT broker. Also if this isn't a favorite then _mission_init_config_:BLID: hidden favorites are created for both robots involved. The secondary robot's command is "" (empty string) in its hidden favorite. Unknown at this time what happens if a saved favorite team job is executed.

Clone this wiki locally