A rule changes how a symbol or a connection looks while a condition holds: turn a tank amber when it runs low, blink a pump in alarm, hide a standby unit, print “High: 92 %”. Rules live in the drawing, on the inspector’s Rules tab, so every device that uses the drawing gets them. A drawing holds up to 200 rules.
“A rule reads a value of a symbol. Which device sends that value is chosen on the device’s or the site’s Views once the drawing is saved, not here.”
Add a rule
- Open the drawing in the designer and select a symbol (or nothing, for a rule on every symbol).
- Open the Rules tab and select Add rule.
- Set Applies to, When and Then (below).
- Watch Matching now / Not matching: whether the rule holds for the live data right now. Use the What-if tab to try other values.
- Save the drawing.
Each rule reads back in words, for example “For pump1: When Reading of this symbol is above 80, set the state to warning, show ‘High: {value}’”.
Applies to
| Target | Means |
|---|---|
| A symbol | That symbol, by its id |
| A connection | A connection by its State from row id |
| A thing from data | A thing by its id |
| Every symbol and connection (*) | All of them |
things:* | Every thing placed from data |
When
A rule has up to two conditions, joined by And (all hold) or Or (one holds), or Always (no condition).
A condition Reads either:
- A value of a symbol: This symbol or another one (Of symbol), and Which value: Reading, Second reading, Running, Status, Opening, Speed, Direction, Warning, Critical, Name, Capacity, Mode, Data quality, Alarm acknowledged, Command pending, Command failed, or Another value (advanced)… by its name in the data; or
- A board parameter.
Comparisons (Is): equal to, not equal to, greater than, greater than or equal to, less than, less than or equal to, between (inclusive), one of (a list, separated by commas), set, not set, true / on, false / off.
Then
| Effect | Values |
|---|---|
| State | No change, Idle, Running, Warning, Critical, Off (passive, nothing flowing) |
| Colour | Colours the symbol: its body takes a tint, its outline and lit parts the colour itself |
| Liquid colour | The fill of a tank or vessel |
| Passive look | Dim it |
| Blink | Not when the viewer asks for reduced motion or the animation is off |
| Hide | Connections that touch a hidden symbol still draw |
| Name | A label of up to 80 characters, with tokens (below) |
| Medium | What flows: cold, hot, water or a colour of your own |
| Motion | Stop it or Leave it on |
| Mode | Automatic, Manual (M badge), Local (L badge), In maintenance (wrench), Locked out (padlock), Simulated (S badge) |
| Data quality | Good, Stale (clock, dimmed), Bad or uncertain (?, dimmed), Lost (cross, faded) |
| Speed (% of nominal) | 0 to 400. “0 stands still and keeps its colour; a negative number runs in reverse.” |
| Direction | Forward or Reverse |
| Alarm acknowledged | No (pulses until someone acknowledges) or Yes (steady) |
| Opening (%) | A bar along the bottom of a valve, damper, door or blind |
| Command pending, Command failed | A spinner, or a red mark, in the bottom right corner |
| Move right by, Move down by | Scene units, -4,000 to 4,000 |
| Size (times its own) | 0.2 to 4 |
| Turn to | A quarter turn |
| Draw as | Another symbol in the same place. A symbol of a library you do not hold draws a placeholder. |
Tokens in a name
| Token | Prints |
|---|---|
{value}, {value2} | The reading and the second reading, with their unit |
{condition} | What the rule’s condition reads (an on/off reading prints On or Off) |
{label}, {id} | The symbol’s name and id |
{param:name} | A board parameter |
Order
“Rules run top to bottom; every rule that matches applies, a later rule wins for the same change, and “Stop” ends the rules for that target.” Use Move up and Move down to order them. Stop here means “No later rule applies to this target once this one matched.”
The Problems tab warns about rules that can never show, for example “Rule 4 overrides the colour that rule 2 sets whenever both apply, so rule 2 never shows it”, “Rule 5 never applies: rule 3 always stops pump1 first” and “Rule 2 reads the column flow, which the table does not have, so that condition can never hold”.
Examples
Low level in a tank (target tank1):
| When | Then |
|---|---|
| Reading of this symbol is less than 20 | State Warning, Name Low: {value} |
| Reading of this symbol is less than 5 | State Critical, Blink Yes, Name Empty: {value} |
The second rule comes later, so it wins when both match.
Show a pump in manual (target *): When Mode of this symbol is equal to manual, Mode Manual (M badge).
Hide the standby unit (target pump2): When the board parameter duty is equal to pump1, Hide Yes.
Closed valve (target valve3): When Running of this symbol is false / off, Opening (%) 0 and Colour grey. To show the real opening, connect the valve’s Opening field to the device value on the Views instead.
Old data everywhere (target *, first rule): When Data quality of this symbol is equal to stale, Data quality Stale (clock, dimmed), Stop here.
Rules on 3D views
3D views made from a drawing carry its rules over where they can. A Design, live (3D) card has its own rules too; a rule’s name shows only while Names in the scene is on (“A rule sets a label: turn Labels on in the card settings to show it.”).

