I was playing with a new irrigation valve today and I had home assistant open on my workstation. I went into assist and just asked it “turn off irrigation1_zone1 in 10 minutes”
I feel like I am missing something. But not quite sure what. I know i can create timer helpers and then start/stop those. But I was under the impression that adhoc timers were a thing now (for a while now).
You can code in a 10 minute delay possibly by voice.
Timers are a specific thing and when you say timers, it will look for a timer entity… which has to be created as a helper.
This is voice stuff, so I may have things wrong. I’m more used to coding an answer than doing complex things via voice, so get other opinions as well.
But I don’t use an LLM… so I don’t know how that affects the process.
Raw response
stage: done
run:
pipeline: 01k33xrwdf1jydkvazgbj3bkjh
language: en
conversation_id: 01KQT2K71C5HG88MSF7AQJRQV2
runner_data:
stt_binary_handler_id: null
timeout: 300
events:
- type: run-start
data:
pipeline: 01k33xrwdf1jydkvazgbj3bkjh
language: en
conversation_id: 01KQT2K71C5HG88MSF7AQJRQV2
runner_data:
stt_binary_handler_id: null
timeout: 300
timestamp: "2026-05-04T18:04:20.909301+00:00"
- type: intent-start
data:
engine: conversation.home_assistant
language: en
intent_input: turn on tv light in 2 minutes
conversation_id: 01KQT2K71C5HG88MSF7AQJRQV2
device_id: null
satellite_id: null
prefer_local_intents: false
timestamp: "2026-05-04T18:04:20.909399+00:00"
- type: intent-end
data:
processed_locally: true
intent_output:
response:
speech:
plain:
speech: Command will be executed in 2 minutes
extra_data: null
card: {}
language: en
response_type: action_done
data:
success: []
failed: []
conversation_id: 01KQT2K71C5HG88MSF7AQJRQV2
continue_conversation: false
timestamp: "2026-05-04T18:04:21.453832+00:00"
- type: run-end
data: null
timestamp: "2026-05-04T18:04:21.453877+00:00"
started: 2026-05-04T18:04:20.909Z
intent:
engine: conversation.home_assistant
language: en
intent_input: turn on tv light in 2 minutes
conversation_id: 01KQT2K71C5HG88MSF7AQJRQV2
device_id: null
satellite_id: null
prefer_local_intents: false
done: true
processed_locally: true
intent_output:
response:
speech:
plain:
speech: Command will be executed in 2 minutes
extra_data: null
card: {}
language: en
response_type: action_done
data:
success: []
failed: []
conversation_id: 01KQT2K71C5HG88MSF7AQJRQV2
continue_conversation: false
finished: 2026-05-04T18:04:21.453Z
They’re a thing, but it’s complicated.
AFAIK, the delayed-commands can be started both by the Assist UI input and voice input, but they don’t populate the timer variables on voice devices. Voice input can populate the timer variables on Voice devices, but the Assist UI cannot. I don’t think there are any built-in options to start a timer on the HA server.
Did your command turn on the tv after the 2 minutes? I get the not being able to populate the vars on the voice assist devices (esphome devices ect). I have not moved to the 2026.05 yet. still on 04.
This particular sitation has nothing to do with voice assistant. just the assist you can type messages into. This is 100% based around the idea of the ephemeral timers like the egg timer, or pasta timer ect. Not timers that are pre-known. Example. Todays timer with the sprinkler. I have normal schedules for that. But i had an edge case today that i just needed it running for 10 minutes.