Skip to content

Test Mode

Every alarm and panic button is either live or test. Test mode exists so you can trip a sensor for real and watch exactly what would have happened - who would have been reached, on which channel, in what order, how far apart - before a single stranger’s phone is allowed to ring.

One switch: the Environment setting on the alarm or panic button. Every new alarm and panic button starts in Test - nobody is contacted until you flip it to Live, so a source you are still wiring can never wake anyone up.

There is no query parameter and no per-call override. Live or test belongs to configuration, not to the request - a flag deciding whether real people get woken up has no business being optional URL syntax.

Every API response tells you which environment actually ran, as data.environment. An automation that believes it is live can confirm it rather than assume it.

Everything except contact anyone.

  • The policy runs on its real timeline. Level 1 resolves immediately; later levels fire at their true delays; a repeating policy repeats. A three-level policy with ten-minute waits takes the same half hour a real incident would, and the incident page fills in as it goes.
  • Every delivery is recorded, marked suppressed - the contact, the channel, the level, the time. The incident reads as the real thing that did not happen.
  • A contact who could not have been alerted even live is marked skipped, with the reason - revoked consent, a channel your plan excludes, over the plan’s contact limit. Keeping suppressed and skipped apart is the point of testing: the gaps in your chain stand out at the one moment you can still fix them.
  • The incident ends like a live one - cleared by you, closed by a configured disarm, or auto-closed 24 hours after escalation ends, unanswered.
  • Nobody is contacted. Nobody. Not your contacts, and not you - the owner emails an incident normally sends (opened, acknowledged, ended) stay silent too. A test that emailed someone would not be a test.
  • It does not mute your own systems. OpenAlarm suppresses people, not systems: a test trigger looks like a real trigger to everything connected - the Home Assistant panel entity shows triggered, and any automation hanging off it (a siren, a light scene) runs. Test mode rehearses the alerting chain; your own automations are yours to gate.

Test incidents - their timelines and their downloadable archives with them - are kept for 3 days from the moment the incident opens, then removed - long enough to review a rehearsal, short enough that drills never crowd out the record of real events.

Flip the Environment to Live. Same URL, same key, same policy - the next trigger reaches your contacts for real. Nothing else changes, which is the point: what you rehearsed is what will run.