Notes
Niagara engineering notes
Answers to the narrow questions that cost a day each and are written down almost nowhere. No product pitch in them — if a note saves you hiring anyone, it has done its job.
Modules and deployment
Building something that installs, runs and keeps running on a controller.
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
Commissioning a JACE-8000 without locking yourself out
The factory address, the passphrase and the account you are made to delete — the commissioning steps that strand a new controller.
- JACE
- Commissioning
- Deployment
Platform or station: two connections, two sets of logins
Two processes, two Java VMs, two logins and two file trees — and most “it works in Workbench but not the browser” starts here.
- Platform
- Station engineering
- Workbench
How to build and load a custom Niagara 4 module
What a Niagara module actually is on disk, the two ways to build one, and the three Software Manager refusals that actually mean something.
- Module development
- Build tooling
- Deployment
What Java 25 does to Niagara's module permission model
Niagara's module permission model is built on Java's Security Manager. On a Java 25 JVM it cannot be installed, so the checks stop happening.
- Module development
- Station security
- Migration
BAS or BMS: where a Niagara station actually fits
BAS and BMS mostly mean the same thing. The distinction worth tracking is single-vendor versus open — and where a Niagara station sits either way.
- Building automation
- BMS integration
- Terminology
Drivers and field buses
Getting values off equipment, and why the values you get are wrong or late.
BACnet MS/TP on a JACE
Baud, MAC address, Max Master and Max Info Frames. Four settings on one Link component decide whether an RS-485 trunk works, crawls or drops the token.
- BACnet
- MS/TP
- Commissioning
Why a Modbus point reads the wrong register
Modbus decimal addressing is zero-based, vendor documentation is not, and the Address Format property decides which of the two you are typing.
- Modbus
- Integration
- Station engineering
Why a station polls too slowly
Slow, Normal and Fast are three numbers you choose, and one default tuning policy applied to every point is the usual reason a station feels sluggish.
- Station engineering
- Performance
- BACnet
A JACE-8000 has no onboard I/O: using the Nrio driver
Remote IO-R modules on RS-485, one network per port, and the conversion list Workbench will happily let you get wrong.
- JACE
- Drivers
- Commissioning
Station engineering
The work between a working driver and a station somebody else can maintain.
Why a writable point ignores the value you set
Sixteen priority inputs, two of them reserved for right-click actions, a fallback underneath, and a BACnet scheme wired to none of it.
- Station engineering
- BACnet
- Commissioning
Renaming and tagging points in bulk
Point names arrive from the field device and there is no standard. What to use to select, rename and tag in bulk — and what a rename quietly breaks.
- Bulk engineering
- Tagging
- Workbench
Tags, dictionaries and the licence you need
Tagging is how a station describes itself to software that did not engineer it. Three kinds of tag, one namespace, and a licence feature that gates it.
- Tagging
- Data modelling
- Haystack
A navigation tree that builds itself
Hierarchies generate the nav tree from tags and NEQL queries instead of hand-placed nodes — and the cache hides your edits until you rebuild it.
- Hierarchies
- Tagging
- Station engineering
Templates: build the AHU once, deploy it fifty times
Component, application and station templates do different jobs — and only one of them supports bulk deployment from a spreadsheet and upgrade in place.
- Templates
- Bulk engineering
- Station engineering
One PX sheet for every AHU
The Px editor binds absolutely by default, which is why a graphic works for AHU-01 and nothing else. Relativised, one sheet serves the whole plant.
- PX graphics
- Standard sheets
- Reuse
Conversion links: what a mismatched wire really does
Link a boolean to a numeric and Niagara inserts a converter with its own properties. Here is what each one assumes on your behalf.
- Station engineering
- Wire sheet
- Workbench
Data, alarms and time
What the station records, who it tells, and when it decides to act.
Getting data out of a Niagara station
REST, MQTT, a relational history database, file export or an HTTP client. Which suits which consumer, and what each one costs you to run.
- Integration
- Histories
- MQTT
What the Niagara MQTT driver will and will not do
It is licensed, it is capped below your licence, it is a client only, and its Discover button never contacts the broker.
- Integration
- MQTT
- Drivers
Bringing LoRaWAN and MQTT data into a Niagara station
Where abstractMqttDriver and jsonToolkit stop, and what LoRaWAN decoding, topic design, and store-and-forward buffering add on top.
- Integration
- LoRaWAN
- MQTT
History capacity on a JACE
The default capacity is 500 records, the default name collides, and one setting decides whether a full history overwrites data or stops collecting.
- Histories
- JACE
- Station engineering
Why an alarm never reached anybody
Detection, class and recipient are three separate objects in a Niagara station. An alarm goes missing wherever the chain between them is not linked.
- Alarms
- Station engineering
- Commissioning
Niagara schedules: special events and master copies
Special event priority is list order, a partly-filled special event falls back to the weekly schedule, and an imported schedule cannot be edited locally.
- Scheduling
- Station engineering
- Commissioning
Running an estate
Doing the same thing to fifty stations, and moving them forward a version.
Scheduled station backups, and the gap
A Supervisor can back up every station in its Niagara Network on a schedule. The station it does not cover that way is its own.
- Backups
- Provisioning
- Supervisor
Doing one thing to fifty stations at once
Provisioning runs platform tasks across a whole NiagaraNetwork from one Supervisor connection — and the obvious backup action is the wrong one.
- Provisioning
- Estate management
- Supervisor
What actually blocks an AX to N4 migration
A station cannot migrate until every module it uses has been refactored for Niagara 4 — and licences, users and permissions all change shape on the way.
- Migration
- Estate management
- Module development
What happens to third-party modules moving from N4 to N5
A module with no Niagara 5 build can stop the migrator outright, and one that has a build can still fail to load. What breaks, and why.
- Migration
- Estate management
- Module development
What a static Niagara 5 module scan actually finds
Reading a module's bytecode against Java 25 gives a per-module answer. What it finds, what it cannot tell you, and the false alarms it avoids.
- Migration
- Module development
- Estate management
JACE-8000 to JACE-9000: what the licence transfer does and does not do
The JACE 8000 to 9000 licence transfer, step by step: what it requires, what it does not include, and which parts cannot be undone.
- JACE
- Migration
- Licensing
Security and access
Who can reach the station, and what they can do once they are in.
The certificate on a new JACE
Every station starts with a self-signed certificate it generated itself. What that is good for, what it is not, and what breaks on the day it expires.
- TLS
- Certificates
- Commissioning
Roles, categories and the grid between them
Niagara permissions are a grid of category against level — which is why a user can log in successfully and still be told they have no access.
- Station security
- Permissions
- Commissioning
Authentication schemes: each Niagara user picks one
A station can run several login mechanisms at once, and the choice is made per user, not per station. What each scheme is actually for.
- Station security
- Permissions
- Station engineering
Why these exist
Written from the framework, not from memory
Every claim here is checkable against a stock Niagara installation — the documentation modules, the default properties, the shipped drivers — or is flagged as an opinion. Where the honest answer is "it depends", the note says what it depends on instead of picking a side.
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.