Note
History capacity on a JACE
Histories are the part of a station nobody checks until somebody asks for last March. By then the answer is already decided by two properties set at engineering time.
- Histories
- JACE
- Station engineering
A new history extension collects nothing
Add a history extension to a point and it arrives disabled. Setting
Enabled to true is the whole of what is strictly required to start
collecting — which is exactly why the other properties get skipped.
The name collides by default
History Name defaults to %parent.name%. Every
SpaceTemp point under every air handler therefore wants to be the same
history. Qualify it with the equipment above:
%parent.parent.name%_%parent.name% →
AHU-1_SpaceTemp1
There is a checkable tell for getting this wrong. Expand History Config
and read the read-only Id: if it shows an error string rather than a
name, the History Name property is misconfigured. Check it on the first point of a
batch rather than on all of them afterwards.
Capacity, and the setting that silently stops collecting
| Property | Default | What it means for you |
|---|---|---|
| Capacity | Record Count: 500 | 500 or fewer is generally adequate on a controller because the records are archived to a Supervisor. Tridium's stated best practice is to hold about two days of data on a JACE. On a Supervisor a large number such as 250,000 is reasonable. |
| Full Policy | Roll | Roll overwrites the oldest record first, so the latest data always exists. Stop terminates recording when capacity is reached — the history stays present, stays green, and stops containing anything new. |
| Unlimited | — | Available, and not the wise choice even on a Supervisor. On a controller with a fixed flash budget it is how a station fills its own disk. |
Full Policy is the one to audit on an inherited station. A history
set to Stop raises nothing and looks identical to a healthy one. The
first evidence is a chart that flatlines on a date nobody can explain. Note also
that Full Policy does nothing at all when Capacity is Unlimited.
Changing the interval creates a new history
Histories with different intervals are not compatible, so changing
Interval splits a new history off from the original rather than editing
it. Decide the interval before the data matters. A trend re-rated a year in gives
you two datasets and a join, not a better trend.
Sizing it against the archive
Where records are archived to a relational database and queried back through the Archive History Provider, the local capacity is a cache decision rather than a retention decision. Two things pull in opposite directions: local histories answer a query faster than archived ones, and local storage on a controller is finite. Size the local capacity to cover the time ranges people actually ask for, and to remain useful on the day the archive source is down for maintenance.
System Tags on a history extension are worth setting while you are
there — they are the metadata that makes a selective import or export possible later
without hand-picking histories.
What to check on a station you did not build
- Any history whose Full Policy is Stop. Then look at when it last recorded.
- Duplicate or unqualified history names, which are the sign that the default name template was never changed.
- Capacity against the archive schedule. A controller holding two days of data and archiving weekly loses five days on every missed archive.
- Anything set to Unlimited on a controller, before the flash answers the question for you.
Related
Where this comes up in the work
Station engineering
Niagara station and controller setup end to end: platform commissioning, TLS, users and roles, BACnet and Modbus, tagging, histories, alarms, backups.
Workbench tooling
Custom Workbench views and tools for repetitive Niagara work: bulk renaming and retagging, station audits, provisioning helpers and module inventories.
More notes
Other things worth writing down
Which Niagara version to stamp a module for
A module's declared dependency version is a floor, not a pin. Build against the newest SDK you have and stamp for the oldest station it has to load on.
- Module development
- Mixed estates
- Build tooling
What a station checks before loading a module
Niagara's three module verification modes, what each one demands of your certificate, and why the setting cannot be relaxed from the command line.
- Module signing
- Certificates
- Deployment
Pure Java, or it will not run on a JACE
A controller is an ARM host with a fraction of a server's memory. Native libraries, JNI and heavyweight dependencies do not survive the move from a PC.
- JACE
- Controllers
- Module development
Next step
Tell us the version, the hardware, and what it has to do.
You will get a written scope and a fixed price against it. If the honest answer is that you do not need us, you will get that instead.