New custom integration - HA Alarm Clock

I wrote a a centralised alarm clock and reminder integration for Home Assistant which plays alarms and reminders on media players, with HA Media Browser support for selecting media and companion cards:

It builds on HA-Alarms-and-Reminders (thank you!), with changes via vibe coding.

Overview

  • Alarms and reminders repeat in a loop until stopped; stopping playback on the target player (“Hey Google, stop” or pressing the hardware button/satellite control) stops the alarm to imitate a traditional alarm clock feel (in addition to the ability to stop alarm and reminders via service calls, voice and companion cards).
  • Playback sequence is configurable per-item: loop announce time → announce name → announce message → media playback; all announcements are optional
  • HA Media Browser support for media selection; supports multiple sources: local media, Music Assistant, DLNA, SpotifyPlus, Plex, Jellyfin, Radio Browser
  • Pair it with the Noise Generator for more traditional alarm playback.
  • Tested media players include Google Cast devices, Home Assistant Voice preview, Music Assistant media players, Spotify media players, and SpotifyPlus players; others may behave differently, especially around looping and user stop detection.
  • Entities (alarm/reminder and a switch) per item plus a dashboard sensor that exposes the entire schedule for automations.
  • Services exist for creating, editing, rescheduling, snoozing, stopping, deleting, and stop-all actions, along with metadata helpers for the UI and HA Assist/LLM intents for voice/AI control.
  • Repeat patterns cover one-off, daily, weekdays, weekends, or a custom list of days, and can be edited after creation.
  • Override volume can be set for each item
  • Snoozing is available per alarm/reminder via services, the companion cards or assist, and you can set a global default snooze duration in the options flow.
  • Entities (lights, switches, script, etc.) can be turned on when an alarm or reminder fires; available entities are configured in the integration so only approved entities appear in the UI.
  • Companion cards for alarms and reminders to display, add, edit, control and delete alarms and reminders including support for media browsing and searching and media sampling

Limitations

  • The integration was only tested on Google cast devices and Home Assistant Voice PE. Amazon, Apple, Sonos, and other media players have not been verified; expect fragile looping or stop recognition if you try them.
  • Some media players, especially untested ones, may mis-detect the transition to the next loop as a user stop (which means that the loop will only run once) or user stops may be missed (and the alarm/reminder will continue looping despite user stopping playback)
  • Spotify and SpotifyPlus cannot run TTS, so are not supported on reminders
  • Artwork and media icons in the HA Companion app appear only when the phone is on the local network.
  • Limited testing overall, integration likely contains a lot of bugs
  • LLM functions has been updated but not tested at all, expect problems
2 Likes

Thank you! I’ve been considering what I could do for a smart alarm clock for my son for ages. I’ve been doing a “daylight” alarm with the dimmable overhead lights but that doesn’t always work.