Skip to content

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.

  1. Open Settings > Alerts > Recording Events and expand the card.
  2. Choose Global or a DVR and enable Recording Events.
  3. Enable the outcomes you want, then choose the message fields and artwork setting.
  4. 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.

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
Expanded ChannelWatch Recording Outcomes settings showing eight outcome switches and notification fields for program, artwork, duration and channel
Recording lifecycle and outcome switchesEnable the outcomes you want to hear about. Important Only selects recording problems while leaving routine lifecycle notifications off. Captured from ChannelWatch v1.6.0 with safe demo data.View full-size screenshot

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.

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.

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 NETWORK
Channel: 137
Status: 📅 Scheduled
Program: Batman (1989)
Caped Crusader (Michael Keaton) saves Gotham City from the Joker (Jack Nicholson).
-----------------------
Scheduled: Today at 8:54 AM EDT
Duration: 2 hours 16 minutes

Recording in progress (manual):

📺 MOVIE CHANNEL
Channel: 129
Status: 🔴 Recording (Manual)
Program: Crank: High Voltage (2009)
Chev Chelios (Jason Statham) seeks revenge after someone steals his nearly indestructible heart.
-----------------------
Recording: 8:49 AM EDT
Program: 8:48 AM EDT
Duration: 1 hour 42 minutes
Total Streams: 1

Completed recording:

📺 MOVIE CHANNEL
Channel: 129
Status: ✅ Completed
Program: Pet Sematary (1989)
A doctor (Dale Midkiff) and his family move to a town near an ancient Indian burial ground.
-----------------------
Duration: 1 hour 54 minutes
Total Streams: 1

Cancelled recording:

📺 ACTION NETWORK
Channel: 137
Status: 🚫 Cancelled
Program: Batman (1989)
Caped Crusader (Michael Keaton) saves Gotham City from the Joker (Jack Nicholson).
-----------------------
Scheduled: Today at 8:54 AM EDT
Duration: 2 hours 16 minutes

Stopped recording:

📺 SCI-FI CHANNEL
Channel: 152
Status: ⏹️ Stopped
Program: Pandorum (2009)
Astronauts awake to a terrifying reality aboard a seemingly abandoned spaceship.
-----------------------
Duration: 20 minutes
Total Streams: 1

The “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.

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:

Terminal window
docker exec -it channelwatch python -m core.main --test-alert ALERT_RECORDING_EVENTS

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 60 to watch the raw event stream and confirm ChannelWatch is receiving recording events from the DVR.