Skip to content

Work

Live demos, running in your browser

These are not screenshots and not videos. Each demo below is the actual widget source that would run on a station, loaded by a minimal AMD loader, talking to a simulated station that resolves ORDs and pushes changing values. Interact with them.

  • Unmodified widget source
  • Simulated ORD resolution
  • Live subscriptions
  • Writable points

What is real and what is not. The widget code, the config files, the ORD strings and the rendering are exactly what a station would run. The station is a simulator: point values are generated by a small physical model in your browser rather than read from real plant, because publishing a live connection to somebody's building would be a poor idea. Nothing here is a client site.

Plant dashboard — AHU-01

Supply and return air temperature, fan power, zone CO₂, a fan-speed dial, a demand chart, a writable zone set point, plant commands and the alarm queue. Twelve tiles, each bound to its own station ORD — and the values are moving because a simulated station is pushing them. Move the set point and the plant responds.

Simulated station · live Open full screen

Building summary

The same discipline at building level, light theme: KPI tiles for demand, chilled water and LTHW, plant monitoring, and an equipment table carrying fault and warning states. Toggle the theme — every component re-points from the token layer without one of them being touched.

Simulated station · live Open full screen

Navigation rail

Site, building and floor navigation. Collapse it and it becomes an icon rail with flyout menus, so a tight PX viewport or a phone still gives the graphics the full width. Click through the sections.

Simulated station · live Open full screen

Under the hood

How the demos work

The widget's own source runs here unmodified. If it needed rewriting to run in a page like this, running here would prove nothing.

The same source

Niagara's HTML5 profile serves a PX view by creating a DOM element per WebWidget and handing it to the AMD module named by the widget's js ORD. The demo does exactly that, with the widget's rc/*.js and rc/*.css untouched.

A simulated station

A stand-in for baja resolves station:|slot:/… ORDs against an in-browser model of an air handling unit — supply and return temperature, fan speed, valve position, zone CO₂ — integrated on a tick, so values move the way plant moves rather than jittering randomly.

Real subscriptions

The simulator implements the subscriber contract the widgets use, so a changing point pushes into the widget through the same path a station would use. Writes work too: move a set point and the model responds.

Stills

The same widgets, captured

For anyone who would rather not run JavaScript, and for print.

Building summary dashboard in a dark theme: a floor selector open on the left, full ORD paths under each KPI tile, and a chilled and heating water schematic with a live reading on every symbol.
Commissioning mode. Full ORD paths surfaced under each tile, so the engineer commissioning the job can see exactly what each value is bound to.
Building summary dashboard with a navigation flyout and a rail tooltip open, beside a plant schematic showing chiller, pump and coil readings.
Schematic and callouts. A drawn plant schematic with a bound reading on every symbol, and contextual detail without leaving the view.
The AHU dashboard rendered on a phone, with cards stacked vertically and navigation collapsed to an icon rail.
Same widgets, phone. One responsive component set rather than a separate mobile view to maintain.
Dark-themed Niagara AHU dashboard showing supply and return air temperature, fan power, zone CO2, a fan-speed dial, a 12-hour demand chart, a set point slider, plant command toggles and an active alarm list.
Plant dashboard. The desktop view at full width.

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.