The personnel tracking solution follows people who wear trackers, for example guards on patrol on a campus. It shows who is in which zone, everyone on a satellite map, falls, SOS calls and forbidden-zone alarms, and replays each tracker’s route over the day.
The model
| Part | In the full installation |
|---|---|
| Campus | Campus (asset kind Site) |
| Zones | Main gate, Security office, Workshop, Warehouse and Parking: assets of kind Zone under the campus, each with its beacon address as the attribute beacon |
| Devices | Eight trackers, placed in the campus |
How zones work
Hermetry does not work out zones from positions or beacons. The tracker, or the gateway that hears it, decides which zone it is in and reports the zone’s name in the key zone, or outside when only GPS sees it. The zone assets are there for the Zones page and as a list of names; the beacon attribute is information only. There are no geofence polygons.
If your trackers report only coordinates or beacon addresses, the zone must be worked out before the data reaches Hermetry (in the tracker’s gateway), or the zone-based cards and the forbidden-zone rule stay empty.
Profile: Personnel tracking · Tracker
| Key | Label | Values |
|---|---|---|
lat, lng | Latitude, Longitude | Degrees |
zone | Zone | A zone name, or outside |
event | Event | normal, motion, fall, motionless, sos, press_once |
battery | Battery | % |
air_temp | Air temperature | °C |
light | Light | lx |
event must be exactly one of these words. The rules compare the whole word; a tracker that sends fall.detected or FALL matches nothing. Convert its words in the profile’s root flow if needed; see Adapting a solution to your devices.
Attribute: forbiddenZone, a server attribute of each tracker holding one zone name it may not enter. In the full installation, trackers 1 to 4 may not enter the Warehouse and trackers 5 to 8 not the Workshop.
Alarm rules
| Type | Severity | Raised when | Cleared when |
|---|---|---|---|
fall | Critical | event is fall | event is press_once |
motionless | Critical | event is motionless | event is press_once |
sos | Critical | event is sos | event is press_once |
help_call | Warning | event is press_once | event is any other word |
forbidden_zone | Critical | zone equals the tracker’s forbiddenZone | The tracker leaves that zone |
battery_low | Warning | battery < 20 % (hysteresis 3) | battery ≥ 23 % |
device_offline | Warning | No message for 900 seconds (15 minutes) | The tracker reports again |
So a guard who pressed the button once after a fall clears the fall alarm and raises a help call. A fall alarm is not cleared by a following normal or motion; only press_once or a person clears it.
Only one forbidden zone per tracker. For several, add a rule per extra attribute (for example forbiddenZone2) to the profile. See Alarm rules on device profiles.
The board
The board Personnel tracking opens on today so far.
| Page | Cards |
|---|---|
| Trackers (main) | Trackers table: each tracker by name with its zone (outside in grey), last event, battery and last reading, ten a page, search, export; a row or its button opens the tracker. Trackers on the map: a satellite map with every tracker named, coloured by its last event with a counted legend; a marker opens the tracker. Who is in which zone: a row per tracker sorted by zone, with since when. Active alarms: refreshed every 5 seconds; a row opens the alarm’s page |
| Zones | Zones of the campus table and Zones on the map |
| Tracker (hidden) | Position and route with replay; Zone with since when; Event; Battery level (red below 25 %, amber below 50 %); Light; Air temperature; Alarms of this tracker over the last day, every status |
A zone with nobody in it is not listed in Who is in which zone.
Route replay
The Position and route map draws the tracker’s current position and the route it walked over the board window, with replay controls: play, pause, scrub and speed. A compute script pairs the lat and lng series into the route; long routes are thinned to at most 256 points. A board made from the template has no compute script, so its tracker page shows the position only. See Map cards.
What the tracker page cannot show
- A zone history.
zoneis text, and text keys have no chart history. The page shows the current zone and since when; the route replay shows where the guard went. If you need a history of zones, store a numeric zone code as well (for examplezone_id). See Numbers, text and true/false values. - The zone and position in the alarm text. An alarm title carries only the value of its own condition (the event word, or the zone for
forbidden_zone). Open the tracker page from the alarm to see where the guard is.
Acknowledge and clear
A row of an alarm table opens the alarm’s own page: Acknowledge it when someone is on the way, Clear it with a note when it is over or was a false alarm (clearing by hand needs the Admin role by default). See Working with alarms.
The escalation flow
The flow Personnel tracking: alarm escalation listens to the alarms of the tracker profile and tells the Admin role:
| When | Title | Urgency |
|---|---|---|
| An alarm opens | The alarm’s title | Critical |
| An operator acknowledges it | “Confirmed: title” with “Someone is on it.” | Normal |
| It clears | “Cleared: title“ | Normal |
It is stored switched off: turn it on in Automation. It is a fixed list of recipients, not an on-call rotation: nothing escalates further if nobody acknowledges.
Members reached through the role are told in the app, by push where it is set up, and in their linked chat apps. They get no e-mail and no SMS from a role. For a duty mailbox or a phone list, add address and phone rows to each Notify block, and check that your plan includes SMS. See Notifications from rules and flows and Channels.
Safety note
Personnel tracking in Hermetry is an information tool, not a certified safety system. Notifications depend on the tracker’s coverage, the network and each person’s devices. Keep your own procedures for lone workers and emergencies. A dedicated product for worker safety, Hermetry Safe, is in development; see In development.

