Skip to content
Stand with Ukraine flag

Utilization / Progress Percentage

  • Calculated Field
  • 143 installs
  • v1.0.0
  • Jun 15, 2026
  • MIT license
  • v4.2+

Calculate progress, utilization, or fill percentage from two telemetry values — fuel level, battery, job completion, manufacturing throughput.

Type
  • Simple
Category
  • Custom Formula

Who it’s for

Plant supervisors, fleet managers, facility operators, and dashboard authors asking “how far along is the job?”, “how full is the tank?”, “what’s our utilization?” — when a live percentage should appear on screen without embedding the same formula into every widget binding.

What it does

Reads the latest done and remaining telemetry as the two halves of a work unit and computes the percentage one is of the total:

Progress main diagram

The output recomputes on every telemetry update of either input. Widgets, alarms, and other calculated fields can bind to a single progressPercent field instead of remembering the formula in every place.

How to customize

  • To use this on different telemetry keys — change the Time series key on the done and remaining arguments (e.g. doneunitsDone, remainingunitsRemaining).
  • To rename the output — change the output Time series key from progressPercent to your domain key (e.g. chargePercent, jobCompletePercent).
  • To switch from done/remaining to done/total — see the Common variants section below for the alternative formula and example inputs.
  • To change the output precision — adjust Decimals by default on the output to whatever precision your dashboards and alarms need.
  • To timestamp the result with the latest argument reading instead of server time — enable Use latest timestamp. The output’s ts then becomes the max across all non-default input arguments, matching when the source actually updated. Useful for LoRaWAN, batched uploads, or any source where reading time lags wall-clock.
  • To use a different fallback when no data has arrived — change Default value on each argument (defaults to 0).

Common variants

Total instead of remaining

When the device reports an absolute total directly, swap the second telemetry input to total and change the Expression to done / total * 100:

Progress Total Diagram.svg

Example inputs: unitsDone / unitsTarget on a production run, or chargeKWh / capacityKWh on a battery charger.

Share Your Calculated Field with the Community

Built a useful data transformation? Export it as a JSON from ThingsBoard and publish it to the IoT Hub. Share it with thousands of ThingsBoard developers worldwide.