Skip to content

Diagnostics

Open Diagnostics from the app navigation. Start with System Information and Live Logs to identify whether the problem is the app, a DVR connection, or a notification destination.

ChannelWatch v1.6.3 diagnostics showing Main DVR, seven passed tests, three disabled alerts marked Skipped, log tools and debug bundle download
Diagnostics And Debug BundleThe Balanced preset shows seven passed tests and three skipped alerts, with the tested DVR and the reason for each skipped test. Captured from ChannelWatch v1.6.3 with safe demo data.View full-size screenshot
Task Use Sends a notification?
Read app version, core state, storage, and DVR connections System Information No
Follow recent errors or connection activity Live Logs No
Check DVR reachability Diagnostic Tests > Connectivity > DVR Connection No
Run the shipped API diagnostic Diagnostic Tests > Connectivity > DVR API No
Check an alert delivery path One test under Diagnostic Tests > Notifications Yes
Export troubleshooting details Export or Download debug bundle No; files download locally
Ask for support Report a Problem Only when you submit the report

Check the ChannelWatch version, timezone, core status, and provider list first. The DVR rows show connection status, version, and monitoring freshness. A reachable DVR can still have degraded monitoring if the core has not seen fresh state; a successful HTTP request alone does not prove every monitor is healthy.

Symptom Next check
Core is stopped or unresponsive Read container logs: docker logs channelwatch.
DVR is disconnected Confirm host and port in Settings > General, then test connectivity.
DVR connects but monitoring is degraded Review freshness details and the matching time window in Live Logs.
Storage warning Check the DVR storage mount and your disk thresholds.
No enabled providers Review Settings > Notifications and the routing matrix.

For a multi-DVR setup, inspect the affected server’s row. Diagnostic tests use the first enabled DVR; selecting a server in the health view does not change that target. A test result is not a sweep of every configured server. Use doctor diagnose or Per-DVR Health to compare servers.

  1. Find Diagnostic Tests > Connectivity.
  2. Run DVR Connection first.
  3. Run DVR API after connectivity succeeds.
  4. Read the result and the matching Live Logs before changing settings.

The shipped API diagnostic exercises the DVR endpoints ChannelWatch uses. Keep the failing endpoint and response code when asking for help; do not assume every failed endpoint means the DVR is too old.

In bridge networking, localhost refers to the ChannelWatch container. Use the DVR host’s reachable LAN address instead.

  1. Check the saved provider and per-DVR route.
  2. Under Diagnostic Tests > Notifications, choose the specific Channel Watching, VOD, Disk Space, or recording lifecycle test you need.
  3. Click Run.
  4. Confirm receipt in the destination itself, then review Notification Logs.

A successful sender result means the configured delivery path accepted the request. It does not prove a phone displayed it or a mail provider placed it in the inbox. Check the receiver when the app reports success but nothing appears.

Disk test sends can use the Disk Test Route Override in Settings > Advanced > Disk Alert Controls. When it is blank, they use the normal provider settings. CLI tests also send real notifications; they are not dry runs.

Results distinguish Passed, Failed, and Skipped. A skipped notification test shows why the alert is disabled by the effective settings for the tested DVR. It does not send a sample. Keep your intended alert preset; you do not need to enable every alert to obtain a useful diagnostic result.

With healthy connections and working notification destinations, Run All Tests produces:

Preset Passed Failed Skipped
Balanced 7 0 3
Everything 10 0 0
Monitor Only 2 0 8

The results show Tested DVR with the first enabled DVR’s name. Per-DVR overrides affect which notification tests run. For enabled tests, missing providers, delivery failures, connection errors, and timeouts remain failures.

Enabled notification tests send clearly marked [TEST] samples, including when you use a custom template. Their synthetic channel and program details are separate from real DVR activity. These samples do not add ordinary Watch History or timeline entries or alter active stream counts. Existing history is retained, including any samples recorded by older versions.

Live Logs lets you filter lines, choose a line count, pause or resume updates, copy visible text, or download the full log. Filtering changes what you see; downloading the full log can include lines outside that filter.

For container output:

Terminal window
docker logs --tail 200 channelwatch
docker logs -f channelwatch

Choose Standard or Verbose under Settings > General > Log Level. Use Verbose briefly to inspect event handling, then switch back. Log retention defaults to 7 days and is also configured in General.

Export includes system information, health details, test results, and recent logs. Treat that file as private until you review it: it can contain DVR names and addresses. For a sanitized support artifact, use Download debug bundle and read what it excludes.

Use Report a Problem to prepare a public-safe preview and optional private attachments. Review the preview before submitting. You can still generate a local support package when direct submission is unavailable.