github rhizomatics/supernotify v2.5.0

latest releases: v2.16.2-beta1, v2.16.2, v2.16.1...
one month ago

Deliveries

There's an explanation of the aims and design of deliveries, transports and targets in the Roadmap section at Deliveries and Transports.

  • Every transport that is available to use is automatically available as a delivery with the same name.
    • Transports that don't have unambiguous targets are defined with selection as explicit so they won't be automatically used unless selected explicitly on a notification, or configuration overridden
    • Deliveries no longer have a default_ prefix, although existing automations which use these will automatically be switched to email,notify_entity etc
    • Auto discovery of action name for lots of transports, see list below
    • A repair is raised for any deliveries that have the same name as a transport but don't use that transport. The transport name is effectively a reserved delivery name.
  • Creating Delivery objects now only necessary if there's more than one Delivery for the same transport, like plain_email and html_email, different Telegram channels etc
    • Everything that can be done with a Delivery configuration can be done with the delivery_defaults: section of a Transport object
    • Its also possible to avoid creating Delivery objects in YAML by defining the relevant data: items in a notification action, although this gets unwieldy (the whole point of Delivery objects is to define this stuff once and not across many notifications).
  • Switch entities are only published for Transport objects that are available
    • So you won't get clutter for things like ntfy,gotfy,alexa_media_player if those are not installed
  • Default delivery creation tightened for Notify Entity and Mobile Push, so these Delivery objects don't get created if there are no mobile apps or notify entities on the Home Assistant instance.
  • Transports have a load control, switching this off means there's no attempt to auto-discover it, and it never has a Delivery or Home Assistant entities created for it
  • Transports with no automatic or manual Delivery pre-sets get unloaded, so don't appear as entities
  • Auto-configure for email will respect the direct mode if connection details present
  • Transport and Delivery now are controlled by inclusion rather than selection since that was confusing with the different but similar delivery_selection in the notification. The older keyword is still supported but deprecated.
  • Auto generated deliveries give way to manually configured deliveries of the same name, and come last in any selection battle to handle unique targets

Targets

There has a wide overhaul of how targets are categorized and tied back to transports - this has simplified the code, and should make it simpler to configure and more predictable in how it will behave. Regression tests and migration code has been used to keep it backward compatible with existing configurations. There's also a new documentation page for Target Usage.

  • A flat target list can scope an entry to a target category with a category:value prefix (e.g. topic:some/topic), as shorthand for the dictionary target form
  • Each transport now declares the target categories it accepts (entity_id selectors can further narrow by Home Assistant domain and/or registered platform), replacing the old target_categories/target_platform_select options - see Targets
  • Archive message now has uncategorized_targets and unassigned_targets to help debugging delivery issues
  • New topic, discord_channel and matrix_room categories for MQTT, Discord and Matrix
  • A target category matching a delivery's own name, or its transport's name, always reaches that delivery - so sms:1234 reaches any enabled SMS delivery, while a specific delivery name (e.g. html_email:...) pins a target to just that one
  • An error will be raised logged if there any targets that can't be mapped to a category - this won't stop the rest of the notification working, but will make it visible

Alexa Devices

  • Three automatically generated standard deliveries
    • alexa_devices - picks up on any Alexa notify entities in the target list, does nothing if no targets
    • alexa_devices_speak_all - sends notification to all speak Alexa notify entities, takes no targets
    • alexa_devices_announce_all - sends notification to all announce Alexa notify entities, takes no targets
  • This means that it is easy with a Zero YAML configuration to use Alexa announcements - just add alexa_devices_announce_all to the list of deliveries

Alexa Media Player

  • Automatically finds correct notify action by default

Discord

  • Automatically finds correct notify action by default

Email

  • The internal SMTP integration is used by default, and will reuse the Home Assistant SMTP connection details if SMTP set up via the UI

Gotify

  • Automatically finds correct notify action by default

Live Scenarios

  • Fix scenarios without entities, such as date based ones using now() being left out of periodic sweep to recompute

Notify Entity

  • Target selection for notify entities now uses Home Assistant domain that provided the entity
    • This is used for html5 and alexa_devices so that Notify Entities are handled correctly by the right transport, with the very basic notify_entity as a back stop

MQTT

  • Delivery now accepts a topic as a target, and takes payload from message. Previous behaviour remains supported.

Mobile Actions

  • Exposed group on mobile actions as mobile_push_group (previously undocumented and mis-named action_category)
  • Fixed problem with action_template and title_template producing broken buttons
  • Stop forcing mobile notifications into 'general' or 'appd' group
  • New doc page on how they work

Pushover

  • Automatically finds correct notify action by default

SMS

  • Automatically finds correct notify action by default for Twilio and Mikrotik_SMS integrations

Technical

  • Documentation auto-generation moved to probatio, retiring voluptuous-openapi
  • Improved order of fields in archive for most useful to top, and related together
  • HomeAssistant compatibility moved to 2026.9.2
  • Developer automated documentation for Transports expose the new target configurations they have
  • Manifest updated so Supernotify will wait for all its dependent integrations before starting up

What's Changed

  • Upload zip release asset for download tracking by @jeyrb in #191
  • Bump home-assistant/actions/hassfest from a7c616ce81ccda50150bf1595786c71b1883fabb to 58bff37c8947f690ace498be413a9b78d6f30f93 by @dependabot[bot] in #192
  • Bump actions/upload-pages-artifact from 3 to 5 by @dependabot[bot] in #194
  • Bump actions/deploy-pages from 4 to 5 by @dependabot[bot] in #193

Full Changelog: v2.4.2...v2.5.0

Don't miss a new supernotify release

NewReleases is sending notifications on new releases.