The Sensor Recorder component logs live temperature readings from one fixed IoT sensor straight onto a form. While it is recording, every reading from that sensor is stored and linked to the form, giving you a complete, tamper-evident audit of a cooling or heating step.

Each reading is measured against the targets you define (for example ≥ 75 °C within 30 min, or ≤ 21 °C after cooking), and the component shows, in real time, whether each target has been met.

Note: To record from more than one sensor — or to let the operator choose which sensor(s) to use — use the Dynamic Sensor Recorder component instead. It shares the same targets, Arm and Reset behaviour described below.

When to use it

Choose the single Sensor Recorder when a step is always monitored by exactly one, known sensor — e.g. a fixed probe in a specific blast chiller, oven, or coolroom. If the number of probes varies, or the operator needs to pick the sensor on the floor, use the Dynamic Sensor Recorder.


Setting up the component (template author)

Add a Sensor Recorder field to your form template and open its properties. You can set:

  • Sensor — the single IoT sensor this field records from. This is fixed at build time; the operator cannot change it.
  • Recording Max Duration (min) — the longest a single recording will run before it stops automatically. Readings that arrive outside the recording window are ignored.
  • QA Check — optionally set this to All Targets Passed so the form's QA result fails if any target is not met (see QA check below).
  • Targets — up to five temperature conditions. Click + Add Target and complete each row (see the next section).


Understanding targets

Each target row has the following settings:

Setting What it means
NameA label for the target, e.g. Core Temp or CCP2.
Condition>= (at or above) or <= (at or below) the Value. Use >= for a cook/heat target and <= for a chill/cool target.
ValueThe threshold temperature, in °C.
Duration TypeAt or Under = the target must be reached within the time limit. At or Over = the target can only be met at or after the time limit (a minimum hold before it counts).
Duration (min)The time limit, in minutes. 0 = a checkpoint (must be reached, no time limit).
ArmIgnores readings until the probe has first been hotter than the value. Applies to cooling (<=) targets only. See below.
ResetReaching this target restarts the timer for the targets below it — used to chain cooling stages. See below.

Arm — for cook-then-chill (cooling) targets

A cooling target (<=) is usually only meaningful after the product has been hot. Without help, a ≤ 21 °C target would be marked "met" the instant recording starts if the probe happens to already read below 21 °C (for example, a cold probe before it is inserted).

Arm prevents this. When Arm is ticked, the target ignores readings until the probe has first gone strictly above the value. Only then does it start looking for a reading at or below the value.

Example — a cook-then-chill CCP. Target CCP2, Condition ≤ 21 °C, Arm ticked:
  1. Recording starts and the probe reads 19 °C. Even though 19 is below 21, CCP2 shows Not started — it is waiting to be armed.
  2. The product is cooked and the probe rises to 26 °C (above 21). CCP2 is now armed and shows Pending.
  3. The product is chilled and the probe falls back to 21 °C or below. At the first reading at or below 21 °C after arming, CCP2 is marked Met.
Without Arm, the first 19 °C reading would have marked CCP2 met immediately — which is wrong for a cooling step.

Arm is automatically switched on when you choose a <= condition, and switched off (and disabled) for >= conditions, where it does not apply.

Reset — chaining cooling stages

Reset lets you build a multi-stage cook/cool profile where each stage's clock starts when the previous stage is achieved. When a target with Reset is met, the timers for all targets below it are re-anchored to that moment (instead of to the start of recording).

For example: a cook target ≥ 75 °C with Reset on, followed by a chill target ≤ 21 °C within 120 min. The 120-minute cooling clock does not start until the 75 °C cook is reached, so the chill window is measured from the end of cooking — exactly as a food-safety cooling rule requires.


Recording (operator)

To begin, the operator clicks Start Recording in the component.

The recorder will capture readings while all of the following are true: the form is Active, Start Recording has been pressed, the maximum duration has not elapsed, and the targets are not yet all resolved.

Once recording, the live view appears:

It shows a temperature chart of every reading, plus Start Time, First Reading, Last Reading, Elapsed Time and Time Remaining, and a targets table. No further action is needed — it keeps recording until the form is completed or the targets and duration conditions are resolved.

Target statuses

Each target in the table shows a live status:

  • Not started — the target's clock hasn't begun: either its Reset stage above it isn't met yet, or an Armed cooling target hasn't yet gone above its value.
  • Waiting — an At or Over target whose minimum time hasn't elapsed yet.
  • Pending — armed / running and waiting for the condition to be satisfied.
  • Met  — the condition was satisfied. The table records the time and temperature of the reading that met it.
  • Failed — an At or Under deadline passed before the target was reached.

How a target is marked Met or Failed

  • Met — the first reading that satisfies the condition (after arming, and after any Reset stage above it is met, and within/after the Duration rule). Once a target is Met, its result is locked for the rest of the recording — later readings do not change it.
  • Failed — for an At or Under target with a duration, if a reading arrives after the deadline and the target still hasn't been reached, it is recorded as Failed.
  • Duration = 0 (checkpoint) — the target must simply be reached at some point during the recording; there is no time limit.
Tip — the Met temperature reflects your sensor's reporting interval. The Met time and temperature come from the actual reading that satisfied the target. If the sensor reports infrequently, the reading that crosses the threshold may already be a little past it — e.g. a ≤ 21 °C target shown as Met at 12.7 °C because that was the first reading after the probe dropped below 21. A shorter reporting interval captures the crossing point more precisely; it does not change whether the target passes.

When a target fails

A target fails when its time limit runs out before the temperature reaches it. Under When a target fails in the component's settings, the template author decides what staff must do next. These settings are off unless you tick them, so existing templates behave exactly as before.

Setting Effect
Require a corrective action before the form can be confirmedA corrective action panel appears on the form when a target fails, and the form cannot be confirmed until it is filled in. The other settings appear once this is ticked.
Suggested actions (one per line)The choices offered to staff, for example “Product held for QA assessment”. Staff pick one of these or type their own.
Raise a non-conformanceRecording the action also raises a non-conformance against the form, with the action logged on it as a closed corrective action.
Put the form's batch on holdFor a form opened from a batch, recording the action also puts the batch on hold.

When a target fails, staff see a panel headed “<target> failed — record a corrective action” with “This form cannot be confirmed until it is recorded.” They choose the Action taken (or Something else… to type their own), describe What happened, and save. The panel tells them in advance “A non-conformance will be raised.” or “The batch will be put on hold.” when the template says so. Once saved, the panel reads “Corrective action recorded” with the failed targets, the action, who recorded it and when, and the non-conformance number.

The form cannot be confirmed until the action is recorded. Trying to confirm first is refused with the message “<label>: corrective action” must be entered before confirmation. The sensor keeps recording after a target fails; the corrective action is about the product, not the probe.

The corrective action is printed on the form PDF under the recorder's targets. The same settings are used by the Cooling Log, which records temperatures entered by hand, and its article has screenshots of the panel.

Celsius and Fahrenheit

Targets are entered in the Form Builder in the account's temperature unit, set by an admin under Account Settings → Temperature unit (every account starts on Celsius). The recorder on the form always shows its device's own unit: set the device to Fahrenheit in its IoT settings if that is what you work in. Changing the account unit never changes a recorded value or a target; only how they are shown.


QA check — "All Targets Passed"

If you set the field's QA Check to All Targets Passed, the form's QA result will flag the recorder unless every target was Met. A target that is Failed, or never reached, counts as not passed and will appear in the form's QA summary.