Skip to content

Alarms

An alarm is a server-generated event (fall detection, zone breach, battery low, …) that operators need to clear. Alarms are scoped to sites or areas and have rich filters.

Quick reference

Method What it does
client.alarms.list_active() All currently active alarms.
client.alarms.list_for_site(*, site_uid, start, end, **filters) Historical alarms for one site in a window.
client.alarms.list_for_area(*, area_uid, start, end, **filters) Historical alarms for one area in a window.
client.alarms.update(uid, *, cleared=True) Clear / un-clear an alarm.

Reading

active = client.alarms.list_active()
recent = client.alarms.list_for_site(site_uid=site.uid, start=start, end=end)

Filter kwargs accepted on the historical lists include alarm_types= (Rails-style array param — serialized as alarm_type_name[]=...), tag_uids=, user_uid=.

Clearing

client.alarms.update(alarm.uid, cleared=True)

alarms.update uses HTTP PUT (not POST — RESEARCH Discrepancy #3). The SDK handles the verb internally.

Timestamps

Alarms use Unix milliseconds on the wire (not ISO-8601). Pass datetime objects with tzinfo; the SDK converts. See Timestamps.

Model — Alarm

Field Type Notes
uid str Server-assigned.
alarm_type_name str \| None E.g. "fall", "battery_low".
trackable_uid str \| None Associated tag, if any.
site_uid str \| None Scope.
ts datetime \| None When the alarm fired (UTC).
cleared bool \| None Lifecycle.

Full field list.

  • Tags: trackable_uid points at a Tag.
  • Sites / Areas: scope.
  • Reports: client.reports.alarms_csv(site_uid=..., alarm_types=...) downloads a CSV with optional banner. See Reports.

See also