TL;DR: Make your ESPHome voice assistant timers persistent by storing them in Home Assistant. Timers survive reboots, can be controlled from any device, and you can add visual displays like LED matrices or touchscreens.
The Problem
If you’ve used timers with ESPHome voice assistants, you’ve probably noticed they’re ephemeral—reboot the device and your timer is gone. Forget checking how much time is left from another room. And if you want a visual countdown? Good luck.
The Solution
This project moves timer management from the ESP device to Home Assistant, giving you:
Persistent Timers - Timers survive device reboots and reconnections
Cross-Device Control - “Hey, start the kitchen timer” works from the bedroom
Visual Displays - Add progress bars to WLED strips, HUB75 LED matrices, or LCD touchscreens
Area-Aware - Each voice assistant manages timers for its assigned area
Natural Commands - Works with standard voice commands: “Set a 10 minute timer”, “Pause the timer”, “How much time is left?”
How It Works
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Voice Command │────▶│ Home Assistant │────▶│ Timer Entity │
│ "Set timer" │ │ Intent Scripts │ │ timer.kitchen │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
┌────────────────────────────┘
▼
┌─────────────────┐ ┌──────────────────┐
│ ESPHome Device │◀────│ Template Sensors │
│ Display/Audio │ │ Remaining time, │
└─────────────────┘ │ progress, state │
└──────────────────┘
The ESP device handles voice input and audio feedback, while Home Assistant manages the actual timer state. Template sensors calculate remaining time and progress, which get pushed back to the device for display updates.
Supported Devices
Ready-to-use configurations for:
- Espressif ESP32-S3-BOX-3
- Waveshare ESP32-S3 Audio Board
- Waveshare ESP32-S3 Touch LCD 1.83"
Plus example configs for adding timer displays to HUB75 LED matrices, WLED strips, and LCD touch panels.
Getting Started
Full documentation with step-by-step installation:
Voice Assistant Persistent Timers - Voice Assistant Persistent Timers
The site includes:
- Complete Home Assistant configuration files (timer entities, templates, intent scripts)
- ESPHome device configurations with timer display packages
- Examples for visual timer displays (LED strips, matrices, touchscreens)
- Troubleshooting guide
Questions?
Happy to answer questions here. If you find bugs or have feature requests, open an issue on GitHub!