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_kitchenDeliveries
- Archived deliveries now track
missedas well asskippeddeliveries- 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,mqttandtelegram - Fixes issue where adding
discord_channel:xyzortopic:xyzin list of targets didn't automatically get picked up by discord - Transports using
media_playercontinue to need explicit selection since so many different ways of interacting with them
- Now also
- 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_infor Voice means the Alexa or TTS deliveries will only be selected if somebody is home- Fixes [#231]
Discord
- Delivery can now be triggered automatically by using a target in style
discord_channel:434343434without any other config or action data needed
Matrix
- Delivery can now be triggered automatically by using a target in style
matrix_room:!uniqueroom:example.orgwithout any other config or action data needed
MQTT
- Delivery can now be triggered automatically by using a target in style
topic:queue/namewithout any other config or action data needed
Telegram
- Delivery can now be triggered automatically by using a target in style
telegram_chat_id:215678938without 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