Voice Assistant - Devices Schedules / Timers

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

  1. The blueprint devices_schedules.yaml serves as the main controller, managing all timers.
    Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

  2. The blueprint devices_schedules_restart_handler.yaml manages the automatic restoration of schedules following a system restart.
    Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

  3. The blueprint devices_schedules_controller_full_llm.yaml manages the interaction between the user and the LLM.
    Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

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?

2 Likes

A little hint:

Look at the prompt trick I used here with my LLM timer script to make the LLM use my timer script instead of the default HASS Timer intents.

Works reliable (at least with the OpenAi models that I tested so far) for me.

1 Like

Thanks for sharing your project! :+1: I’m currently unsure whether or not I will end up using this, but I will give it a try simply because I enjoy exploring use cases for AI-improved automations.

I really appreciate the suggestion; your method is very clever. I looked it up and read about it during the conflict resolution process. But in the end, I chose to find a way to work around the conflict rather than overwrite it, because I didn’t want to get rid of an existing feature that others might still be using.

1 Like

Thanks a lot for liking it! I hope you can give it a try, and perhaps you’ll also enjoy the way AI helps make our lives more fun.