Skip to content

v2.18.0

Latest

Choose a tag to compare

@jeyrb jeyrb released this 08 Nov 17:40
· 1 commit to main since this release

Note

This release continues the move of configuration from YAML into the configuration web page - now for Recipients and Transports. This makes it easy to add an email address for people so they automatically get mailed, pick which mobile devices get included, tune deliveries and include people who aren't Home Assistant users. It also adds WebOS TV notifications.

🚨 Breaking changes

  • Recipients: recipients: in YAML is imported into the integration at start up, and ignored in the YAML from then on, with a repair asking for it to be removed
  • Transports: transports: in YAML is imported into the integration at start up likewise, and ignored in the YAML from then on, with a repair asking for it to be removed
  • Support for old versions of Pillow library removed, in line with minimum HA 2026.5 version. Attachments will fail to reprocess on old versions of HA - either upgrade HA or don't upgrade Supernotify.

✨ Enhancements

Recipients

  • No YAML required - can now be setup, changed and removed from the Integrations web page
    • Go to Settings → Devices & services → Supernotify → Add recipient
  • Can specify optional
    • e-mail address
    • phone number (e.g. for SMS)
    • which discovered mobile devices to use
    • additional targets chosen as in the supernotify.notify action, including custom ones such as Telegram, Slack, Alexa etc
    • per-delivery overrides of enabled, targets and data.
  • Recipients can now be added for contacts who are not registered as a Person or User in Home Assistant
    • Set up a contact for any email address, Telegram ID etc needed
    • Use them as a Notify Entity
  • Everyone auto-discovered, as a Person or a user, is listed under the integration as a recipient
    • To change or switch off with Enabled. *
    • Each recipient's notify entity and switch are listed under their recipient, rather than on the Supernotify device - entity ids are unchanged
  • Existing recipients in YAML are automatically migrated, and any subsequent YAML changes ignored

Transports

  • No YAML needed - can now be added, edited and removed from Integrations web page.
    • Every transport in use is listed under the integration, to change or switch off with Enabled
    • Use Load to remove altogether
  • Change Delivery Defaults - action, targets, options, data, inclusion, priority, debug and any others as YAML - and for email, its own mail server Connection.
  • Add transport sets up one that needs configuring before it can be used, like generic with its action, or chime with its aliases.
    • Only transports whose integration is installed are offered - Discord, Gotify, Pushover and Alexa Media Player were previously offered regardless
  • Each transport has a service device of its own, as the SMTP integration has for a mail server, named by the transport's alias from YAML, if it had one, with its switch, now named Enabled, and its deliveries' switches, listed under the transport, rather than on the Supernotify device - entity ids are unchanged.
  • Existing transports automatically migrated from YAML, and subsequent changes to YAML ignored
  • A repair names any deprecated settings a transport still has, such as device_domain directly on it rather than in its options, and saving the transport in the integration moves them to their replacements

Housekeeping

  • A Deprecated Entities option removes the deprecated recipient, delivery and transport binary_sensor entities an install carried over from an earlier version, along with their repairs - only offered while there are some

Conditions

  • New notification_actions and notification_action_groups condition variables, holding the actions and action_groups given on the notify action, so a scenario can send notifications with buttons only to deliveries that can show them
  • Example recipe added - Send Buttons Only Where They Work recipe (#311)

LG webOS TV

  • New transport for LG webOS TV notifications
    • Set up automatically with the LG webOS TV integration
    • Shows a toast on each TV targeted directly or by area, floor, label or device,
    • Skips TVs that are off (#313)
      ### Deliveries
  • An area_id, floor_id or label_id target now selects a delivery by what's in it, so an area with an Alexa echo uses alexa_devices, rather than the generic notify entity delivery

🐛 Bug fixes

  • Archive: a delivery its transport skipped now keeps the transport's reason, such as NO_TARGET for Kodi or Discord with no valid target, rather than always showing UNKNOWN

📝 Other changes

Development

  • Preview Environment: a Docker preview Home Assistant running the checkout's Supernotify, set up on first start as the same house the integration tests use, with ha_repl_server for agent access with ha-repl. mise run clean removes it. See Preview Environment
  • Commands: a set of commands are implemented using mise-en-place, including clean to remove all ephemeral files and rebuild the virtual environment, refresh to update dependencies and git and a set of preview-xxxx commands for the preview environment. Run mise tasks to see the list.
  • Archived notifications now record the selected targets
  • Logging improved for skipped deliveries, no give reason why
  • Voice/chat assistant now has reason why last delivery skipped

📚 Documentation

New recipes

  • Easy Notifications for Someone Who Isn't a Home Assistant User
  • Send Notifications with Action Buttons Only Where They Work
    Email CC recipe updated with instructions on how to force delivery if Supernotify configured to only deliver when explicitly switched on (in action call or by scenario).

What's Changed

  • Use prek and 7-day release cooldowns by @jeyrb in #314
  • Cooldowns: 2 days for trusted packages, mise cooldown, drop pre-commit.ci by @jeyrb in #315
  • Add 'managed by hq' badge by @jeyrb in #316
  • Feature/action condition variables by @jeyrb in #317
  • Test the mobile_actions test helper by @jeyrb in #318
  • LG webOS TV transport by @jeyrb in #319

Full Changelog: v2.17.1...v2.18.0