@Jeroen-Priester, @timbeckss, @Aerandir14 I dug deeper into changing a timer entity’s duration via the WebSocket API, and I got it working. In v1.6.0, you can now click an idle timer and update its duration directly from the UI. Let me know what you think!
I had to clear the cache, but then it worked perfectly. Thank you very much for your effort!
Hi, I see some screenshots where the icon is circular, like it is out-of-the-box with Tile cards and Mushroom cards. However when I use this card, I get a square icon. Is there a way to get it to use the default circular icon:

It would also be nice to have an option to hide the icon altogether (so this card can be used in combination with other cards (in a stack) where the icon is already displayed.
Hi @Valdorama,
The card is designed to inherit the icon border-radius from your active theme (e.g., if you are using Mushroom in square mode, it will appear squared).
To force the icon to be circular, you can use card-mod with this CSS:
card_mod:
style: |
.icon-wrap {
border-radius: 50% !important;
}
If you want to completely remove the icon so you can use the card in a stack with other elements, use this configuration instead:
card_mod:
style: |
.icon-wrap {
display: none !important;
}
The card is awesome. I’ve been looking for such solution to have dynamic timers on my kitchen dashboard. Thanks a lot for sharing it!
Is there a way to use templates in the Name of the entity timer? I’m capturing timer name in the helper in my automation and then starting the timer.
So how can I achieve something like this:
type: custom:simple-timer-card
entities:
- entity: timer.timer_1
name: {{states(‘input_text.timer_1_name’)}}
Thanks @OleksN! Glad you’re enjoying the card.
Jinja2 templates in the name field aren’t currently supported. Some cards (like Mushroom) implement their own template rendering, but this card doesn’t do that yet.
However, you don’t actually need it here. The card already falls back to the entity’s friendly_name if no name is set. So you can dynamically rename the timer using an automation that updates the timer’s friendly name when it starts:
automation:
- alias: Set timer 1 friendly name
trigger:
- platform: state
entity_id: timer.timer_1
to: "active"
action:
- service: timer.update
target:
entity_id: timer.timer_1
data:
name: "{{ states('input_text.timer_1_name') }}"
Then in the card config, just omit name and the card will pick up the updated friendly name automatically:
type: custom:simple-timer-card
entities:
- entity: timer.timer_1
Is there any way to make this work with the new 3rd Reality Voice & Music Assistant (for automatically detecting and displaying timers that are running)?
Does the device expose timer entities? If so, please share them here, and I'll see if it's possible to add support for them in the card.
Hi, Does anyone have experience with this? There is a good YT video about it, but apparently something has changed:
Goal: I want to create a dashboard with buttons and various timers to control my air conditioning. However, the AC doesn't have a switch entity, so I need a workaround, because Simple Timer can only trigger switches.
What I've done so far: Created a helper switch (Boolean)
Linked the Simple Timer to the switch
Created a dashboard with the Simple Timer Card
But something isn't right yet. When I save the dashboard and start a timer, shouldn't the helper switch toggle its state? I want to use that state change as a trigger in an automation to turn off the air conditioning.
Any Ideas?
Hi @Zahackn, quick clarification: the "Simple Timer" HACS integration and this "Simple Timer Card" are two unrelated projects that happen to have similar names. The integration you're using needs a switch entity because that's how it works internally. My card has nothing to do with that mechanism, it doesn't toggle switches when a timer runs or expires, so the boolean staying off is expected behavior on the card's side.
For your actual goal (start a timer from a dashboard, have something happen when it ends, in your case turn off the AC), you don't need the Simple Timer integration or the helper switch at all. The card works with Home Assistant's built-in timer helpers. Here's the simpler setup:
1. Create a timer helper
Settings > Devices & services > Helpers > Create helper > Timer. Call it e.g. timer.ac_off. Leave duration blank so it can be set from the dashboard.
2. Add it to the card
type: custom:simple-timer-card
entities:
- entity: timer.ac_off
timer_presets: [15, 30, 60, 120]
Starting a timer from the card calls timer.start with your chosen duration. No switch involved.
3. Automation to turn off the AC when the timer ends
automation:
- alias: "AC off when timer ends"
trigger:
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.ac_off
action:
- service: climate.turn_off
target:
entity_id: climate.your_ac
That's the whole loop: tap a preset on the card -> timer counts down -> timer fires the timer.finished event -> automation turns the AC off. You can delete the helper switch entirely.
If you'd like to keep the boolean as a "AC scheduled off" status flag for other UI purposes, you can set it in the same automation, but it isn't required for the timer/AC flow itself.
Is it possible for this project to do something like this.
Dashboard click add timer > Type in on a tablet/phone/whatever a piper TTS speak message and target an entity (eg a google home speaker) when the timer ends. And have it so it's stored on the server, a dynamic timer. I've had claude get me to do it for a single timer but I'd love to use this card for multiple as reminders for my adhd. I haven't seen anyone do a targetted tts action on a timer that's dynamic like this.
I would presume a way to be able to do a service call for piper tts at the end of timer as a second option to an audio file. I don't know what would hold the timer though in case the browser restarted as I am being told JS scripts will reset by claude if browser refreshes? I can see options to do your above reply here but my idea would be a way to make a custom tts speech and target entities but I don't know enough about coding to do this. But I will definitely be using the card as is. Basically mimicking part of the hey google set a reminder for 30 minutes for X. Thanks
I've implemented exactly this with these automations for this timer card: homeassistant-config/packages/kitchen/kitchen_timers.yaml at cc2e49d44cd88da66c48f2f18f1032c1c68f2dca · rohankapoorcom/homeassistant-config · GitHub
Use the timer in MQTT mode and it persists the timers it makes to the MQTT topic as a store and the automations process this and handle notifications via TTS / Mobile App.



