Alexa-Notify-Bridge: Persistent yellow ring notifications for your Echo devices

Hey everyone! :waving_hand:

It’s been a while since I introduced the Alexa Notify Bridge Home Assistant Add-on. Since then, the project has received several updates focused on rock-solid reliability, edge-case prevention, and making it even easier to use from the visual Home Assistant UI.

We just released v1.2.1, so here is a quick recap of all the new features and improvements added to the bridge:


:rocket: What’s New Since the Initial Add-on Release?

1. :shield: Anti-Duplicate Debounce Filter (No More Speaker Spam)

If you have a bouncing motion sensor, door sensor, or an automation loop triggering multiple times in a few seconds, the bridge now includes an in-memory debounce filter.

  • You can configure debounce_seconds globally or per notification.
  • Identical consecutive messages sent within that window are safely discarded with {"status": "ignored", "debounced": true} so your Echo devices won’t repeat themselves.
  • v1.2.1 improvement: If an alert fails to deliver due to a network glitch or Amazon outage, the debounce cache automatically rolls back so your subsequent retries won’t be blocked!

2. :scissors: Smart Message Auto-Truncation

Amazon has a hard limit of 256 characters for the creator.name field. Previously, rendering a long Home Assistant template that exceeded 256 characters caused Amazon to reject the notification completely.

  • The bridge now automatically truncates messages over 256 characters to 253 chars + ....
  • The alert is never lost, Alexa still reads it aloud, and the API response lets you know with "truncated": true.

3. :dog_face: Native Home Assistant Supervisor Watchdog

Starting in v1.2.1, the add-on config exposes the native watchdog pointing to /health.

  • You can now toggle the “Watchdog” switch right in the add-on info tab. If the process ever freezes or becomes unresponsive, the Home Assistant Supervisor will detect it and restart the container automatically.

4. :stopwatch: Flexible Expiry Hours (5 min to 24h)

Notifications can now have a custom expiration time (clamped safely to Amazon Proactive Events limits).

  • Perfect for time-sensitive alerts: e.g., “The garage door is open” expiring in 15 minutes (expiry_hours: 0.25), or daily reminders expiring in 24 hours.

5. :counterclockwise_arrows_button: Self-Healing & Concurrency Protection

  • Automatic 401 recovery: If the Amazon OAuth token expires unexpectedly, the bridge automatically refreshes it and retries transparently.
  • Transient 5xx retry: Automatic retry on server errors after a 2-second backoff.
  • Concurrency Lock: Thread-safe token acquisition to prevent duplicate LWA token requests during simultaneous automation bursts.

6. :strawberry: Alpine & Raspberry Pi (armv7) 100% Compatible

We switched to pure-Python Uvicorn, removing heavy C/Rust dependencies (uvloop/httptools). The add-on installs and starts in seconds, with zero compilation issues on 32-bit ARM or older Raspberry Pi models.

7. :control_knobs: Updated Visual Script (UI-Friendly)

The helper script in the documentation now includes sliders for both expiry_hours and debounce_seconds, allowing you to configure everything visually in the automation editor without touching YAML!


:package: How to Update

If you already have the repository added in Home Assistant:

  1. Go to Settings > Add-ons > Add-on Store.
  2. Click the three dots (top right) > Check for updates.
  3. Select Alexa Notify Bridge and hit Update (to v1.2.1).

If you are new to the project, you can find the complete setup guide and repository here:
:backhand_index_pointing_right: GitHub: https://github.com/R91g/Alexa-Notify-Bridge
:clipboard: Release Notes: GitHub Releases

Feedback, issues, or suggestions are always welcome! Thank you all for the support! :raising_hands: