# Status LED

> A lamp, or the state written out, over a Bool point, an alarm or a point that reports a state code.

**Status LED** is the glance indicator: one point shown as a colored lamp, or as the
state's name written out in the integrator's own words. It is a *Display* component; a
new one occupies 3 × 1 cells. The indication takes the whole cell, centred — naming it
is a [Label](component-label) you place where you want it.

Bound to a plain point, the LED reads its truthiness. Bound to an alarm
(`Alarms.<name>`), the value read is the alarm's *active* state, and the LED **blinks**
while the alarm awaits acknowledgement — both while it is active unacknowledged and
during the cleared-but-unacknowledged latch.

## Data {#data}

| Field | What it does | Values | Default |
|---|---|---|---|
| Address | The rooted Logic address of the watched point: a Bool point, `Alarms.<name>`, or — once states are declared — the point reporting the state code. The suggestion list leads with Bool points. | Free text; suggestions from the live point list | empty |

## State {#state}

The section asks about the two sides of a flag *or* about a declared list of states,
never both: one of the two is in force, and the panel shows only that one.

### The two sides of a flag {#the-two-sides-of-a-flag}

| Field | What it does | Values | Default |
|---|---|---|---|
| Shows | The two drawings this kind has: a colored lamp, or the state's declared wording in its own color. | `A lamp` · `The state, written out` | `A lamp` |
| On | The named palette color while the point reads true. | `Green` · `Red` · `Yellow` · `Orange` · `Blue` · `Gray` | `Green` |
| Off | The color while the point reads false. | same palette | `Gray` |
| On text / Off text | What the written-out presentation says for each side. Explicit because the two sides of a state are your vocabulary — "Running", "Open", "Auto" — and no component can guess which pair a flag stands for. Only asked of the presentation that writes them. | Free text | `On` / `Off` |

The color palette is the LED's own fixed set, painted the same in the editor's pickers
and on the canvas; `Gray` is the neutral. What a color *means* is your convention — the
component reads none.

### Declared states {#declared-states}

A point reporting a code (stopped, starting, running, faulted) has more than two sides.
**Declare states** writes the two sides above down as the first two states and opens a
row to fill, so nothing already configured is authored twice. Each state is one card:

| Field | What it does | Values | Default |
|---|---|---|---|
| value | The code the point reports while the plant is in this state. Matched exactly — what lies between two codes is not a state. A flag reports 1 for its true side and 0 for the other. | Any number | empty (declares nothing until typed) |
| color | The state's palette color. | the same fixed palette | `Gray` |
| text | What the written-out presentation says while this state is in force; blank writes nothing. The widest declared word is what the written state reserves room for, so the word keeps one size as the plant moves between states. | Free text | empty |
| icon | Optional mark drawn *in place of the lamp* while this state is in force — picked from the app's icon library by name, searched by name or tag. Only the lamp presentation asks for one; a name the catalog does not carry draws no mark and leaves the lamp. `—` in the grid is the choice of no icon. | Catalog icon name | none |

The rows order themselves by their codes — the list read top-down is the state word
counting up — and a row with no code yet waits at the end. Removing every state hands
the indicator back to the two sides of a flag. A value no state claims is shown as it
came, never as the nearest state.

## What the indicator shows {#what-the-indicator-shows}

The lamp and the written state answer the same three situations, each in its own
vocabulary:

| Situation | Lamp | Written out |
|---|---|---|
| A state (or flag side) is in force | Solid lamp in the state's color; the state's icon replaces the lamp when one is named; the tooltip carries the state's word | The state's word, in the state's color |
| The point answered, but no declared state claims the reading | A solid neutral ring — not a state's color, which would claim a state the declaration does not have | The reading itself, written out (the number as the station writes one, or the raw answer for a non-numeric point) |
| The point fails to read | A hollow lamp | The gap dash `—` |

Only the third situation lights the shared bad-reading mark on the component (see the
[components page](components#addresses-and-live-readings)); good-quality silence hollows
the lamp without marking the component. Only a visible (readable) LED blinks.

Status LED is a display component: it commands nothing and never wears the lock mark.
The shared Appearance, Position and layer and Actions sections are described on the
[components page](components#the-shared-property-sections).
