So I have this automation that runs my vacuum, cleaning the whole house, then after it’s done cleaning the whole house, it’s supposed to clean the living room again. It accomplishes this, but only after the wait_template times out. The intended way this is supposed to happen is the automation waits for the vacuum to go back to the dock, empty and enter a fresh state, then start the single room cleaning mode.
I’m using wait_template
since I can verify a valid true/false in the dev tools template editor. So the automation isn’t seeing this state change even though the condition is showing True
in the template editor. I’ve also tried using On
instead of on
but that never showed True
. Does anyone having any ideas on what I’m overlooking that’s keeping this from progressing the way I intend it?
alias: Run Vacuum Cleaner Days
description: ""
trigger:
- platform: time
at: "07:30:00"
condition:
- condition: or
conditions:
- condition: time
weekday:
- mon
- tue
- wed
- fri
- thu
before: "00:00:00"
after: "00:00:00"
- condition: state
entity_id: input_boolean.vacuum_tomorrow
state: "on"
- condition: state
entity_id: input_boolean.skip_vacuuming_today
state: "off"
- condition: state
entity_id: binary_sensor.workday_today
state: "on"
action:
- service: vacuum.start
target:
entity_id: vacuum.roborock_a15_af7f_robot_cleaner
data: {}
- choose:
- conditions:
- condition: state
entity_id: input_boolean.vacuum_tomorrow
state: "on"
sequence:
- service: input_boolean.turn_off
target:
entity_id: input_boolean.vacuum_tomorrow
data: {}
default: []
- delay:
hours: 0
minutes: 15
seconds: 0
milliseconds: 0
# this is the section I'm having troubles with
- wait_template: <- {{ is_state('binary_sensor.is_roborock_clean', 'on') }}
timeout: "01:15:00"
continue_on_timeout: true
- delay:
hours: 0
minutes: 2
seconds: 0
milliseconds: 0
- choose:
- conditions:
- condition: state
for:
hours: 0
minutes: 0
seconds: 0
entity_id: binary_sensor.is_roborock_clean
state: "on"
sequence:
- service: vacuum.send_command
target:
entity_id: vacuum.roborock_a15_af7f_robot_cleaner
data:
command: app_segment_clean
params:
- 16
default: []
- wait_for_trigger:
- platform: state
entity_id: vacuum.roborock_a15_af7f_robot_cleaner
to: docked
for:
hours: 0
minutes: 0
seconds: 0
from:
- cleaning
- returning
- emptying
continue_on_timeout: true
timeout: "00:30:00"
mode: single
The wait_for_trigger
at the end of the automation was my original attempt at determining when the vacuum completes its cleaning but that too didn’t work