At a glance
| Item | Typical answer |
|---|---|
| Problem | Trailers are hard to find among hundreds of slots, dwell times are guessed, yard vehicles sit idle or wander, and staff working alone at night have no reliable way to call for help or be found. |
| What is connected | Battery LoRaWAN trackers on trailers and containers, trackers on yard tractors and forklifts, wearable trackers with an SOS button for staff, BLE beacons marking zones, and LoRaWAN gateways on buildings or masts. |
| Who uses it | Yard controllers, the security desk, shift supervisors, HSE and the logistics manager. |
| Typical first scope | One yard: 50 trailer trackers, the yard tractors and 10 to 20 wearables for security staff, with five to ten zones. |
| Time to first screen | Typically a few days with the Personnel tracking ready solution as the starting board. Budget four to six weeks for a pilot including a coverage survey, zone tuning and the privacy review. |
The situation
A distribution centre, port terminal or large plant runs a yard: trailers drop and wait for a dock, containers queue for loading, yard tractors shunt them, forklifts cross between buildings, and people walk among all of it. A yard management or warehouse system knows which trailer should be where. Reality drifts: a driver drops a trailer in the wrong row, a shunter spends twenty minutes searching, a loaded trailer waits a day longer than planned and runs up detention costs. Paper or radio yard checks a few times a shift are the usual answer.
People raise a second set of needs. Security guards patrol alone at night. Maintenance staff work in remote corners of a site. Some areas (a fuel store, a high-voltage yard, an active crane zone) are off limits for most staff. When someone falls or presses an alarm button, the questions are who, where and since when, and the answer today is often a radio call that nobody hears.
This setup puts every tracker on one map, turns positions into zones and dwell times, and routes SOS, fall and forbidden-zone alarms to the people who respond. Because it tracks people, it must be designed with privacy in mind from the first day.
Goals and measures
- Trailer dwell time = time from a trailer entering the yard zone to entering a dock zone, and from dock to exit, per trailer and as a daily average.
- Position freshness = share of trackers with a reading inside their expected interval. Low values point to coverage gaps or flat batteries.
- Yard tractor utilisation = minutes moving ÷ minutes on shift. Send motion as a number (1 moving, 0 still); the hourly average of that key is then the moving share.
- Response time = time from an SOS or fall alarm opening to its acknowledgement, read from the alarm timeline.
- Forbidden-zone entries per week, by zone, to direct training and signage rather than individuals.
- Battery health = trackers under 20 % and expected days to empty, from the battery trend.
Dwell times come from zone changes over time. Charts and series store numbers, while text values show only as the latest reading, so send a numeric zone_id beside the zone name; then zone history, dwell charts and heatmaps work from stored data.
Privacy first
Tracking employees is processing of personal data under KVKK in Türkiye and GDPR in the EU. Hermetry gives you the controls, but it does not make a deployment lawful; involve your data protection officer, and the works council or employee representatives where they exist, before the pilot. Points to settle:
- Purpose limitation: state the purposes (lone-worker safety, emergency response, restricted zones) and do not reuse the data for performance monitoring of individuals unless that is a separate, lawful purpose.
- Transparency and consent or another legal basis: tell staff what is collected, when and why; record the legal basis your counsel chooses.
- Minimisation: label wearables by role or number (Patrol 3) rather than by name, and keep the link from tracker to person in the HR or security system. Collect only what the purpose needs; a guard tracker does not need a light sensor.
- Off-shift: prefer wearables that are handed in at the end of a shift, or that the wearer can switch off, so no one is tracked off duty. Check what your hardware supports.
- Retention: history length follows the organisation's plan, so a separate organisation for people tracking with a short retention class keeps personal positions apart from equipment data.
- Access: only the security desk and named supervisors see people; yard controllers see trailers and vehicles.
Architecture
Outdoors, LoRaWAN covers a yard with few gateways and long battery life. Two to four LoRaWAN gateways on building roofs or masts forward to Hermetry's own LoRaWAN network server (Basics Station, EU868). Trackers join with OTAA and report as class A devices: a position fix on movement and a heartbeat when parked. The codec library decodes common outdoor asset trackers, container trackers, card trackers, badges, wearable and panic buttons. See LoRaWAN.
Zones come in two ways. Near buildings, BLE beacons mark zones (dock row, gate, workshop); a tracker that scans beacons, or the gateway it reports through, decides which zone it is in and sends the zone with its position. In the open yard, GPS positions can be mapped to rectangular or circular yard areas by a short script in the profile's root flow, with the area coordinates kept in the script. Hermetry does not match beacons to zones by itself, and indoor positioning is not offered; plan zones at the level of rows and areas, not metres.
| Component | Role | Notes |
|---|---|---|
| LoRaWAN gateways | Radio coverage of the yard | Basics Station; gateway health is reported as telemetry; each gateway shows on the gateway map. |
| Trailer and container trackers | GPS position, motion, battery | Battery, OTAA, class A; magnetic or bolted mount. |
| Yard vehicle trackers | Position, motion, power | Powered from the vehicle where possible, so they can report more often. |
| Wearable trackers | Position, zone, SOS, fall and no-motion events, battery | BLE plus GPS; events depend on the model. |
| BLE beacons | Zone markers | Not devices in Hermetry; each zone asset holds its beacon as an attribute for reference. |
| Hermetry | Network server, storage, alarms, rules, flows, dashboards | EU, US or Türkiye region, or on your own servers when personal data must stay in house. |
Trackers that use cellular instead of LoRaWAN can connect over MQTT or HTTPS with TLS and an access token; use your own SIMs, since eSIM management is in development (Hermetry Connect). Worker-safety features as a product, including muster counts and lone-worker check-ins, are planned in Hermetry Safe for 2027; this blueprint uses only what runs today.
Point list
Normalised keys per tracker type. Codecs name values the vendor's way (latitude, mandown_status, event_type); rename them in the root flow so every make lands on these keys.
| Point | Telemetry key | Unit | Source | Interval | Notes |
|---|---|---|---|---|---|
| Latitude | lat | ° | GPS | on move, else heartbeat | All tracker types. |
| Longitude | lng | ° | GPS | on move, else heartbeat | |
| Zone name | zone | text | Tracker or its gateway from beacons, or root-flow script from GPS | with position | outside when no zone matches. |
| Zone number | zone_id | number | Same, numeric | with position | Keeps zone history; 0 = outside. |
| Event | event | text | Wearable: normal, motion, fall, motionless, sos, press_once | on event | One word per message; rules match it exactly. |
| Battery | battery | % | Tracker | heartbeat | |
| Moving | moving | 0 / 1 | Accelerometer | on change | Trailer and vehicle trackers; a number so it keeps history. |
| Shock count | shocks | count | Accelerometer, if supported | heartbeat | Rough handling of trailers or containers. |
| External power | ext_power | bool | Vehicle tracker | on change | Ignition or supply present. |
| Speed | speed_kmh | km/h | GPS, if the tracker reports it | on move | Yard vehicles. |
| Tracker temperature | air_temp | °C | Tracker | heartbeat | Optional; reefer trailers need a proper probe. |
| GPS fix age | fix_age_s | s | Tracker, if supported | with position | Old fixes should not move markers. |
| Gateway health | per gateway | LoRaWAN gateway status | periodic | Uptime and traffic per gateway. |
Asset model
- Site (Site) with location, time zone,
operating_hoursandsecurity_desk_role. - Zone (free kind Zone, as in the ready solution) with location,
zone_id,beacon,kind(dock row, parking, gate, restricted),max_dwell_minandrestricted. - Dock (Area) with
door_no, if dock zones are tracked one by one. - Yard vehicle (Machine) with
vehicle_noandtype(tractor, forklift). - Trackers sit under the site; a trailer tracker carries the current
trailer_idas an attribute, written by the yard management system through the API.
Place zones under the site so the Zones page lists them and the map shows them; placement also decides which Rules-card rules of the site may act on the trackers. The restricted zone for each wearable is its server attribute forbiddenZone; one alarm rule compares the reported zone with it. One forbidden zone per tracker is what that rule supports, so group restricted areas into one named zone per role or add a second attribute and rule where needed.
Device setup
Start from the ready solution
The Personnel tracking ready solution installs a wearable tracker profile, a campus with zone assets, a board and an escalation flow. Its board has a Trackers page (table of trackers with zone, event, battery and last reading; trackers on a satellite map coloured by last event; who is in which zone; active alarms), a Zones page and a Tracker page with the current zone and since when, the last event, battery and the route walked over the board's time window replayed on the map. Install it, replace the demo zones with yours and adapt the rules; then copy the profile for trailers and vehicles.
Profiles
Use separate profiles for Wearable, Trailer tracker and Yard vehicle tracker: they need different rules, intervals and access, and Rules-card rules target all devices of a profile. Each LoRaWAN profile names the codec for its model. Use the Recent message online rule with an expected interval equal to the heartbeat (15 minutes for wearables, as the ready solution does; 60 minutes for parked trailers).
Provisioning and settings
Add trackers with their join keys singly or by batch import, label them (Patrol 3, Trailer tracker 0412) and place them under the site. Reporting intervals, motion thresholds and buzzers of third-party trackers are changed with the vendor's downlink frames, which Hermetry sends as raw LoRaWAN downlinks on the right port; class A trackers receive them after their next uplink. Remote device settings with baselines and waves apply to licensed devices, not to third-party trackers.
Normalising in the root flow
The profile's root flow is where vendor data becomes yard data: rename latitude and longitude to lat and lng, turn the vendor's man-down or alarm field into one event word, compute zone and zone_id from GPS for open-yard areas if the tracker does not report a zone, and drop positions with a stale fix. Test the script with recorded uplinks in the flow test runner. Readings stamped by the tracker keep their time; trackers without a reliable clock should leave the time stamp to Hermetry.
Dashboards
| Board | Audience | Widgets and what they show |
|---|---|---|
| Yard | Yard controllers | Satellite map of trailer trackers with labels, coloured by zone; table of trailers with trailer ID, zone, since and battery, with search and CSV export; alarm table of open dwell and left-the-yard alarms. |
| Trackers (people) | Security desk | From the ready solution: tracker table, map coloured by last event, who is in which zone, active alarms; a row or marker opens the Tracker page. |
| Tracker page | Security desk, supervisors | Position and route replay over the board window, zone with since when, last event, battery and the tracker's alarms of the last day. |
| Zones | Yard controllers, HSE | Zone assets in a table and on the map; heatmap of zone_id occupancy by hour for trailers; forbidden-zone alarms over 30 days by zone. |
| Fleet and batteries | Logistics manager, technicians | Device table with online state and last seen; battery progress bars; bar chart of hourly moving share per yard tractor; LoRaWAN gateway health. |
Entity parameters keep one Tracker page for every tracker. The security desk can run the people board on its screen through a read-only display link; do not place it where visitors can see it.
SCADA and site views
Maps carry most of the picture, but a dock drawing helps the yard controller. Draw the dock face with dock door, dock leveller and trailer-at-dock symbols from the Factory pack's logistics family; bind each door's trailer symbol to show or hide by the zone_id of the trailer tracker in that dock, or to a door sensor where fitted. On the site view, a 2D plan or a 3D scene of the yard can carry the same bindings; the 3D side's Mobility pack adds vehicles and people for training and layout discussions.
Rules and alarms
| Alarm | Condition | Delay and hysteresis | Severity | Notified | Escalation |
|---|---|---|---|---|---|
| SOS | event == sos | Debounce 1 sample | Critical | Security desk users and supervisor on duty, push and SMS | Reminder every 2 min until acknowledged |
| Fall detected | event == fall | Debounce 1 sample | Critical | Security desk, push and SMS | Reminder every 2 min |
| Not moving | event == motionless | Debounce 1 sample | Critical | Security desk, push and SMS | Reminder every 5 min |
| Help call | event == press_once | Debounce 1 sample | Warning | Security desk, push | None |
| Forbidden zone | zone == attribute forbiddenZone | Debounce 1 sample | Critical | Security desk, HSE | Reminder every 5 min |
| Wearable battery low | battery < 20 | Hysteresis 3 % | Warning | Security desk, in-app | None |
| Wearable offline | Inactivity rule, 15 min | Warning | Security desk, push | Reminder every 15 min | |
| Trailer left the yard | zone_id == 0 | Debounce 2 samples | Major | Yard controller, security desk | None |
| Trailer tracker offline | Inactivity rule, 3 h | Minor | Technicians, e-mail | None | |
| Yard vehicle speeding | speed_kmh > 20 | Debounce 2 samples | Minor | Shift supervisor, in-app | None |
The first five rows match the ready solution's rules. There, the clear condition of the fall, not-moving and SOS rules is a single button press (press_once), so the wearer can cancel a false alarm, and the alarm stays open until then or until an Admin resolves it by hand. Decide whether you want that: many security teams prefer that only the desk closes an SOS after a call. In that case, change the clear condition to one the wearable never sends on its own, so the alarm stays open until an Admin resolves it with a note; test the behaviour in the pilot. Alarms are not latched beyond their clear condition, and acknowledgement takes an optional note such as "called, all fine".
The ready solution's escalation flow notifies the on-duty administrators when a tracker alarm opens, and sends a confirmation when an operator acknowledges it and when it clears. Beyond that, escalation is a higher severity notifying again and reminders repeating until acknowledgement; there are no on-call rotations behind IoT alarms. Recipients are users, roles or e-mail addresses, up to 20 per rule. Push goes to the browser today; the mobile app is in development, so use SMS for SOS and falls.
Time-based rules go in the Rules card. Dwell: when a trailer tracker's zone_id stays equal to a dock row's number for 120 minutes, raise a Minor alarm and notify the yard controllers' team. Night movement: when moving becomes 1 on a trailer tracker, only if the time is outside operating hours or the day is a holiday, notify the security desk. Lone worker at night: when a wearable becomes inactive, only between 22:00 and 06:00, raise a Major alarm and notify the desk at once. Rules-card conditions compare with fixed values, so write one rule per dock row or zone class.
Alarm debounce counts arriving readings, and trackers report rarely when still, so use the Rules card's timers, not alarm debounce, for any condition about time without change.
Automation and integrations
- Yard management: the yard or warehouse system writes
trailer_idto the tracker's attributes when a trailer is coupled, through the attributes API with an API key limited to that system's network; it reads positions and zones through the REST API. - Events out: a flow posts zone changes of trailers to the yard management system through a configured HTTP endpoint;
alarm.createdandalarm.clearedwebhooks, signed with HMAC, go to the security incident log. - Tracker settings: vendor downlinks change reporting intervals or ring a buzzer on models that support it; every command is stored with its result.
- Reporting: dwell and alarm tables export to Excel. Scheduled, e-mailed reports are not built in today.
Roles and access
| Who | Role or group | Can |
|---|---|---|
| Security desk operator | User + IoT operator group | See wearables, positions and alarms; acknowledge and add notes. |
| Shift supervisor | User | See wearables of their shift and alarms; acknowledge. |
| Yard controller | User, narrowed by policy | See trailers, vehicles and zones only; no people. |
| HSE officer | User + IoT viewer group | Read zone statistics and alarm history; export. |
| Administrator | Admin | Profiles, codecs, rules, flows, zones, mutes. |
| Owner, data protection contact | Owner | Members, sign-in policy, API keys, retention decisions. |
Narrowing the yard controller to trailer and vehicle trackers is done with attribute-based policies; check the result with the policy simulator. A simpler and stronger separation is a separate organisation for people tracking, isolated by row-level security, which the security team alone can enter. The audit log records sign-ins, role changes, acknowledgements, rule versions, attribute writes (keys, not values) and mutes in a verifiable hash chain.
Sizing and data
As an order of magnitude for one yard with 300 trailer trackers, 20 yard vehicles and 60 wearables on 12-hour shifts:
- Trailers: an hourly heartbeat plus about 16 movement reports a day: 300 × 40 = 12,000 messages a day.
- Yard vehicles: a report a minute while moving for 8 hours plus heartbeats: 20 × 500 = 10,000 a day.
- Wearables: a report every 2 minutes on shift plus events: 60 × 400 = 24,000 a day.
- Total: about 46,000 messages a day, roughly 1.4 million a month, counted as one message per device per reading.
- Values: about six per message, around 280,000 a day.
Under EU868 rules a tracker's airtime is limited; frequent reports at low data rates drain batteries and can exceed duty-cycle limits, so follow the tracker maker's guidance on intervals. History follows the organisation's retention class: raw positions for 7 to 90 days depending on the class, hourly and daily aggregates for the class length. For people, a short class in a separate organisation is the privacy-friendly choice.
Rollout plan
| Phase | Weeks | Work | Exit criteria |
|---|---|---|---|
| 0. Privacy and survey | 1-3 | Privacy assessment with the data protection officer and staff representatives; LoRaWAN coverage survey; zone plan; beacon positions. | Written purposes and legal basis; gateway positions agreed. |
| 1. Pilot | 4-8 | Ready solution installed and adapted; 50 trailer trackers, the yard tractors, 10 to 20 wearables; root flows, rules, Yard board. | Position freshness above the agreed level; every alarm tested with the security desk; zone accuracy accepted. |
| 2. Whole yard | 9-12 | All trailers, dwell rules, yard management integration, dock drawing. | Yard controllers find trailers from the board; dwell figures reconcile with the yard system. |
| 3. Further sites | 13+ | Copy profiles, flows and boards; each site gets its own zones and gateways. | Same exit tests per site. |
Commissioning checklist
- LoRaWAN gateways online and on the map; every corner of the yard walked with a test tracker; RSSI and SNR checked in the device's LoRaWAN tab.
- Each zone entered and left with a test tracker; the zone and
zone_idchange within the expected interval. - Root flow verified: vendor keys renamed, stale fixes dropped, events mapped to the right words.
- SOS, fall and help-call tested with each wearable model; the desk receives push and SMS; acknowledgement sends the confirmation.
- Forbidden zone tested with a test wearable whose
forbiddenZoneis set. - Dwell and night-movement rules tested with shortened times, then set back.
- Battery and offline alarms checked by removing a tracker's battery.
- Yard controller account checked in the policy simulator: no wearables visible.
- Staff briefed on what is tracked and why; information notice published.
Pitfalls
- Starting without the privacy review. Retrofitting purposes and access after go-live costs trust that is hard to win back.
- Expecting indoor precision. Zones at row or area level work; metre-level indoor positions are not offered.
- Text-only zones. Without
zone_id, there is no zone history for dwell charts. - Ignoring stale GPS fixes. A tracker under a steel roof may resend an old fix; drop it or show its age.
- Polling too often. Frequent uplinks empty batteries and breach duty-cycle limits.
- Self-cleared SOS without a call. Decide on purpose who may clear a safety alarm.
What Hermetry does not replace
Hermetry shows positions and raises alarms. It is not a certified personal emergency or lone-worker protection system, and it does not replace emergency procedures, alarm receiving centres, gas detection, traffic management on the yard or physical barriers for restricted zones. Wearables, radio coverage and batteries can fail, so keep a second means of raising the alarm. Lawful processing of employee location data is the operator's responsibility; Hermetry provides access controls, retention and audit, not legal compliance.

