Skip to content

Roll Call

When the alarm goes, the question is not how many people are in the building. It is which people, and which of them are not yet at the assembly point.

Who it is for

Fire wardensThe live muster board during an evacuation
Safety officersDrills, cadence, and the after-action review
Whoever signs the compliance recordDrill history and exports

Before it is useful

Tags on people. This app is one of the few where BLE tags are the right answer rather than a compromise: you need identity, not a headcount, and a radar cannot tell you who is missing.

Say which tags are people. The muster expects every active tag that is bound to a person entity — people and assets is the way to do it, and it is what puts a name on the board — plus any tag carrying the free-form label staff, employee, human or visitor on the device page. If no tag is bound to a person and none carries a label, the app expects every active tag instead, which means asset tags muster too and show as "missing" for ever. Sort this out before the first drill.

A zone for the assembly point. That is where "accounted for" is measured. It is usually outdoors, which is exactly where gateway coverage is weakest — check it before the drill, not during it.

Names come from the entity

The board shows each tag by the person it is bound to (Places → Entities, bind the tag as one of the person's sensors), with the badge's own name and MAC underneath. A tag bound to nobody musters by its device name, and a tag with no name by its MAC address. A tag bound to a person is expected at every muster even if the device carries no staff label.

What happens in an event

Start a roll call — a drill or the real thing — and the app takes a snapshot of every expected tag and where it was at that moment. That snapshot is the list you are working against. From then on each tag is one of:

StatusMeans
PresentSeen at the assembly point
ExpectedNot there yet, but the event is under a minute old
MissingOver a minute in and not at the assembly point
UnknownThe tag has not been heard at all for five minutes — it could be anywhere, including a blind spot
ExcusedA warden marked them off — known to be off site, or accounted for another way

The board shows who is accounted for, who is not, and where each missing person was last seen. The last part matters most: a name with a last-known zone is a search area, and the trail behind it shows how they got there.

Marking by hand stands. A warden who presses Present for somebody standing next to them with a flat battery is not overruled by the sensors on the next refresh.

Fan-out splits a large site into one board per venue — each floor musters separately, rolled up into one event. The set of floors is fixed when the event starts.

Re-snapshot rebuilds the expected list from the current tags without ending the event, for when the drill started before the badges were labelled.

Drills

The app is built on the assumption that you will run drills and then forget about it for a year. Cadence tracking exists to push against that: it counts the days since the last drill against a target (ninety by default), and on the first of each month emails your administrator if the target has passed.

Drill history gives you the year's summary — how many drills, average accountability, the slowest venue to clear — for drills, real events, or both. The slowest venue is the actionable one; it is usually the same one every time, and usually for a reason you can fix.

After-action review

Every event produces an AAR: the timeline, per-zone headcount, accountability and response time, who was accounted for and when, a lessons-learned section to fill in, and a reliability rating for each tag — reliable, intermittent, unreliable or unknown — worked out from how many of the last thirty days it reported and how strong its signal has been. A drill where three tags never reported is a drill that told you something about the tags rather than the people, and the AAR says so instead of letting the number stand.

The marshal export is a CSV with one row per person, status and timestamps — the artifact somebody signs at the debrief.

Starting one automatically

Roll Call is available as a rule action: Start a roll call, with the name, venue and assembly-point zone to use. Paired with a condition — a panic button pressed, a smoke or temperature sensor over its limit — the muster is running before anyone has reached the app. Rule-started events are prefixed [Rule] so the history tells them apart from manual ones, and a webhook subscriber sees them as rollcall.fired.

When it disappoints

The list is short. Only labelled tags are in it. Anyone without a tag has to be marked by hand, and the app cannot know they exist.

The list is far too long, full of things. No tag is bound to a person and none carries a people label, so every tag is expected — including the ones on laptops and trolleys. Bind or label the people's tags.

People are not marked present automatically. The assembly point has no zone, or the zone has no gateway coverage. Check it before the drill, not during it.

Everybody goes "unknown" outside. Same cause: once past the last gateway the tags fall silent, and five minutes later the app stops claiming to know where they are. A gateway at the assembly point turns those into present.

Accountability looks poor every time. Read the AAR's tag reliability before concluding anything about people.

Last updated:

Omaya platform documentation