Notification Archiving¶
Debugging notification rules, scenarios etc is much easier when the Notification object, complete with its debug trail, is archived.
This preserves not just the notification data, but also key context like occupancy, and the decisions made during the process on which scenarios, deliveries etc to select.
Key fields to check if something doesn't seem right:
selected_deliveries- What was selected by the action, scenarios or delivery configurationdeliveries- what happened to each delivery,delivered_envelopes,undelivered_envelopesorno_envelopes
A housekeeping job will run automatically each night to prune notifications older than your configured sell-by date.
Tip
Use the Studio Code Server Home Assistant app to search and browse the archived notifications.
The notification archive record can be a record of all the key details, or optionally have maximal diagnostic content. Use diagnostics to automatically switch between these depending on the notification outcome. The configuration for this is the same as for selecting Event Generation.
Example Configuration¶
This example switches on both file system and MQTT topic archiving. Additional options (mqtt_qos, mqtt_retain) are available if needed to fine tune the MQTT publication.
notify:
- name: my_notifications
platform: supernotify
archive:
enabled: true
file_retention_days: 4
file_path: config/archive/supernotify
mqtt_topic: notifications/supernotify
Event Generation¶
HomeAssistant events can be generated for notifications, with the option of full debug tracing. These can be consumed by other HomeAssistant integrations and automations, including by Remote Logger which can be used to send them off to an OpenTelemetry or Syslog service.
Event generation is switched on by setting event_selection to the combination of notification outcomes desired, otherwise it will default to NONE
archive:
event_name: supernotification # optional, defaults to `supernotification`
event_selection: NO_DELIVERY | BACKUP_DELIVERY | ERROR
The options for event policy selection are:
| Policy Flag | Usage |
|---|---|
| NONE | Default, send no events. All other flags ignored if set |
| ALL | Default, send all events. All other flags ignored if set |
| SUCCESS | Successful delivery with no errors, skips or suppressions |
| NO_DELIVERY | No deliveries made, with no errors |
| PARTIAL_DELIVERY | Some deliveries made, others suppressed or skipped |
| FALLBACK_DELIVERY | Fallback delivery made due to error or no other delivery applicable |
| ERROR | Notifications with at least one delivery error |
| DUPE | Notifications suppressed as duplicates |
(These are the same options used for diagnostics)
See the Otel Event Recipe for more.
Example Notification¶
{
"created": "2025-11-04T15:09:21.375872+00:00",
"debug_trace": [
"A Car was detected on the Driveway camera.",
null,
{
"tag": "1762268908.791668-ksvmf7",
"group": "driveway-frigate-notification",
"color": "#03a9f4",
"subject": "",
"image": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/thumbnail.jpg",
"video": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/driveway/master.m3u8",
"clickAction": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/driveway/clip.mp4",
"ttl": 0,
"priority": "high",
"alert_once": false,
"notification_icon": "mdi:homeassistant",
"sticky": false,
"channel": "alarm_stream",
"car_ui": false,
"fontsize": "large",
"position": "center",
"duration": 10,
"transparency": "0%",
"interrupt": false,
"subtitle": "",
"url": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/driveway/clip.mp4",
"attachment": {
"url": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/driveway/master.m3u8",
"content-type": "application/vnd.apple.mpegurl"
},
"push": {
"sound": {
"name": "default",
"volume": 1.0
},
"interruption-level": 1
},
"entity_id": "camera.driveway",
"actions": [
{
"action": "URI",
"title": "View Clip",
"uri": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/driveway/clip.mp4",
"icon": "",
"destructive": false
},
{
"action": "URI",
"title": "View Snapshot",
"uri": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/snapshot.jpg",
"icon": "",
"destructive": false
},
{
"action": "silence-automation.generate_apple_event_for_frigate_driveway",
"title": "Silence New Notifications",
"uri": "silence-automation.generate_apple_event_for_frigate_driveway",
"icon": "",
"destructive": true
}
]
},
null,
{},
{
"override_disable_deliveries": [],
"override_enable_deliveries": [],
"scenario_enable_deliveries": [
"plain_email",
"alexa_announce",
"apple_push",
"high_chime_alert"
],
"default_enable_deliveries": [],
"scenario_disable_deliveries": [
"html_email",
"alexa_inform",
"chime_person",
"chime_dog",
"chime_doorbell",
"chime_unknown_vehicle",
"chime_known_vehicle",
"chime_red_alert",
"upstairs_siren",
"downstairs_siren"
]
}
],
"_message": "A Car was detected on the Driveway camera.",
"target": [],
"_title": null,
"id": "3deb818c-b990-11f0-a89d-000c29e67c70",
"snapshot_image_path": null,
"delivered": 0,
"errored": 0,
"skipped": 0,
"delivery_error": null,
"data": {
"tag": "1762268908.791668-ksvmf7",
"group": "driveway-frigate-notification",
"color": "#03a9f4",
"subject": "",
"image": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/thumbnail.jpg",
"video": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/driveway/master.m3u8",
"clickAction": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/driveway/clip.mp4",
"ttl": 0,
"alert_once": false,
"notification_icon": "mdi:homeassistant",
"sticky": false,
"channel": "alarm_stream",
"car_ui": false,
"fontsize": "large",
"position": "center",
"duration": 10,
"transparency": "0%",
"interrupt": false,
"subtitle": "",
"url": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/driveway/clip.mp4",
"attachment": {
"url": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/driveway/master.m3u8",
"content-type": "application/vnd.apple.mpegurl"
},
"push": {
"sound": {
"name": "default",
"volume": 1.0
},
"interruption-level": 1
},
"entity_id": "camera.driveway"
},
"priority": "high",
"message_html": null,
"required_scenario_names": [],
"applied_scenario_names": [],
"constrain_scenario_names": [],
"delivery_selection": "implicit",
"delivery_overrides_type": "NoneType",
"delivery_overrides": {},
"action_groups": [
"alarm_panel",
"lights"
],
"recipients_override": null,
"media": {
"snapshot_url": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/thumbnail.jpg",
"clip_url": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/driveway/master.m3u8"
},
"debug": false,
"actions": [
{
"action": "URI",
"title": "View Clip",
"uri": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/driveway/clip.mp4",
"icon": "",
"destructive": false
},
{
"action": "URI",
"title": "View Snapshot",
"uri": "https://home.43acaciaave.org/api/frigate/notifications/1762268908.791668-ksvmf7/snapshot.jpg",
"icon": "",
"destructive": false
},
{
"action": "silence-automation.generate_apple_event_for_frigate_driveway",
"title": "Silence New Notifications",
"uri": "silence-automation.generate_apple_event_for_frigate_driveway",
"icon": "",
"destructive": true
}
],
"delivery_results": {},
"delivery_errors": {},
"selected_delivery_names": [
"high_chime_alert",
"apple_push",
"alexa_announce",
"plain_email"
],
"enabled_scenarios": {
"high_alert": {
"name": "high_alert",
"enabled": true,
"alias": "make a fuss if alarm armed or high priority",
"media": null,
"delivery_selection": "implicit",
"action_groups": [
"alarm_panel",
"lights"
],
"delivery": {
"plain_email": null,
"alexa_announce": null,
"apple_push": null,
"high_chime_alert": null
},
"default": false
}
},
"selected_scenario_names": [
"high_alert"
],
"people_by_occupancy": [],
"suppressed": "DUPE",
"occupancy": {
"home": [
{
"person": "person.joe_mctoe",
"email": "joe@mctoefamily.net",
"phone_number": "+4377332010983",
"delivery": {},
"mobile_devices": [
{
"manufacturer": "Apple",
"model": "iPhone15,2",
"mobile_app_id": "mobile_app_joephonepro",
"device_tracker": "device_tracker.joephonepro",
"device_id": "a0591c4af99b6a4037f7346f390e9918",
"device_name": "jPhonePro"
}
],
"mobile_discovery": true,
"user_id": "cbed93ea6eac7d575710dc519e5e3dc1",
"state": "home"
},
{
"person": "person.jane_mctoe",
"email": "jane@mctoefamily.org",
"delivery": {},
"mobile_devices": [
{
"manufacturer": "Apple",
"model": "iPhone13,2",
"mobile_app_id": "mobile_app_jane_s_iphone_13",
"device_tracker": "device_tracker.jane_s_iphone_13",
"device_id": "71ba297a58a3b601e1646c54d0e23dbf",
"device_name": "Jane's iPhone 13"
}
],
"mobile_discovery": true,
"user_id": "1cba227f2c0cb65cfd3cafde6ce0c4d8",
"state": "home"
}
],
"not_home": []
},
"condition_variables": {
"occupancy": [
"ALL_HOME"
],
"applied_scenarios": [],
"required_scenarios": [],
"constrain_scenarios": [],
"notification_priority": "high",
"notification_message": "A Car was detected on the Driveway camera.",
"notification_title": ""
}
}