Roborock Q Revo - Want to vacuum and then mop

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