Activity
The Activity page is a unified, time-ordered feed of everything that happened at the site — commands and API calls, access control events, alarm activations, automation runs, site mode changes, and monitor state transitions — merged from the underlying history stores into one timeline.
Open Activity
Each of these event streams also has its own dedicated page with deeper filtering and analytics (Request History, Access Log, Alarms, Monitoring); Activity answers the cross-cutting question "what happened here?" in one place.
Event Kinds
| Kind | Source | What it shows |
|---|---|---|
| Requests | Request history | Commands, macro calls, REST/web-service requests, with user and result |
| Access | Access log | Access control events (PIN, RFID, facial) with grant/deny result |
| Alarms | Alarm events | Alarm activations with severity, message, and lifecycle status |
| Automation | Automation history | Trigger fires, schedule fires, and macro runs with status |
| Site Modes | Site mode history | Mode changes (set, held, released, cleared) per site or space; hold/release/clear at a scope with no direct mode shows as "no mode" |
| Monitors | Monitor tag history | Tag rollup state transitions (up → down, etc.) |
| State | Attribute history | Raw attribute changes — only shown when scoped to a single entity |
Click a kind pill to toggle it on or off; the feed reloads with only the enabled kinds. Each pill shows the number of events that kind contributed to the current range.
Controls
- Date range — start/end pickers with 1D / 7D / 30D / 90D shortcuts (defaults to the last 24 hours). Shortcuts load immediately.
- Scope — Whole site (default) or narrow to a single Zone or Device. Scoping filters each stream to that entity and adds its raw attribute State changes to the feed. Command requests are matched by the zone/device id in the request payload.
- Filter — free-text filter over title, detail, user, and target name (applies to the loaded events, client-side).
- Export CSV — downloads the merged feed for the selected range and filters (up to 5,000 events).
Reading the feed
Events are grouped by day, newest first. Each row shows the time, kind badge, event title and detail, plus chips for status (granted/denied, success/failed, active/cleared, state transitions), the target entity, and the user involved. When the target is an entity GEM can open (zone, device, macro, …), its chip is clickable and jumps straight to that entity's editor without expanding the row. Critical and high-severity alarm rows carry a colored left border.
Click any row to expand it. The full underlying history record loads inline (request payload, macro run steps and reason, access result details, …), along with contextual actions: Open the target entity in its editor, Open the automation artifact (macro / trigger / schedule) behind an automation run, or jump to Attribute History for a state-change row. If the record has been pruned by retention, the expansion says so.
The feed is capped (1,000 events by default across all kinds); when the cap is hit a notice appears — narrow the date range or disable kinds for complete coverage.
Deep links
The page accepts scope and id query parameters — /admin/activity?scope=device&id=42 opens the feed pre-scoped to that entity. The zone and device editors ("Activity" button) and Device Health rows link here, so "show me everything for this device" is one click from wherever you're standing.
Retention
The feed only reaches as far back as each store's retention window, configured on the Data Retention page — e.g. request history defaults to 7 days, alarm events to 90.