Hi everyone,
I’d like to share a new Voice Assist tool I’ve been developing for Home Assistant - an upgrade to the classic timer concept that lets you control device schedules directly with your voice.
What It Does
This tool allows Voice Assist (an LLM-based assistant like Gemini/GPT) to create, extend, pause, resume, or cancel device schedules naturally.
Each schedule can control one or multiple devices (like lights, fans, or air conditioners), and all schedules are automatically restored after Home Assistant restarts.
Unlike the built-in timer domain, this agent:
-
Manages schedules per device, not globally
-
Handles multiple concurrent schedules independently
-
Executes actions automatically (turn devices on/off when time expires)
-
Fully integrates with Voice Assist, including multi-language voice input
Example Voice Commands
-
“Set a schedule to turn off the living room fan in 15 minutes.”
-
“Extend the kitchen light schedule by 10 minutes.”
-
“Add a schedule to turn off the bedroom air conditioner at 6 a.m.”
-
“Cancel all device schedules.”
-
“What device schedules are currently active?”
Key Features
-
Supports modes: start, extend, pause, resume, cancel, cancel_all, list
-
Independent management for multiple devices and schedules
-
Auto-restores all schedules after system restart
-
Compatible with LLM-based Voice Assist for natural, multi-language control
-
Flexible end-of-schedule actions: turn on/off devices, send notifications, trigger scripts, etc.
Why “Device Schedules” Instead of “Timers”?
Home Assistant’s built-in timers already cover countdowns and reminders, so this tool focuses on device-oriented automations - what you actually want to happen after the time expires.
By using the phrase “device schedules”, it avoids conflicts with built-in Assist tools like HassCancelAllTimers, ensuring more accurate behavior when using LLMs.
Use Cases
-
Turn off fans, lights, or AC units automatically after a set duration
-
Create multiple schedules for different rooms simultaneously
-
Manage schedules hands-free with natural voice commands
-
Serve as a foundation for voice-driven automation workflows
Installation
My GitHub repository for all dependency files
-
The blueprint
devices_schedules.yamlserves as the main controller, managing all timers.
-
The blueprint
devices_schedules_restart_handler.yamlmanages the automatic restoration of schedules following a system restart.
-
The blueprint
devices_schedules_controller_full_llm.yamlmanages the interaction between the user and the LLM.
Please carefully read each blueprint description before getting started.
I’d love feedback or suggestions from the community - especially ideas for extending it further.
Would this be something useful for your setup?