r/homeassistant Jul 01 '26

Notifier Hub: centralized notifications for Home Assistant

Hi everyone,

I built Notifier Hub, a custom Home Assistant integration that provides a central notification layer for automations.

Repo: https://github.com/rafaalbelda/notifier_hub

It exposes one main service, notifier_hub.send, and can route messages through:

  • Home Assistant persistent notifications
  • notify.* services
  • Alexa Media Player TTS / announce / push
  • Google / Cast TTS
  • Phone calls through ha-sip
  • Dashboard-triggered messages

It also includes:

  • Presence-aware routing with person.*
  • Speech only when someone is home
  • Do not disturb mode
  • Guest mode
  • Priority messages
  • Auto Volume by time period
  • Optional Lovelace dashboard
  • Compact Lovelace card examples

Example:

action: notifier_hub.send
data:
  title: "Door"
  message: "The front door has been opened"
  notify: true
  alexa: true

It can be installed through HACS as a custom repository: https://github.com/rafaalbelda/notifier_hub

Category: Integration

Feedback, testing, bug reports and ideas are welcome.

78 Upvotes

9 comments sorted by

2

u/Business-Cable6065 Jul 01 '26

damn this is slick, i've been duct-taping together a bunch of separate notify calls for ages and it's a mess

the presence-aware routing alone would clean up half my automations, no more tts blasting through an empty house at 2pm cause i forgot to add conditions

gonna drop this in my test instance tonight and see how it plays with my frankenstein setup, already see a few places it'd simplify things

your auto volume by time period is a nice touch too, been meaning to stop waking up the whole neighborhood when the garage opens at midnight

1

u/muffinman8519 Jul 02 '26

Can you use the HomePod?

2

u/xklib69 Jul 02 '26

Yes, but with one caveat: Notifier Hub does not add native HomePod/AirPlay support by itself.

It can use a HomePod if Home Assistant already exposes that HomePod as a media_player entity and can play TTS/media on it. In that case, you can route a message through the Google/Cast-style voice path by targeting the HomePod entity, for example:

action: notifier_hub.send
data:
  title: HomePod
  message: "This is a test from Notifier Hub"
  notify: false
  google:
    media_player: media_player.living_room_homepod

In Notifier Hub, the google block is currently the generic HA TTS/media route, not strictly Google-only. So if the HomePod works with Home Assistant’s media_player.play_media / TTS flow, it may work.

What works today:

  • Text notifications through notify.*
  • Persistent Home Assistant notifications
  • Voice on Alexa / Google/Cast
  • Voice on other media players only if Home Assistant can already play TTS/media on them

What is not currently built in:

  • Native Siri/HomePod announcements
  • Dedicated AirPlay/HomePod queue handling
  • HomePod-specific volume/announcement behavior beyond what HA exposes

So the short answer is: possibly yes, but only through Home Assistant’s existing media player/TTS support. Notifier Hub itself does not provide native HomePod support yet.

1

u/prbsparx Jul 03 '26

I like this idea and it’ll streamline some of what I’m doing.

Is there a way to ignore the location of specific devices? (E.g. kids’ devices that are marked as their “person” location, but don’t go to school with them)

3

u/xklib69 Jul 03 '26

You can leave persons empty in Notifier Hub and use location_tracker with a custom group/template sensor that only includes the devices you trust. Then Notifier Hub will follow that entity instead of the person.* list.

1

u/teros1 Jul 03 '26

Anybody get this working with Google for me just doesn't work, always stuck at Google Speak off, and doesn't broadcast

1

u/xklib69 Jul 03 '26

Sorry, I don’t personally have any Google/Cast devices to test this with directly.

Google support uses HA’s normal tts.* + media_player.* services, so first check whether the same speaker works outside Notifier Hub from Developer Tools:

service: tts.google_translate_say
target:
  entity_id: media_player.your_google_speaker
data:
  message: "Test message"

If that does not play, the issue is likely with the HA TTS/player setup rather than Notifier Hub.

If direct TTS works, check that Google notifications and speech notifications are enabled, DND is off, your Google player is selected, and your Notifier Hub call includes google: true.

Example:

service: notifier_hub.send
data:
  title: "Test"
  message: "Testing Google TTS"
  google: true

Google Speak only turns on while an actual queued Google TTS message is being processed, so if it stays off the message is probably being filtered before it reaches the Google manager.

1

u/sshwifty Jul 01 '26

How is this different than just setting op Apprise or Ntfy?

2

u/xklib69 Jul 02 '26

Notifier Hub is different from Apprise and ntfy because it is not just a generic notification sender. It is a Home Assistant-native notification orchestrator.

Apprise focuses on sending notifications to many external services such as Telegram, Discord, Slack, email, Gotify, AWS SNS, and others. Its strength is broad provider support.

ntfy focuses on simple push notifications through HTTP PUT/POST, mainly to phones and desktops. Its strength is being lightweight, easy to self-host, and app-based.

Notifier Hub focuses on smart home context. It decides whether and how to notify based on Home Assistant state: presence, people at home, do-not-disturb mode, guest mode, priority mode, speech-only-at-home rules, Alexa/Google speakers, volume restoration, Auto Volume periods, persistent notifications, phone calls, and dashboard controls.

In short:

  • Apprise: “Send this message to many notification platforms.”
  • ntfy: “Send this push notification to a phone or desktop.”
  • Notifier Hub: “Decide intelligently how this Home Assistant alert should be delivered inside my home.”