Skip to content

Tag states

Every value a tag delivers carries a quality. It stands as a word beside the value — on the tag page, in the tree row, and on every screen on the wall. The colour sits next to it, never alone.

Quality Means
Good the value is usable
Uncertain there is no usable value — not yet, or no longer
Unusable something went wrong; there is no value
No access you may not see this value

Uncertain and Unusable deliberately carry no value. That is the core of it: a source that fails does not leave an old number behind that looks fine — it leaves a state saying it failed. A value left standing would not be a display glitch in a plant.

No access is provided for in the contract so that later per-tag permissions remain an addition; this version never produces that state.

Uncertain is usually not a fault but an intermediate state:

  • The tag exists but has not been configured — no query written, no connector chosen, no script entered. The page says so: No connector chosen yet - the tag exists and its value stays uncertain.
  • A connector is set but no source has spoken yet.
  • A record tag points at a record type that holds no record yet — or at one with no fields.
  • A query parameter is neither bound nor supplied from outside.

Where the value says no value yet, nothing has ever arrived.

  • A script ran and threw an error.
  • A query tried to write — a query tag may only read.
  • A chain of tags is too deep or runs in a circle; TrakState stops and says so rather than looping.

When a tag computes from other tags — a query tag with bound parameters, a script tag with inputs — its result is composed by two fixed rules:

The quality is the worst of all input qualities. A result cannot be more reliable than the least reliable thing it is made from.

The timestamp is the oldest of all input timestamps. A derived value is only as fresh as its stalest input.

That is why a tile cannot show Good just because the arithmetic ran cleanly while one of its inputs has long been dead.

  1. Open the tag under Settings › Tags. The Source section says what is set and what is missing.
  2. Check the Bindings tab: does every parameter have a source?
  3. If it is a connector tag, check the Connection. Without one the page says No connection for this connector yet.
  4. If it is a query tag, use Try it out in the query editor. The dry run shows rows, duration and, on failure, the database’s own message in plain words.