Skip to content

Alarms & Panic Buttons

Two kinds of source can alert your people. An alarm is stateful - it has modes, arming, and per-mode policies, the shape of a security system. A panic button is stateless - it fires, immediately, every time, the shape of a button on a nightstand.

Sources → Alarms → New Alarm.

  • Name it for the thing it represents - Front Door, Perimeter, Smoke.
  • It belongs to the location you are viewing; with several locations, the form asks.
  • Modes decide who is alerted. Open each mode you use - Home, Away, Night, Vacation - and bind it to an escalation policy. A mode with no policy is a normal choice, not a mistake: a trigger in that mode still opens an incident, so Home Assistant and your automations see it as triggered and it shows in your timeline, but nobody is contacted. Each mode also carries its own False Alarm Delay - a hold-before-dispatch window in which a disarm cancels the trigger outright - Silent Mode, which alerts your contacts as usual but sends you nothing, and Local Only, off by default. Turn Local Only on for a mode that should only drive local response - a siren or lights through Home Assistant - and a trigger in that mode marks the alarm triggered without opening an incident: nobody is contacted, you get no email, and nothing counts against your usage. There is nothing to clear. Like a siren timing out, the alarm returns to its armed mode on its own after two minutes, or the moment you disarm it, and the activity log records that as Reset.
  • The Disarm entry in the Modes list holds one setting: whether disarming also clears an incident that is already escalating.
  • Environment - every new alarm starts in Test, so nobody is contacted while you wire it up. Rehearse, then flip to Live when the chain reads right.
  • Alert Message - optional instructions your contacts see and hear when alerted: “Call me first. If I don’t answer please contact the authorities.”
  • Trigger Only When Armed - on for new alarms. Triggers are ignored while the alarm is disarmed; turn it off for a source that never arms. See Arming.

An alarm’s current state - Disarmed, Armed, Triggered - is a button, on the dashboard and on the alarm’s own page. Click it and a Mode dialog offers Disarm, then Home, Away, Night and Vacation. Pick one and it arms or disarms - no code, no confirmation - the tile shows a spinner until the alarm confirms, and the dialog closes itself a second or two later. The same arm or disarm reaches Home Assistant and everything else listening.

The dialog arms and disarms, and nothing else. Two things it deliberately does not do:

  • It cannot fire an alarm. A rehearsal is only worth something if it exercises the path a real trigger takes, so you fire a test alarm the same way your sensors fire a live one - the trigger URL, Home Assistant, or whatever else you have wired up. See Test Mode.
  • It cannot end an incident. An incident is ended from the incident itself, where you can see what you are ending: open it and use Clear Incident. The clear endpoint does the same thing for a machine caller, and disarming ends it too when the alarm is set to clear on disarm.

Every alarm’s page carries a Connect card with its ready-to-copy endpoints - trigger, arm, and disarm URLs built on the alarm’s ID. Give them to anything that can make an HTTP request, with your API key in the header. The ID is an identifier, not a secret - a URL without the key can never fire anything.

Sources → Panic Buttons → New Panic Button. A panic button has no modes and no arming - it binds one policy and fires it every time, with no false alarm delay. Wire it to a physical button, a phone shortcut, or anything else a person in trouble might reach. Like alarms, each one is Live or Test - and starts in Test - can be Silent (contacts are alerted as usual and you are sent nothing), and clear ends its incident. Panic buttons are on every plan.

A disabled source refuses its triggers (the API answers 404 - indistinguishable from a wrong ID, on purpose). An enabled alarm whose current mode has no working policy accepts the trigger and alerts nobody - the console flags that state loudly wherever it appears, because an alarm that reaches no one is configuration debt waiting for the worst moment.