A simple Home Assistant integration that turns entities on and off with a precise countdown timer and daily runtime tracking.
π Out-of-the-box, pre-packaged timer solution, eliminating manual creation of multiple Home Assistant entities, sensors, and automations.
π Precise Timer Control - Set countdown timers from 1-1000 minutes for any switch, input_boolean, light, or fan
π Daily Runtime Tracking - Automatically tracks and displays daily usage time
π Smart Auto-Cancel - Timer automatically cancels if the controlled device is turned off externally
π¨ Professional Timer Card - Beautiful, modern UI with customizable timer buttons and real-time countdown
π Notification Support - Optional notifications for timer start, finish, and cancellation events
π Midnight Reset - Daily usage statistics reset automatically at midnight
β° Delayed Start Timers - Turns devices ON when timer completes and keeps them on indefinitely until manually turned off
- Water Heater Control - Manage boiler schedules
- Kitchen Timers - Control smart switches for appliances
- Garden Irrigation - Time watering systems
- Lighting Control - Automatic light timers
- Fan Control - Bathroom or ventilation fans
- Any Timed Device - Universal timer for any switchable device
Use this link to open the repository in HACS and click on Download
- Download the latest release from GitHub Releases
- Extract the
custom_components/simple_timerfolder to your Home Assistantcustom_componentsdirectory - Restart Home Assistant
That's it! The timer card is automatically installed and ready to use - no additional steps required.
- Go to Settings β Devices & Services
- Click "Add Integration"
- Search for "Simple Timer"
- Select the device you want to control (switch, light, fan, input_boolean)
- Give your timer instance a descriptive name (e.g., "Kitchen Timer", "Water Heater")
- Choose notification entitiy (optional) - can be add more than one
- Check show seconds (optional) - display seconds in uasge time and notifications
- Edit your dashboard
- Add a card
- Search for "Simple Timer Card" (should appear in the card picker)
- Configure the card:
- Select your timer instance
- Customize timer buttons
- Add a custom card title (optional)
- Go to Settings β Devices & Services
- Find your Simple Timer integration
- Click Configure (βοΈ gear icon)
- Change the name and save
If you use the 3-dots menu to rename, open Configure once afterward to sync the change.
Use the card editor in the Home Assistant UI for easy configuration.
type: custom:timer-card
timer_instance_id: your_instance_entry_id
timer_buttons: [15, 30, 60, 90, 120, 150]
card_title: "Kitchen Timer"
slider_max: 120
reverse_mode: true
show_daily_usage: true
power_icon: "mdi:power"| Option | Type | Default | Description |
|---|---|---|---|
type |
string | - | Must be custom:timer-card |
timer_instance_id |
string | - | Entry ID of your timer instance |
timer_buttons |
array | [15,30,60,90,120,150] | Timer duration buttons (1-1000 minutes) |
card_title |
string | - | Custom title for the card |
slider_max |
integer | 120 | Slider max value (1-1000 minutes) |
reverse_mode |
boolean | false | Enable or disabled the delayed start feature |
show_daily_usage |
boolean | false | Display or hide the daily usage |
power_icon |
mdi | mdi:power | Set the power button icon |
Yes! Add multiple integrations for different devices.
Yes, active timers resume automatically with offline time compensation.
Yes, configure any timer value between 1-1000 timer_buttons: [7, 13, 25, 1000] in the card YAML.
This appears when HA was offline during a timer to indicate potential time sync issues.
- Restart Home Assistant: The card is installed during integration setup
- Check integration logs: Look for any errors during the card installation process
- Verify automatic installation: Check if
/config/www/simple-timer/timer-card.jsexists - Clear browser cache: Hard refresh with Ctrl+F5 (Windows) or Cmd+Shift+R (Mac)
- Check browser console: Press F12 and look for JavaScript errors
- Check device entity: Ensure the controlled device exists and is accessible
- Verify integration setup: Go to Settings β Devices & Services β Simple Timer
- Check logs: Look for errors in Settings β System β Logs
- Restart integration: Remove and re-add the integration if needed
- Device state changes: Timer only tracks when the device is actually ON
- Manual control: If you turn the device off manually, tracking stops (by design)
- Midnight reset: Usage resets at 00:00 each day automatically
If the automatic card installation fails:
- Check file permissions: Ensure Home Assistant can write to the
wwwdirectory - Verify disk space: Ensure sufficient space for file copying
- Check integration logs: Look for specific error messages
- Manual fallback: You can still manually copy the card file from the integration's
distfolder
If you encounter issues:
- Check the Issues page for existing solutions
- Enable debug logging:
logger: logs: custom_components.simple_timer: debug
- Create a new issue with:
- Home Assistant version
- Integration version
- Detailed error description
- Relevant log entries
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this integration useful, please consider:
- β Starring this repository
- π Reporting bugs you encounter
- π‘ Suggesting new features
- π Improving documentation
Made with β€οΈ for the Home Assistant community



