github rhizomatics/supernotify v2.11.0-beta1

pre-release3 hours ago

The way that integration transports are defined and selected for automatic eligibility in delivering notifications has been overhauled, and several older flags replaced by a more logical way based on how well a transport can definitively identify its own target addresses, as email can do with an email address, or discord with a discord_channel:xxx address.

Aside from making the code simpler, the main impact of this is that the ability to create a big flat list of targets and have them handled correctly is extended to all possible deliveries.

Here's the extreme example from the automated tests, which sends notifications off via email, SMS, mobile push, Discord, Matrix, MQTT, Telegram, HTMT5 Push and vanilla Notify Entity:

action: supernotify.notify
data:
  message: hello
  target:
    unique.recipient@example.test
    +15551234567
    mobile_app_unique_test_phone
    discord_channel:434343434
    matrix_room:!uniqueroom:example.org
    topic:home/alerts/non-critical
    telegram_chat_id:215678938
    notify.unique_html5_browser
    notify.unique_alexa_kitchen

Deliveries

  • Archived deliveries now track missed as well as skipped deliveries
    • Skipped where some rules fired to stop it happening, like occupancy or scenarios
    • Missed where for some other reason an envelope couldn't successfully be built or delivered for a requested delivery
  • Transports that have definitive links to targets all marked as default
    • Now also discord, matrix, mqtt and telegram
    • Fixes issue where adding discord_channel:xyz or topic:xyz in list of targets didn't automatically get picked up by discord
    • Transports using media_player continue to need explicit selection since so many different ways of interacting with them
  • Partial Delivery
    • Now only set for missed not skipped deliveries
    • That is if an explicitly selected (by action, recipient or scenario) delivery couldn't be made. In effect you asked for 4 deliveries, only 3 could be made.
    • Implicit deliveries that need targets (like Email or Notify Entity) and have no targets are suppressed without warnings
    • Though are accounted for in the 'delivery provenance' section of the archived notification
    • Deliveries where the transport has been disabled are likewise suppressed without warnings (disabled deliveries were already excluded).
    • Fixes #232
  • Voice Occupancy (and delivery occupancy in general) only affected recipient selection, and didn't impact the delivery itself. That's fixed now, so any_in for Voice means the Alexa or TTS deliveries will only be selected if somebody is home

Discord

  • Delivery can now be triggered automatically by using a target in style discord_channel:434343434 without any other config or action data needed

Matrix

  • Delivery can now be triggered automatically by using a target in style matrix_room:!uniqueroom:example.org without any other config or action data needed

MQTT

  • Delivery can now be triggered automatically by using a target in style topic:queue/name without any other config or action data needed

Telegram

  • Delivery can now be triggered automatically by using a target in style telegram_chat_id:215678938 without any other config or action data needed

What's Changed

  • Bump home-assistant/actions/hassfest from 58bff37c8947f690ace498be413a9b78d6f30f93 to 06749dd8c0b54f350bc69c8752456cee498808a3 in the github-actions group by @dependabot[bot] in #229

Full Changelog: v2.10.3...v2.11.0-beta1

Don't miss a new supernotify release

NewReleases is sending notifications on new releases.