Device journal

read-only · what the scanners recorded about themselves · times in {{tzLabel}}
{{model.loading ? 'Reading…' : 'Read it'}}
Pick a scanner, an event, or both, and read it. Nothing is fetched until you ask, because this is a record of everything every handset did and there is no reason to carry it around.
This could not be read. That is this page failing, not a statement about the scanner or the event.
Nothing recorded. A scanner on a build older than 05.08.2026 does not keep a journal, and a handset that has never reached the server has not delivered one.
Time Scanner Event What Detail Operator Gate Sector
{{it.first.occurredAt | date:'dd.MM HH:mm:ss'}}
since {{it.oldestAt | date:'dd.MM HH:mm:ss'}}
● {{it.first.deviceName || '(unnamed)'}} {{it.first.deviceGuid}} {{it.first.eventID ? '#' + it.first.eventID : ''}} {{it.first.kind}} {{it.first.detail}}×{{it.count}} {{it.open ? '▾' : '▸'}} {{it.first.operatorName || ''}} {{it.first.entrance || ''}} {{it.first.sectors || ''}}
{{j.occurredAt | date:'dd.MM HH:mm:ss'}}+{{it.gapText[$index]}} {{j.deviceName || '(unnamed)'}} {{j.deviceGuid}} {{j.eventID ? '#' + j.eventID : ''}} {{j.kind}} {{j.detail}} {{j.operatorName || ''}} {{j.entrance || ''}} {{j.sectors || ''}}
Newest first, {{model.rows.length}} entr{{model.rows.length === 1 ? 'y' : 'ies'}}{{model.items.length < model.rows.length ? ' in ' + model.items.length + ' rows, a word-for-word repeat shown once with its count' : ''}}{{(model.askedFor.deviceGuid && model.askedFor.eventId) ? ', one scanner on this event' : ''}}{{(model.askedFor.deviceGuid && !model.askedFor.eventId) ? ', every event and none' : ''}}{{model.askedFor.top ? ', at most ' + model.askedFor.top : ''}}{{model.askedFor.since ? ', since ' + (model.askedFor.since | date:'dd.MM.yyyy HH:mm') : ''}}{{model.askedFor.kind ? ', only ' + model.askedFor.kind : ''}}{{(!model.askedFor.showRoutine && !model.askedFor.kind && !model.askedFor.problemsOnly) ? ', routine entries left out' : ''}}{{(model.askedFor.problemsOnly && !model.askedFor.kind) ? ', problems only' : ''}}. Every time here is the time the scanner believed it was when the thing happened, not when the server heard about it; hover a time for both and for how long the record took to reach us. A long wait is ordinary and says nothing about the handset's clock — a boot is written before there is a connection to send it on, and a dropped connection can only be reported once it is back. For the clock itself see MQTT, which measures the one pair that can answer it: what the device said it sent, against when it arrived. A row with no operator against it is a boot or an event loaded before anyone signed in. A read of one event does not carry the sector limit or the arrival time; pick a scanner with Any event for those.