Universal Notifier - 7 years later

Seven years ago, @caiosweet and I created maybe the first truly comprehensive notification system for Home Assistant (GitHub - jumping2000/notifier: Appdaemon Notifier Centre for Home Assistant - hassiohelp.eu crew · GitHub, GitHub - caiosweet/Package-Notification-HUB-AppDaemon: Package Appdaemon Notifier for Home Assistant · GitHub), built with AppDaemon and YAML, supporting both text and voice notifications.
A few months ago, I completely refactored the project and turned it into Universal Notifier—a more modular, flexible, and extensible notification engine designed to support multiple channels and modern automation workflows.
It's exciting to see how far the project has evolved, while staying true to its original goal: making notifications in Home Assistant simple, powerful, and reliable.


Universal Notifier (GitHub - jumping2000/universal_notifier: Universal Notifier for Home Assistant - hassiohelp.eu crew · GitHub) is a custom Home Assistant component that centralizes and enhances notification management. It's officially available oin HACS, with more 200 stars on Github.

It transforms simple automations into a "Smart Home" communication system that knows the time of day, respects your sleep (Do Not Disturb - DND), greets naturally, and automatically manages the volume of voice assistants.

:rocket: Key Features

  • Unified Platform: A single service (universal_notifier.send) for Telegram, Mobile App, Alexa, Google Home, etc.
  • Personalized notifications to several targets (i.e. alarm notification to both Telegram and Alexa)
  • Voice vs. Text: Automatically differentiates between messages to be read (with prefixes like [Jarvis - 12:30]) and messages to be spoken (clean text only).
  • Smart Time Slots & Volume: Set different volumes for Morning, Afternoon, Evening, and Night / week day, weekend. The component adjusts the volume before speaking.
  • Do Not Disturb (DND): Define quiet hours for voice assistants. Critical notifications (priority: true) will still go through.
  • Random Greetings: "Good morning," "Good afternoon," etc., chosen randomly from customizable lists.
  • Command Handling: Native support for Companion App commands (e.g., TTS, command_volume_level) sent in "RAW" mode.
  • Intelligent Queueing (FIFO): Voice notifications are handled by a background worker using asyncio.queue. This prevents audio overlapping by playing messages sequentially.
  • Snapshot & Resume: The system saves the state (volume, track, and app) of media players before a notification and tries to restore it after the entire queue is empty.
1 Like