Skip to content

Context Variables

Variables available in all Jinja2 templates (message, title, subtitle, zone phrase overrides).

Objects & subjects

Singular variables return the first item. Plural variables return all items comma-joined.

objects_raw

Objects as Frigate sent them (raw), before any cleaning.

Example: car-verified, person

object_count

Count of cleaned objects.

Example: 2

object

First cleaned object, title-cased. The -verified suffix is stripped and duplicates are removed.

Example: Car

objects

All cleaned objects, comma-joined.

Example: Car, Person

sub_labels_raw

Sub-labels as Frigate sent them (raw).

Example: Bob's Car, Alice

sub_label

First cleaned sub-label, deduped.

Example: Alice

sub_labels

All cleaned sub-labels, comma-joined.

Example: Alice, Bob's Car

subject

Primary variable. Smart merge of objects and sub-labels: -verified entries are dropped entirely, remaining objects and sub-labels are deduped and title-cased.

Example: Alice

subjects

All subjects, comma-joined.

Example: Alice, Car

added_subject

Delta: new subjects since the last phase. Useful in update messages to show what changed.

Example: Person


Zones & location

zones_raw

Zones as Frigate sent them (raw).

Example: front_yard, porch

zone / first_zone

First zone identifier (raw). first_zone is an alias.

Example: front_yard

last_zone

Last zone identifier (raw).

Example: porch

zones

All zones, humanized, comma-separated.

Example: Front Yard, Porch

zone_name / first_zone_name

First zone, humanized. first_zone_name is an alias.

Example: Front Yard

last_zone_name

Last zone, humanized.

Example: Porch

zone_alias

First zone's friendly alias from the global zone aliases configuration.

Example: the Front Yard

zone_text

Zone override value from the profile's zone overrides, falls back to zone_alias.

Example: the Front Yard

zone_phrase

Rendered zone phrase override (from the profile's Content & Templates section), or "detected" if no override is set.

Example: crossed

added_zones

Zones added since the last update, humanized.

Example: Porch

Zone phrase and zone alias

These two systems work together to build natural notification messages:

  • Zone alias provides the location name (e.g., "the Front Yard"). Configured in integration options. See Global Defaults.
  • Zone phrase provides the action word (e.g., "crossed"). Configured per-zone in the profile's Content & Templates section.

With the template {{ object }} {{ zone_phrase }} {{ zone_alias }}:

  • emoji_message: false -> "Person crossed the Front Yard"
  • emoji_message: true -> "👤 Person crossed the Front Yard"

Camera & time

camera

Camera identifier (raw).

Example: driveway

camera_name

Humanized camera name.

Example: Driveway

profile_cameras

All cameras in the profile, raw, comma-joined.

Example: driveway, front_door

profile_cameras_name

All cameras in the profile, humanized, comma-joined.

Example: Driveway, Front Door

Multi-camera profiles

{{ camera }} and {{ camera_name }} always reflect the camera that triggered the specific review. Use {{ profile_cameras }} or {{ profile_cameras_name }} for the full list of cameras in the profile.

time

12-hour format.

Example: 3:45 PM

time_24hr

24-hour format.

Example: 15:45


Phase & lifecycle

phase

Dispatch phase name.

Example: initial, update, end, genai

lifecycle

Raw MQTT message type.

Example: new, update, end, genai

phase uses dispatch names (initial not new), while lifecycle uses raw MQTT names.

phase_emoji

Emoji for the dispatch phase. Configured in Appearance & Formatting.

is_initial / is_update / is_end / is_genai

Boolean flags for the current phase.

Example: True / False

emoji

Emoji for the first object (from the emoji map). Configured in Appearance & Formatting.


GenAI

genai_title

AI-generated title.

Example: Person pushing stroller down driveway

genai_summary

AI short summary.

Example: A person pushes a stroller down the driveway...

genai_scene

Scene description.

Example: A person is observed walking down the driveway...

genai_confidence

Confidence score.

Example: 0.95

genai_threat_level

Threat level.

Example: 0, 1, 2

genai_concerns

Comma-separated concerns.

Example: unknown vehicle near garage

genai_time

GenAI event time.

Example: Thursday, 11:49 AM


IDs & metadata

review_id

Unique review identifier.

detection_id

First detection ID.

detection_ids

All detection IDs, comma-joined.

detection_count

Number of detections.

Example: 3

latest_detection_id

Most recent detection ID.

base_url

Home Assistant base URL.

frigate_url

Frigate instance URL.

client_id

Frigate client ID.

severity

Review severity level.

Example: alert, detection

start_time / end_time

Review timestamps.

duration

Review duration in seconds.

Example: 45

duration_human

Review duration, human-readable. Empty if the review has not ended.

Example: 2m 34s