VOD Watching
VOD Watching alerts notify you when someone plays a recording or DVR library item. Message fields come from the metadata available in your DVR library.
Enable VOD Watching
Section titled “Enable VOD Watching”- Open Settings > Alerts > VOD Watching and expand the card.
- Choose Global or a DVR, then turn VOD Watching on.
- Choose the message fields and artwork setting, then select Save.
- Allow the destinations for that DVR’s VOD alerts in Settings > Routing.
Fresh installs use Important Only, which leaves routine playback notifications off.
What triggers the alert
Section titled “What triggers the alert”ChannelWatch monitors the Channels DVR activity stream for activities.set events whose name matches the file-based session pattern (6-file-* or 7-file-*). These events carry a "Watching ... at <timestamp>" value that identifies the content being played and the playback position.
A notification fires when:
- A new playback session is detected, or
- A later playback event arrives after the current session’s notification cooldown has elapsed
Repeated playback events inside the cooldown are suppressed. A long session can notify again after that cooldown; it is not limited to one notification for the entire movie.
Options
Section titled “Options”
Configure these in the web UI under Settings > Alerts > VOD Watching.
| Option | Config key | Description |
|---|---|---|
| Show Title | vod_title |
Include the content title (movie name or TV show name) in the notification. |
| Show Episode Title | vod_episode_title |
For TV episodes, include the episode title alongside the show name. |
| Show Summary | vod_summary |
Include the content synopsis or description pulled from DVR library metadata. |
| Show Content Image | vod_image |
Attach the content thumbnail or poster art to the notification. |
| Show Duration | vod_duration |
Show playback progress as current position / total duration (for example 58m 46s / 1h 42m 11s). |
| Show Progress | vod_progress |
Include the current playback timestamp used to build the progress line. |
| Show Rating | vod_rating |
Include the content rating (for example R or TV-14). |
| Show Genres | vod_genres |
Include the genre list (for example Action, Thriller). |
| Show Cast | vod_cast |
Include the top three cast members. |
| Show Device Name | vod_device_name |
Include the name of the device or client that started playback. |
| Show Device IP | vod_device_ip |
Include the IP address of the device. |
All options are enabled by default. Disable any you don’t need to keep notifications concise.
Sample notification
Section titled “Sample notification”With all options enabled, a VOD Watching alert looks like this:
Title: 🎬 Channels DVR - Watching DVR Content
Crank: High Voltage (2009)Duration: 58m 46s / 1h 42m 11sDevice Name: Living RoomDevice IP: 192.168.1.100
Chev Chelios (Jason Statham) seeks revenge after someone steals his nearly indestructible heart.
Rating: R · Genres: Action, ThrillerCast: Jason Statham, Amy Smart, Dwight YoakamThis is a synthetic text example. The content title and release year are the first body line. For TV episodes, the episode title is appended after a dash. Any disabled or unavailable option is omitted. Use Notification Templates to change the wording.
Session tracking and cooldown
Section titled “Session tracking and cooldown”ChannelWatch tracks each viewing session by a combination of the file ID and a session identifier derived from the event name. Internally, that becomes a session key like vod{file_id}-{session_identifier}. When a session is active, subsequent playback events for the same file update the stored timestamp but do not trigger additional notifications until vod_alert_cooldown has elapsed.
The default vod_alert_cooldown is 300 seconds. In v1.6.0, an existing session inside that cooldown is skipped before the later progress-change check, so seeking through the video does not bypass the cooldown. Treat vod_significant_threshold as an advanced setting, not a guarantee of an immediate seek notification.
Events that only say Streaming without a timestamp are tracked as in-progress state, but they do not notify until a later event includes at <timestamp>. When a session ends (the activity event value becomes empty), ChannelWatch removes the session from its tracking state. Starting the same content again later creates a fresh session and sends a new notification.
Metadata source
Section titled “Metadata source”All content metadata (title, summary, cast, genres, rating, duration, artwork) is fetched from your Channels DVR server’s library API. ChannelWatch caches this data at startup and refreshes it periodically. If metadata is unavailable for a particular file, the corresponding fields are omitted from the notification rather than showing placeholders.
Edge cases
Section titled “Edge cases”Device identification. The device name is extracted from the "Watching ... from <device>" portion of the event value. If the device name is not present, ChannelWatch falls back to the IP address. If neither is available, the session is still tracked but the device fields show Unknown Device / Unknown IP.
VOD switch mid-session. If a device switches from one piece of content to another without a clean session end event, ChannelWatch detects the file ID change and closes the old session automatically before opening a new one.
Recurring sessions. Watching the same content multiple times creates separate sessions each time, so you receive a notification for each new viewing. The cooldown only suppresses repeated notifications within a single continuous session.
TV episodes. The first body line includes the show name and episode title when available. The default notification title remains 🎬 Channels DVR - Watching DVR Content. Season and episode numbers are available in custom templates.
Testing
Section titled “Testing”ChannelWatch v1.6.0 has a Diagnostics test-name limitation. Use the command-line fallback below for a sample VOD alert. It does not simulate a real playback session or exercise cooldown timing.
The test sends a real message. Confirm it in the receiving app and the Delivery Log.
From the command line:
docker exec -it channelwatch python -m core.main --test-alert ALERT_VOD_WATCHINGRelated pages
Section titled “Related pages”- Channel Watching - alerts for live TV viewing
- Notification Examples - full gallery of sample notification formats
- Notification Providers - configure where alerts are delivered