Roborock Q Revo - Want to vacuum and then mop

I have a Roborock Q Revo and I want to have homeassistant have it do a complete vacuum and then do a complete mopping. I don’t see any parameters for vacuum vs mopping. All I have so far is as follows:

alias: Clean the room every night
description:
trigger:

  • platform: time
    at: “03:00:00”
    condition:
    action:
  • service: vacuum.start
    target:
    entity_id: vacuum.roborock_q_revo
    data: {}
    mode: single

It’s not in vacuum.start. Instead you set the mop intensity before/after the start. Call select.select_option on the relevant entity with option set to off or medium (etc) to turn it off and on.

The roborock integration is a weird hodgepodge of different commands. Here’s what I came up with. Actions are as follows:

  1. Turn off the mop (vacuum only)
  2. Start vacuum task
  3. Set fan speed to max_plus
  4. Wait for the vacuum to finish (return to dock)
  5. Set mop to high
  6. Start mop/vacuum task
  7. Set fan speed to max (highest possible when also mopping)

action:

  • service: select.select_option
    target:
    entity_id:
    - select.roborock_q_revo_mop_intensity
    data:
    option: “off”
    enabled: true
  • service: vacuum.start
    metadata: {}
    data: {}
    target:
    entity_id: vacuum.roborock_q_revo
    enabled: true
  • service: vacuum.set_fan_speed
    target:
    entity_id: vacuum.roborock_q_revo
    data:
    fan_speed: max_plus
    enabled: true
  • wait_for_trigger:
    • platform: device
      device_id: 08d1ebacfda14b5066ecd32e132435da
      domain: vacuum
      entity_id: 0cd753e83e6e0ca29d1df29395220223
      type: docked
      continue_on_timeout: false
      enabled: true
  • service: select.select_option
    target:
    entity_id:
    - select.roborock_q_revo_mop_intensity
    data:
    option: high
  • service: vacuum.start
    metadata: {}
    data: {}
    target:
    entity_id: vacuum.roborock_q_revo
  • service: vacuum.set_fan_speed
    target:
    entity_id: vacuum.roborock_q_revo
    data:
    fan_speed: max