Automation rules

Wire up and label a whole piece of equipment on a page in one step, from your tag naming convention.

Building a page by hand means, for every symbol, finding the process value, finding the set point, attaching the running and manual tags, adding the alarms, and placing and styling a label for each — a dozen small steps per symbol, repeated hundreds of times, and easy to get subtly inconsistent.

Automation rules do that from your tag naming convention instead. If your tags are named like AHU01_SF01_PV, AHU01_SF01_SP, AHU01_SF01_M, then “everything about supply fan 1” is already expressed in the names — the rule teaches THMI to read it. You then drop a fan symbol on a page, point it at AHU01_SF01, and everything is attached and labeled at once.

The two levels

Automation rules are configured under Automation rules in the project, and there are two levels to them:

  1. Project-wide label settings — how automation labels look and how names are turned into label text, for the whole project.
  2. Rules — the named rule sets that recognize suffixes and decide what to do with each one. A page element is bound to one rule.

A rule can override the project settings where it needs to, so the project level is the house style and the rules are the exceptions.

Project-wide label settings

Label appearance

How every automation-created label is drawn, unless a rule overrides it:

SettingWhat it does
Font familyArial, Courier New, Times New Roman, Verdana, or Roboto.
Font sizeThe label’s size.
Font styleAny combination of bold, italic, and underline.
PositionWhere the label sits relative to its symbol — top, bottom, left, or right.
FillThe label’s color.
AutoscaleScale the label with the symbol, so it stays proportionate when you resize.

System name labels and custom name labels

A tag’s full name is rarely what you want printed on a diagram — AHU01_SF01_TE01_PV is precise but unreadable at a glance. These two sections turn a name into label text, separately for system names and custom names, because the two usually follow different conventions:

SettingWhat it does
DelimiterThe single character that separates the parts of a name. Defaults to _. Left empty, _ is used.
Delimiter transformThe character to replace the delimiter with in the finished label. Left empty, the delimiter is kept as it is.
Trim amountHow many leading parts to drop, counting from the left.

The suffix is always removed, whatever you set here — that’s what identifies the tag’s role, not part of its name. A live Preview under the fields shows the result on a sample name, so you can dial these in without guessing.

Working through MODULE_C1_C2_C3_C4_SUFFIX with delimiter _:

Delimiter transformTrim amountResult
-0MODULE-C1-C2-C3-C4
(empty)0MODULE_C1_C2_C3_C4
-2C2-C3-C4

Trim is how you strip a prefix everyone on site already knows — if every tag on a page starts with the same building and system code, trimming two parts leaves just the part that distinguishes one component from the next.

Rules

A rule is a named set of suffix rules. Each suffix rule says: when a tag or alarm under the chosen path ends in one of these suffixes, do this with it.

Give a rule a name and a description, then add its suffix rules. Each has:

  • Suffix — one or more suffixes this rule matches. Several suffixes on one rule is normal: V and VALUE for the same role, say. As you type, suffixes already used elsewhere in the rule are suggested, so a set stays consistent.
  • Source — whether the suffix identifies a Tag or an Alarm.
  • Action — what to do with what it matched.

Actions

The available actions depend on the source. With source Alarm, the only action is Attach as alarm. With source Tag, everything else is available:

ActionWhat it does
Attach as process valueThe measured value — attached, and given a label.
Attach as set pointThe target value — attached, and given a label.
Attach to value propertyBinds the tag to the symbol’s value.
Attach to running propertyBinds the tag to the symbol’s enabled state, so the symbol fills in when it runs.
Attach to manual propertyBinds the tag to the symbol’s manual state.
Attach to change valueMakes the matched tags writable from the symbol — a click action that changes a value.
Add to trendMarks the tag as trendable so it’s collected for trends.
Attach as alarm(source Alarm) Attaches the alarm, so its indicator lights up on the symbol.

Attach to change value works differently from the rest: it’s a collector. Its suffix list is normally made up of suffixes other rules have already matched, and it gathers those into the symbol’s change-value action in the order you list them. So V, PV, M on a change-value rule makes those three writable from the symbol, in that order. A suffix that appears only on the change-value rule still resolves on its own.

Per-rule overrides

Each rule can override the project label settings:

  • Override label transform — on the rule’s System names and Custom names sections, replace the project’s delimiter, delimiter transform, and trim amount for this rule only.
  • Override label appearance — on a suffix rule, replace the project’s font, size, style, position, fill, and autoscale. This is only offered for Attach as process value and Attach as set point, since those are the actions that produce a label.

Use overrides sparingly. The reason automation rules produce a consistent-looking page is that most things inherit the project style.

Using a rule on a page

Rules do nothing until an element on a page is bound to one. In the page editor, select a symbol (or a text element) and open the Automation section of the Properties panel.

Binding

Choose Bind to open Select automation path, which asks for two things:

  1. Rule — which rule to apply. It determines how suffixes are handled and how labels are shown.
  2. Path — where in the project’s tags to look. Browse down from All to the folder holding the component’s tags. The browser shows how many Suffixes each path matches under the chosen rule, so you can see at a glance whether you’re at the right level before committing.

Choose the rule first — the path browser stays empty until you do, because what counts as a match depends on the rule.

Confirming applies every suffix rule at once: tags are attached to the symbol’s properties, alarms are attached, labels are created and styled, and trendable tags are marked. The Automation section then shows the bound path and a link to the rule it used.

Symbols support every action. A text element supports the subset that makes sense for it: add to trend, attach to change value, attach as process value, and attach as set point.

Unbinding and rebinding

Once bound, an element remembers the connection, which lets you edit it and put it back. This works at two levels.

The whole element. The Automation section shows the bound path with a Remove button beside it. Removing detaches the element from its rule and keeps whatever is currently on it — do that when a symbol needs hand-tuning the rule doesn’t allow for.

One property at a time. Each individual thing the rule filled in — a state field, a click action, a label — carries its own small Unbind / Rebind toggle. Unbind that one property to take manual control of it while everything else on the symbol stays rule-driven; rebind it to throw your change away and take the rule’s value back. This is the finer instrument, and usually the one you want: you rarely need to detach a whole pump just to override its label.

For a whole page at once, use Tools → Automation in the menu bar:

  • Rebind all — rebind every automation-bound object on the page.
  • Rebind selected — rebind only what’s selected.
  • View rules — jump to the project’s rules.

A rebind confirms first and tells you how many objects it will affect. Afterwards you’re told how many were rebound, and how many were skipped because their rule could no longer be resolved — a rule that’s since been deleted, for instance. If there’s nothing automation-bound to act on, you get a message saying so instead of the confirmation dialog.