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(start, end, *, site_uid, alarm_types=None) |
Historical alarms for one site in a window. |
client.alarms.list_for_area(start, end, *, area_uid, alarm_types=None) |
Historical alarms for one area in a window. |
client.alarms.update(uid, **fields) |
Clear / un-clear an alarm (e.g. cleared=True). |
Reading¶
active = client.alarms.list_active()
recent = client.alarms.list_for_site(start, end, site_uid=site.uid)
The historical lists accept one filter kwarg, alarm_types=
(Rails-style array param — serialized as alarm_type_name[]=...).
Clearing¶
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". |
tag_uid |
str \| None |
Associated tag, if any. |
site_uid |
str \| None |
Site scope. |
area_uid |
str \| None |
Area scope. |
Related entities¶
- Tags:
tag_uidpoints 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¶
- Timestamps — wire-format details.
- Rate limiting — historical lists can hit 429 on long windows.