Repository navigation
v1.3.0
1.3.0
Features
- Notify Entity transport now only selects unique targets, so if a Notify Entity has been delivered
in the same notification call, for example by Alexa Devices, it won't be called again for a duplicate
announcement. Closes issue#8 - Deliver can now have a list of target inclusion regexes, useful for excluding Alexa
_speakdevices
or for custom notifications using Generic transport - Target definition for Delivery or Transport can now be more flexible
- Allows a structured dict, a single value, or list of strings.
- Structure only required where category can't be inferred, so entity_ids, device_ids, email and phone numbers are fine
- Deliver has a new
target_usagekey, taking values of:no_actiononly uses the Delivery target if there's no target on the notification action callno_deliveryonly uses the Delivery target if there's no target applicable to this deliverymerge_deliverycombines the targets in the Delivery with any on the action call, only where delivery already has a targetmerge_alwayscombines the targets in the Delivery with any on the action call, or if there's
no target on the notification, it defaults to the Delivery targetfixedonly ever delivers to the targets in the Delivery config, ignoring any direct or indirect (for exampleperson_id) in the action call
- Entity states for Delivery and Transport now directly reflect configuration
target_requiredis no longer boolean (although backward compatible), and now has valuesalways,neverandoptional.- If set to
neverit speeds up delivery and debug traces by not computing targets when they're not needed
- If set to
- Improved DebugTrace - more stages, shows
NO_CHANGEwhen no effect - Documentation improved - core concepts and principles, transports, more schema definitions
Internal
- Transport implementations simplified,
select_targetsnow replaced by options to select
target categories, for exampleentity_idand a list of inclusions regexs - Target now has dunder method to support subtraction, for the targets only, and a
safe_copymethod - Notification object now maintains a list of all the target values selected by deliveries, and this
is archived for debug purposes ( and supports the new unique target value functionality) - Snoozer now uses
timedeltarather than integer seconds to measure snooze length - More tests for
common
Full Changelog: v1.2.3...v1.3.0