How to play sound after event occured?

Hi guys,
I’m just getting started with HA, which I installed on Docker.

I’m looking for a way to set up a timer that simply beeps when it reaches 0. Later on, I’ll link it to device events…

So I installed “Simple Timer” and Browser_mod (already registered) from Hacs, then I downloaded an .mp3 file that can be played like this (Development Tools > Actions):

data:
  media:
    media_content_id: http://192.168.1.3:8123/media/local/Google_Timer.mp3
    media_content_type: music
    metadata: {}
action: media_player.play_media
target:
  entity_id: media_player.ubuntufirefox

My timer card is:

type: custom:timer-card
timer_instance_id: 01KNDCZE1B1P7BKP826JW75KK2
timer_buttons:
  - 15
  - 30
  - 60
  - 90
  - 120
  - 150
  - 2s
card_title: Simple Timer
power_button_icon: mdi:power
hide_slider: false
slider_thumb_color: null
slider_background_color: null
power_button_background_color: null
power_button_icon_color: null
entity_state_icon: mdi:power
slider_max: 120
slider_unit: sec
reverse_mode: false
show_daily_usage: true
timer_button_font_color: null
timer_button_background_color: null
entity_state_button_background_color: null
entity_state_button_icon_color: null
entity_state_button_background_color_on: null
entity_state_button_icon_color_on: null
turn_off_on_cancel: true

When listen event I see on start only (no event on finished):

event_type: call_service
data:
  domain: simple_timer
  service: cancel_timer
  service_data:
    entry_id: 01KNDCZE1B1P7BKP826JW75KK2
    turn_off_entity: true
origin: LOCAL
time_fired: "2026-04-10T03:39:47.811676+00:00"
context:
  id: 01KNTQJXQ3XFFT6S0XMV24GP77
  parent_id: null
  user_id: <user_id>

On Automations I was able do hear the sound on start with:

alias: Timer Start Sound
mode: single

trigger:
  - platform: event
    event_type: call_service
    event_data:
      domain: simple_timer
      service: start_timer

action:
  - service: media_player.play_media
    target:
      entity_id: media_player.ubuntufirefox
    data:
      media_content_id: http://192.168.1.3:8123/media/local/Google_Timer.mp3
      media_content_type: music

What I miss, why I do not have event finished? If there is better way please let me know.

Welcome to the forums!

It’s always a good idea to search for existing threads before creating a new one, especially when it comes to custom Integrations. In your case, someone had the same problem and it was answered in the dedicated Simple Timer thread.

1 Like

It’s also worth checking out MQTT, my HA box doesn’t have any built in audio so I threw the script below on a Mac Mini that I had lying around:

#!/bin/bash

mosquitto_sub  -u $USERNAME -P $PASSWORD -h ha.lan -t "remote/say" | while read line; do
  say -r 100 "$line"
done

Hence the Mini will say anything that I throw onto the remote/say topic.

Obviously you can adapt the script to run any command on a remote system - kinda useful for throwing quick integrations together.

Thank you @ShadowFist but in my case the entry_id was not the issue, I set the correct one and was able to receive event service: start_timer and cancel_timer, but not stop/finished timer (whatever it’s called, if that exist).

Yo @dtrott, when I saw that MQTT was available, I thought to myself, “Hey, you and I are going to have a lot of fun together.”
It’s a last-resort solution that I keep in reserve.

But I think a system like this needs to understand the importance of alerting the user, and there’s nothing more effective or obvious than saying ”HEY!" (making a sound). So I think this feature shouldn’t even require any additional setup, it should be built in by default.

I finally uninstalled Simple Timer then use default Timer integration which have timer.finished event then I trigger the audio from my automation:

alias: Timer Finished Sound
triggers:
  - event_type: timer.finished
    event_data:
      entity_id: timer.kitchen_timer
    trigger: event
actions:
  - target:
      entity_id: media_player.ubuntufirefox
    data:
      media:
        media_content_id: http://192.168.1.3:8123/media/local/Google_Timer.mp3
        media_content_type: music
        metadata: {}
    action: media_player.play_media
mode: single