Features Sources Use Cases Install Docs FAQ
HACS Default Store — Pending Approval · Install as custom repo now

Every Event.
One Timeline.

A timeline card for Home Assistant that merges calendars, cameras, door sensors, and APIs into one view.

Install Now View on GitHub
Security timeline
Camera timeline
Chronicle Card — Home Timeline

What it does

Merge events from any source — calendars, cameras, sensors, APIs — into a single, unified timeline view.

Universal Sources

4 built-in adapters pull events from calendars, REST APIs, WebSocket commands, entity state history, and static YAML — all merging into one view.

Smart Icons & Colors

150+ built-in keyword rules match event titles to Material Design icons and colors. "Dog detected" → 🐕, "Door opened" → 🚪. Works out of the box.

Event Grouping

Clusters rapid-fire events into expandable groups. 10 motion alerts in 2 minutes become one collapsible entry.

Visual Editor

Full GUI configuration right inside the HA dashboard editor. Add sources, tweak appearance, configure filters — no YAML required.

Thumbnails

Camera snapshots, Frigate images, or any URL render inline as event thumbnails with media URL caching.

8 Languages

Auto-detects your HA locale. Override manually if you prefer.

🇬🇧 🇩🇪 🇫🇷 🇪🇸 🇮🇹 🇵🇹 🇳🇱 🇸🇪

Four source adapters

Each adapter connects to a different type of event source. Mix and match freely — they all merge into one timeline.

Calendar Entities

Point Chronicle at any Home Assistant calendar entity and it pulls events automatically. Works with local calendars, Google Calendar, CalDAV, and more.

  • Fetches events for configurable date range
  • Automatic icon and color inference from event titles
  • Push events from automations using calendar.create_event
  • Includes a ready-to-use automation blueprint
configuration.yaml
type: custom:chronicle-card title: Family Calendar sources: - type: calendar entity: calendar.family default_icon: mdi:calendar default_color: "#4CAF50"

REST & WebSocket APIs

Connect to any REST API or HA WebSocket command. First-class Frigate support via WebSocket — see camera events with thumbnails in your timeline.

  • Field mapping transforms any JSON schema into Chronicle events
  • Media URL templates with placeholder substitution
  • Configurable poll interval for real-time updates
  • Internal HA paths use authenticated callApi
Frigate example
sources: - type: rest name: Frigate Events ws_params: type: frigate/events/get limit: 50 field_map: id: id title: label start: start_time category: label media_url_template: /api/frigate/notifications/{id}/snapshot.jpg

Entity State History

Converts raw state changes into human-readable timeline events. A binary_sensor with device_class "door" becomes "Front Door Opened" / "Front Door Closed" automatically.

  • Reads device_class for smart translations (door, motion, lock, smoke, etc.)
  • Custom state_map to override any label
  • Works with binary sensors, locks, alarms, covers, climate
  • Automatic severity assignment based on entity type
Security sensors
sources: - type: history entities: - binary_sensor.front_door - lock.front_door_lock - alarm_control_panel.home name: Security History default_severity: warning

Static YAML Events

Define events directly in your card configuration. Perfect for scheduled reminders, maintenance tasks, or any manually curated entries.

  • Full control over icon, color, severity, and category
  • Great for maintenance schedules and reminders
  • Mix with dynamic sources for a complete picture
  • No external dependencies needed
Reminders
sources: - type: static name: Maintenance events: - title: Change HVAC Filter start: "2025-04-01T10:00:00" icon: mdi:air-filter severity: info

Three lines.
That's it.

Add a chronicle card to any dashboard with a minimal YAML config. Icons, colors, grouping, and layout are handled automatically. Or use the built-in visual editor instead.

Critical Warning Info Debug
Minimal config
type: custom:chronicle-card title: Home Timeline sources: - type: calendar entity: calendar.home_events

From cameras to calendars

A few examples of how Chronicle Card works across different setups.

Security
Security timeline

Security Timeline

Track every door, lock, motion sensor, and alarm event. Filter by severity to focus on what matters.

Cameras
Camera detection timeline

Frigate Camera Events

Frigate detections flow in via WebSocket with thumbnails. Person, vehicle, pet — all auto-categorized.

Multi-Source
Multi-source timeline

Smart Home Hub

Combine calendars, cameras, sensors, and static events into one unified timeline view.

Horizontal layout

Horizontal Layout

Switch to a scrollable card grid for a compact, media-rich view.

Event detail dialog

Event Details

Click any event to see full metadata, camera snapshots, and source info.

Visual editor

Visual Editor

Configure sources, filters, grouping, and appearance — no YAML needed.

Up and running
in 60 seconds

HACS Custom Repo Recommended

HACS Default Store approval pending — install via custom repo for now.

  1. Open HACS in your Home Assistant instance
  2. Click the three-dot menu (top right) → Custom repositories
  3. Paste the repo URL and select Dashboard https://github.com/KadenThomp36/chronicle-card
  4. Click Add, then find Chronicle Card and click Download
  5. Go to Settings → Dashboards → Resources, click Add, and enter the resource URL as JavaScript Module /hacsfiles/chronicle-card/chronicle-card.js
  6. Restart Home Assistant and add the card to any dashboard

Manual Install

For those who prefer full control.

  1. Download chronicle-card.js from the latest release
  2. Copy to /config/www/chronicle-card.js
  3. Go to Settings → Dashboards → Resources
  4. Add resource as JavaScript Module: /local/chronicle-card.js
  5. Add the card to your dashboard

Common questions

Yes! Chronicle has first-class Frigate support via the REST/WebSocket adapter. It connects to Frigate's WebSocket API, maps detection events to timeline entries, and renders camera snapshots as inline thumbnails. See the examples in the documentation for a ready-to-use Frigate config.

No! Chronicle includes a full visual config editor that lets you add sources, configure appearance, set up filters and grouping — all through the HA dashboard editor GUI. YAML is available for advanced users but never required.

Chronicle Card requires Home Assistant 2024.1.0 or newer. It uses modern HA APIs for calendar access, history queries, and WebSocket communication that are available from that version onward.

Absolutely. You can add as many sources as you like — mix calendars, Frigate cameras, door sensors, and static events in a single card. Everything merges into one chronological timeline with proper grouping and filtering.

Chronicle uses virtual scrolling to only render visible events, debounced fetching to minimize API calls, and a media URL cache (3-hour TTL) for thumbnails. It handles hundreds of events smoothly even on lower-powered devices.

Ready to chronicle
your smart home?

HACS Default Store pending — add as a custom repo in seconds. Free, open source, MIT licensed.

Install Now GitHub