Timeline & Heatmap

The Timeline view shows events over time and lets you jump to specific time periods.

Timeline

Events are drawn as colored bars on a horizontal time axis. Each monitor gets its own row.

  • Zoom in and out to view different time spans (hours, days, weeks)

  • Pan left and right to move through time

  • Tap an event bar to jump to that event’s detail view

Filtering

Open the Filters panel at the top of the page to narrow what the timeline shows. Filter selections are saved per profile.

  • Date range and Monitors: limit events to a time window and to specific cameras.

  • Detected objects only: show only events whose notes contain object-detection results.

  • Event Cause: filter by why ZoneMinder recorded the event.

    • All Causes: no filtering (default).

    • Motion Detected: events with motion activity. On cameras set to continuous recording (Mocord/Record), every event has the cause “Continuous”, but ZoneMinder writes Motion: <zones> into the event Notes whenever motion occurs. This option matches that note, so motion events still surface on continuous setups.

    • Continuous, Signal, Forced: match the ZoneMinder event cause directly.

When an Event Cause is selected, the timeline fetches each monitor separately so one busy camera does not use up the whole result budget.

Heatmap

The heatmap shows event density over time as a colored grid. Darker colors indicate more events during that period, useful for spotting busy hours, quiet periods, and recurring activity.

Live Mode

Tap the Live button (radio icon) in the toolbar to enable live mode. When active:

  • New events appear on the timeline as they happen, without waiting for a full refresh

  • The view auto-scrolls to keep the current time visible

  • Newly arrived events pulse with a yellow halo for 5 seconds so you can spot them instantly

Live mode uses WebSocket notifications when enabled, or falls back to polling.

Refresh

Timeline and heatmap data refreshes automatically:

  • Normal bandwidth: Every 60 seconds

  • Low bandwidth: Every 120 seconds

You can also pull to refresh manually on mobile.