Per-DVR Notification Routing
By default, every alert from every DVR goes to every notification channel you have configured. Per-DVR notification routing lets you change that. You can send alerts from your living room DVR to Pushover, alerts from your basement DVR to a Discord channel, and skip notifications entirely for a test server — all from a single configuration screen.
The routing matrix
Section titled “The routing matrix”Go to Settings > Notification Routing to open the routing matrix. The matrix is a grid where:
- Rows are your DVR servers
- Columns are event types (Channel Watching, VOD Watching, Recording Events, Disk Space)
- Cells contain checkboxes for each notification channel you have configured
Each cell lets you choose which notification channels receive that event type from that DVR. You can enable any combination — one channel, multiple channels, or none.
Example layout
Section titled “Example layout”| Channel Watching | VOD Watching | Recording Events | Disk Space | |
|---|---|---|---|---|
| Living Room | Pushover, Discord | Pushover | Pushover | Pushover |
| Basement | Discord | (none) | Discord | Discord |
| Test Server | (none) | (none) | (none) | (none) |
In this example, the test server generates no notifications at all, the basement DVR skips VOD alerts, and the living room DVR sends channel watching alerts to both Pushover and Discord.
Default behavior
Section titled “Default behavior”When you add a new DVR server, all event types are enabled for all configured notification channels. This preserves the behavior from v0.7 where all alerts went to all channels. You only need to open the routing matrix if you want to change the defaults.
When you add a new notification channel (e.g. you set up Telegram after already having Pushover), the new channel is added to all cells in the matrix with the default enabled state. Existing routing rules for other channels are not affected.
Saving routing rules
Section titled “Saving routing rules”Clicking Save in the routing matrix writes the full routing configuration to settings.json as a routing_matrix JSON object. The structure maps each DVR ID to a map of event types to lists of enabled channel names:
{ "routing_matrix": { "a3f2c1b4": { "channel_watching": ["pushover", "discord"], "vod_watching": ["pushover"], "recording_events": ["pushover"], "disk_space": ["pushover"] }, "b7e9d2a1": { "channel_watching": ["discord"], "vod_watching": [], "recording_events": ["discord"], "disk_space": ["discord"] } }}The DVR IDs in the routing matrix match the canonical IDs computed as md5(host:port)[:8]. If you change a DVR’s host or port, its routing rules are not automatically migrated to the new ID — you will need to reconfigure routing for the new server entry.
Hot reload
Section titled “Hot reload”Routing matrix changes take effect immediately after saving — no container restart required. The notification dispatcher reads the updated routing rules from settings.json on the next alert.
Per-DVR alert pausing
Section titled “Per-DVR alert pausing”Disabling a DVR server in Settings > DVR Servers pauses all monitoring for that server, which also stops all notifications from it. This is a coarser control than the routing matrix — use it when you want to temporarily silence a server entirely rather than routing its alerts selectively.
Troubleshooting
Section titled “Troubleshooting”An alert fired but I didn’t receive a notification
Check the routing matrix for the DVR that triggered the alert. If the cell for that event type is empty (no channels checked), no notification is sent. This is expected behavior, not a bug.
I’m receiving alerts from a server I thought I silenced
Open the routing matrix and verify the server’s row. If any cells still have channels checked, those combinations will still send notifications. Uncheck all channels in every cell for that server to silence it completely, or disable the server in Settings > DVR Servers to pause monitoring entirely.
Routing rules disappeared after changing a DVR’s host or port
Changing a DVR’s host or port creates a new server entry with a new ID. The old routing rules (keyed to the old ID) are no longer active. Reconfigure routing for the new server entry in the routing matrix.
Next steps
Section titled “Next steps”- Multi-DVR Overview — understand DVR identity and state isolation
- Adding DVR Servers — add and manage DVR server connections
- Notification Delivery Log — see which notifications were sent, retried, or failed