Recording Events
Recording Events alerts track the full lifecycle of a DVR recording. You can enable or disable notifications for each stage independently, so you only hear about the transitions that matter to you.
Set up recording alerts
Section titled “Set up recording alerts”- Open Settings > Alerts > Recording Events and expand the card.
- Choose Global or a DVR and enable Recording Events.
- Enable the outcomes you want, then choose the message fields and artwork setting.
- Select Save and check the DVR’s Recording Events destinations in Settings > Routing.
Fresh installs use Important Only: recording problems notify, while scheduled, started, and completed notifications stay off.
Lifecycle stages
Section titled “Lifecycle stages”ChannelWatch handles these recording states. Each notification includes a status emoji so you can identify the stage at a glance.
| State | Emoji | When it fires |
|---|---|---|
| Scheduled | 📅 | A new recording job is created and its start time is more than 30 seconds away |
| Started | 🔴 | The DVR begins actively recording (manual or scheduled) |
| Completed | ✅ | The recording finishes and the file is processed |
| Cancelled | 🚫 | A scheduled recording job is deleted before it starts |
| Stopped | ⏹️ | An in-progress recording is stopped before its scheduled end time |
| Failed | ⚠️ | The DVR reports that the recording failed |
| Skipped | ⏭️ | The DVR skips the scheduled recording |
| Missed | ⚠️ | The recording window passes and repeated checks against a reachable DVR confirm the missing outcome |
| Interrupted | ⏹️ | An active recording ends unexpectedly |
Options
Section titled “Options”
Configure Recording Events in the web UI under Settings > Alerts > Recording Events.
| Option | Config key | Description |
|---|---|---|
| Scheduled Events | rd_alert_scheduled |
Send an alert when a recording is scheduled |
| Started Events | rd_alert_started |
Send an alert when a recording begins |
| Completed Events | rd_alert_completed |
Send an alert when a recording finishes |
| Cancelled Events | rd_alert_cancelled |
Send an alert when a scheduled recording is cancelled |
| Failed Events | rd_alert_failed |
Send an alert when a recording fails |
| Skipped Events | rd_alert_skipped |
Send an alert when the DVR skips a recording |
| Missed Events | rd_alert_missed |
Send an alert when a recording is missed |
| Interrupted Events | rd_alert_interrupted |
Send an alert when a recording is interrupted |
| Show Program Name | rd_program_name |
Include the program title in the notification |
| Show Content Image | rd_image |
Include artwork when available and accepted by the destination’s image policy |
| Show Description | rd_program_desc |
Include the program summary |
| Show Duration | rd_duration |
Include the recording duration |
| Show Channel Name | rd_channel_name |
Include the channel name |
| Show Channel Number | rd_channel_number |
Include the channel number |
| Show Recording Type | rd_type |
Indicate whether the recording is scheduled or manual |
Each event type can be toggled on or off independently. There is no separate Stopped Events toggle; stopped notifications are produced from the completed-recording path and follow rd_alert_completed.
How recording problems are confirmed
Section titled “How recording problems are confirmed”ChannelWatch combines recording events with a bounded job reconciliation check. A missing recording is not declared missed from one failed lookup or while the DVR is unreachable. Missing outcomes require two reachable-DVR confirmations at least 30 seconds apart.
Completed recordings are matched using their recording and job identifiers. If a recording cannot be matched confidently, check the DVR and app logs rather than treating the absence of a Completed alert as proof of failure.
Notification format
Section titled “Notification format”Notifications use Channels DVR - Recording Event as the default title. The body contains the channel, status, program details, optional summary, and time table.
The following text examples use sample program data. They show message structure, not a provider app’s final display. Notification Templates can replace the default wording.
Scheduled recording:
📺 ACTION NETWORKChannel: 137Status: 📅 ScheduledProgram: Batman (1989)Caped Crusader (Michael Keaton) saves Gotham City from the Joker (Jack Nicholson).-----------------------Scheduled: Today at 8:54 AM EDTDuration: 2 hours 16 minutesRecording in progress (manual):
📺 MOVIE CHANNELChannel: 129Status: 🔴 Recording (Manual)Program: Crank: High Voltage (2009)Chev Chelios (Jason Statham) seeks revenge after someone steals his nearly indestructible heart.-----------------------Recording: 8:49 AM EDTProgram: 8:48 AM EDTDuration: 1 hour 42 minutesTotal Streams: 1Completed recording:
📺 MOVIE CHANNELChannel: 129Status: ✅ CompletedProgram: Pet Sematary (1989)A doctor (Dale Midkiff) and his family move to a town near an ancient Indian burial ground.-----------------------Duration: 1 hour 54 minutesTotal Streams: 1Cancelled recording:
📺 ACTION NETWORKChannel: 137Status: 🚫 CancelledProgram: Batman (1989)Caped Crusader (Michael Keaton) saves Gotham City from the Joker (Jack Nicholson).-----------------------Scheduled: Today at 8:54 AM EDTDuration: 2 hours 16 minutesStopped recording:
📺 SCI-FI CHANNELChannel: 152Status: ⏹️ StoppedProgram: Pandorum (2009)Astronauts awake to a terrifying reality aboard a seemingly abandoned spaceship.-----------------------Duration: 20 minutesTotal Streams: 1The “Recording Type” field in the Started notification shows (Scheduled) when the recording came from the scheduled-recordings cache and (Manual) when it started on demand. The Program: time line only appears when the program start time differs from the recording start time by more than 60 seconds.
Testing
Section titled “Testing”ChannelWatch v1.6.0 has a Diagnostics test-name limitation. Use the command-line fallback below without waiting for a recording.
This sends real messages. Confirm the sample in the receiving app and the Delivery Log. It checks delivery, not every real recording outcome.
From the command line:
docker exec -it channelwatch python -m core.main --test-alert ALERT_RECORDING_EVENTSTroubleshooting
Section titled “Troubleshooting”If you stop receiving Recording Events notifications, check the following:
- Confirm the relevant lifecycle and outcome toggles are enabled in Settings.
- Check the Delivery Log and, if needed, send a deliberate test with the command above.
- Check container logs for any API fetch errors:
docker logs channelwatch. - Use
--monitor-events 60to watch the raw event stream and confirm ChannelWatch is receiving recording events from the DVR.
Related pages
Section titled “Related pages”- Notification Examples - sample payloads for every alert type
- Disk Space - another alert page with status-based behavior
- Notification Providers - configure where alerts are delivered