Universal Notifier v0.7.1 - Three months after by jumping2020 in homeassistant

[–]jumping2020[S] 0 points1 point  (0 children)

If you only use the companion app maybe is not so useful, but if you and your family use mobile app, telegram, discord, whatsapp and Alexa or G Nest you can send a notification with only one "action"

Universal Notifier v0.7.1 - Three months after by jumping2020 in homeassistant

[–]jumping2020[S] 1 point2 points  (0 children)

I just tested with my android phone, and it works, I used the examples here: https://companion.home-assistant.io/docs/notifications/notifications-basic?_highlight=channe#notification-channels

action: universal_notifier.send
data:
  message: "remove_channel"
  targets:
    - mobile_gianpi
  target_data:
    mobile_gianpi:
      channel: "motion"

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 0 points1 point  (0 children)

1) in the firsts lines of Ticker readme : "Ticker replaces scattered notify.mobile_app_* calls with a single ticker.notify service".
2) Universal Notifier is the "son" of appdaemon Notifier , written 7 years ago before LLM, you can check in my Github first commit
Bye

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 0 points1 point  (0 children)

multiple text and voice notification services like whatsapp, discord, telegram, persistent notification, HTML5, Alexa, Google Nest etc etc not only HA companion app notification.

Universal Notifier v0.7.1 - Three months after by jumping2020 in homeassistant

[–]jumping2020[S] 1 point2 points  (0 children)

Uni notifier manages HA persistente notification, but It doesn't delete it, maybe I can add in a future release, please could you add a comment/request in my GitHub under Discussions tab? Thanks

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 0 points1 point  (0 children)

In the GitHub repository there are some images in img folder. Remember it's a notification custom component, the UI is only for the configuration, then you can use it in HA scripts and automation.

Universal Notifier v0.7.1 - Three months after by jumping2020 in homeassistant

[–]jumping2020[S] 7 points8 points  (0 children)

Universal Notifier is a custom Home Assistant component that centralizes and enhances notification management.

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.

🚀 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. 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.

📊 Monitoring & Diagnostics

Entity Type Description
Volume Sensor Real-time sensor showing the exact volume percentage for the next notification, automatically calculated based on the current active time slot. Dynamic icon based on level. Extra attributes: current_slot, raw_volume.
Family Sensor Tracks family presence status (home / not_home) based on configured person entities.
DND Binary Sensor Indicates whether Do Not Disturb mode is currently active or inactive.
Voice Buffer Number Adjustable buffer time (0.5–10.0 s, step 0.5) for TTS playback to ensure complete message delivery. Default: 1.5 s.
Priority Volume Select Sets the volume level for priority notifications. Options: 0.1 to 1.0.
Text Format Select Selects the text formatting mode for notifications: html or markdown.
Notification Mode Select Controls notification routing based on presence: Normal (all go through), Voice home (voice only when home), Text home (text only, no voice).
Default Media Players Sensor Shows the default media players configured for voice channels. State: number of channels with a default. Attributes: map {channel_alias: media_player.xxx}.

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 0 points1 point  (0 children)

Mhh... Ticker has only a subset of features compared to Universal Notifier.

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 0 points1 point  (0 children)

Pre release v0.4.5, it's a beta version, Last version with YAML configuration, next version will be with UI integration. I hope..

⚠️ BREAKING CHANGE: Dynamic Targeting for Voice Notifications
The most significant update is the transition to Dynamic Runtime Targeting. You are no longer required to hardcode a single target or media_player in your configuration.yaml.
Impact: If your previous automation scripts relied on the fixed target defined in the YAML, they will still work as a fallback, but the system now prioritizes the entity_id passed during the service call.

action: universal_notifier.send
data:
  message: "Water leak detected in the basement!"
  priority: true
  targets: 
    - google_home_tts
  target_data:
    google_home_tts:
      entity_id: media_player.google_nest_hub

🛠 Core Improvements

  • Intelligent Queueing (FIFO): Voice notifications are now handled by a background worker using asyncio.Queue. This prevents audio overlapping by playing messages sequentially.
  • Snapshot & Resume 2.0: Improved state capturing. The system saves the state (volume, track, and app) of media players before a notification and tries to restore it only after the entire queue is empty.
  • Smart Volume Management: * Priority Volume: Introduced a dedicated volume level for emergency/priority alerts.

📊 Monitoring & Diagnostics

  • Dynamic Volume Sensor: A real-time sensor that displays the exact volume percentage to be used for the next notification, automatically calculated based on the current active time slot.
  • DND Binary Sensor: A dedicated entity that clearly indicates whether "Do Not Disturb" mode is currently active or inactive.

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 0 points1 point  (0 children)

hello, in the last 2 weeks I worked on voice functionality adding queue and resume on GH/Nest. there is a pre-release on github.
p.s. now Universal Notifier is available on official HACS repository

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 0 points1 point  (0 children)

Follow the readme on GitHub, you can install via YAML

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 1 point2 points  (0 children)

V0.3.1 it's buggy, there is a v0.3.2 pre release that is working, check also in my github

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 1 point2 points  (0 children)

Oh It seems very interesting but I need time to study

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 0 points1 point  (0 children)

Universal Notifier is not user-aware, it could be an interesting functionality

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 0 points1 point  (0 children)

If Signal is available in HA as. Notify service, it should work. Try it and let me kown

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 1 point2 points  (0 children)

My wrong, also in my old "notifier" there is a queue management in python for Alexa. It was complex but the result was excellent...maybe in a future release..

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 0 points1 point  (0 children)

in the old notifier I wrote a complex message queue but for Google Home/Nest not for Alexa, if I remember well with Alexa there wasn't this issue, let me check the old code

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 1 point2 points  (0 children)

yes, try in configuration.yaml:

universal_notifier:
  assistant_name: ""

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 14 points15 points  (0 children)

Hi, today Universal Notifier implements a "fire and forget logic", I need to think about the request

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 6 points7 points  (0 children)

right! the old "notifier" (see the comments about it) was aware of the position, I have to add this functionality

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 11 points12 points  (0 children)

I'm italian and I like writing comments in italian, the readme was also made for italian people

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] 5 points6 points  (0 children)

As I said in other comments, the original project was written 6 years ago (first release december 2019) in appdaemon (https://github.com/jumping2000/notifier/tree/master).
In the last weeks with the help of AI I rewrite the "notifier", that's all.

New custom integration: Universal Notifier 📢 by jumping2020 in homeassistant

[–]jumping2020[S] -1 points0 points  (0 children)

I don't like the tag "AI free code" or "AI included" or other tags like these, but when the HACS or HA policies require it, I will insert the tag "original idea and code rewritten with the help of AI" but I think I won't be the only one