Skip to content

Cookie preferences

We use cookies for our own analytics, to see how our campaigns perform and, if you allow it, to load content from other services such as the Google site search. We never sell your data. Necessary cookies keep the site working and cannot be switched off. See our Cookie Policy for details and our Privacy Policy for how we handle personal data.

Security, load balancing and remembering your cookie choice.

Show us which pages people read, how they find the site and where they get stuck, so we can improve it (Google Analytics, Microsoft Clarity).

Show us which of our ad campaigns bring visitors to the site and remember the campaign or partner link you arrived from (Google Ads, LinkedIn, Meta, partner program). We do not use these cookies to build advertising profiles.

Load the site search from Google when you use it. Google sets its own cookies and shows ads in the search results.

© 2026 The ThingsBoard Authors

ThingsBoard Cloud

Choose your data region

Your data stays in the region you choose, for residency and compliance. No credit card required.

Rather run it yourself? Install on your own servers

Manual Reading Entry Form

  • Widget
  • 5 installs
  • v1.0.0
  • Nov 10, 2026
  • MIT license
  • v4.2+

A form for entering a manual reading taken by hand, such as a meter read on an inspection round, a gauge on a site visit or a delivery quantity. Each value is saved as telemetry on the device with the time the reading was taken, not the time it was typed. One field or a whole round of fields is saved as one record, with an optional note and the person who entered it. Values are checked against an expected range, and an unsent entry survives the phone screen locking.

Widget Type
  • Latest
Category
  • Input Forms
  • Controls
  • Cards & Info
Use Cases
  • Smart Metering
  • Predictive Maintenance
  • Industrial Automation
  • Cold Chain
  • Tank Level Monitoring

Who it’s for

Technicians on an inspection or maintenance round, and site managers who still carry a clipboard, ask “how do I get this number into the system, with the time I actually read it?” They are standing next to a meter, gauge or hour counter that does not report by itself, usually with a phone in one hand. Today the value reaches ThingsBoard hours later, retyped, with the wrong time on it.

What it does

A technician reads 1240.6 m³ on a water meter and 4.3 bar on a pressure gauge, types both into one card each, taps Save 2 readings, and the device gets one telemetry record with both values, stamped with the moment of saving and the technician’s name.

  • One form per device, with one input card per data key, so a whole site visit becomes one record rather than several
  • Works with every key type the data tab offers: time series keys are saved as telemetry at the reading time, attribute keys as server or shared attributes, and the entity fields name and label update the device or asset itself; other entity fields are shown read-only for reference
  • Each card shows the last stored value and how long ago it was recorded, so an obviously wrong reading stands out before it is saved
  • Taken at panel: save with the current time, use a quick “−15 min” style button, type a custom “time ago”, or pick a manual date and time
  • Optional note, saved with the reading at the same timestamp
  • Records who entered the reading, and when it was saved, as separate time series keys
  • Range check per value, with the expected range shown under the input
  • An unfinished entry survives the phone screen locking or the page reloading, including the reading time already chosen
  • Device picker when the alias resolves to several devices
  • Large touch targets and a full-width save button for one-handed use on a phone
  • Follows the dashboard theme colors and the widget’s own background and text colors
  • It does not work offline, attach photos, or validate anything beyond a min/max range

How to set up

Data keys

KeyRoleTypeDescription
Reading keys (user-configured, one or more)Values entered by handTimeseriesOne input card per key, saved as telemetry at the reading time. Numeric by default; set Value type to Text for values like “OK”. Units and decimals come from the key’s own Units and Decimals.
Attribute keys (optional)Values entered by handAttributeSaved to the scope chosen in Attribute scope. An attribute keeps only its newest value, so the reading time is not stored with it; the card says so.
name, label entity fields (optional)Entity propertiesEntity fieldEditable on devices and assets; saving updates the entity itself. Any other entity field, or any entity field on other entity types, is shown read-only.
readingNote (configurable)NoteTimeseriesWritten only when a note is entered. Same timestamp as the readings.
enteredBy (configurable)Author nameTimeseriesFirst and last name of the logged-in user. Written when Record who entered the reading is on.
enteredById (follows the author key)Author idTimeseriesThingsBoard user id of the same user.
enteredAt (configurable)Save timeTimeseriesEpoch milliseconds when the entry was saved. Differs from the reading timestamp when the reading was back-dated.

Bind a device alias on the Data tab and add one key for each value people read by hand. Use time series keys for readings, since only they keep the time the reading was taken. A key the device has never reported can be typed into the key selector by name; its card shows “No earlier reading” until the first value is saved.

All time series values from one save are written in a single telemetry request at the reading timestamp, together with the note and the author keys. Attributes and entity fields follow in their own requests. If one of those fails, the form saves what it can, says which part was not saved and why, and keeps only the unsaved values for another try, so nothing is written twice. The user needs permission to write telemetry, attributes or the entity, depending on the keys used.

While the widget shows its built-in demo data, the form works but cannot save, because there is no device behind it.

How to customize

  • To set a range for a value — open the key’s settings and fill in Lowest expected value and Highest expected value. Readings outside the range are rejected with a message. The settings can’t be saved while the highest value is lower than the lowest.
  • To choose where attribute keys are written — set Attribute scope to Server attributes or Shared attributes. Shared attributes exist only on devices.
  • To make a value mandatory — turn on Required in the key’s settings.
  • To show a reading instruction — fill in Field hint in the key’s settings, for example “Read the black digits only”.
  • To accept text instead of a number — set Value type to Text in the key’s settings.
  • To always save with the current time — turn off Show the “Taken at” panel.
  • To change the quick time buttons — edit Quick “time ago” buttons (minutes), for example 10, 30, 120. Leave it empty for none.
  • To hide “Time ago” or “Manual time” — turn off Show “Time ago” or Show “Manual time”.
  • To limit how far back a reading can be dated — change Oldest reading that can be entered (hours). The same limit decides how long an unsent entry is kept.
  • To store the note, author or save time under your own keys — change Note key, Author key or Save time key. Leave Save time key empty to skip it.
  • To stop recording who entered the reading — turn off Record who entered the reading.
  • To go somewhere after saving — add an action to the After a reading is saved action source, for example to open the next device in a round.

Tips

  • Pair it with the Open Task List: if hour-meter readings are saved under the key your runtime-hours rule chain reads, a manual reading can raise the same “service due” task a connected machine would.
  • Keep the same key names your sensors use, such as temperature or level, so hand-entered values appear in your existing cards and charts alongside automatic readings.

Share Your Widget with the Community

Built a custom widget? Export it as a JSON from ThingsBoard and publish it to the IoT Hub through a simple 4-step wizard (Upload, Listing, Readme, Review & Submit). Share it with thousands of ThingsBoard developers worldwide and get featured in the catalog.