At a glance
| Item | Typical answer |
|---|---|
| Problem | Utilities run in back rooms with local panels. Pressure drops, dryer faults and chiller trips are found when a production line complains, and the energy they use is invisible. |
| What is connected | Compressor controllers, dryers, the air header (pressure, flow, dew point), chillers and cooling towers, boilers, and an energy meter per large consumer, read by one licensed gateway per utility room. |
| Who uses it | The utilities or maintenance engineer, shift technicians, the energy manager and the plant manager. |
| Typical first scope | The compressor house: compressors, dryers, receiver and header instruments. |
| Time to first screen | Typically within a week of wiring the first gateway. Budget three to five weeks for a pilot whose specific power figure the team trusts. |
The situation
Compressed air, chilled water and steam are the utilities nobody notices until they fail. A compressor trips at 03:00, the standby does not start, header pressure sags and pneumatic machines on three lines start faulting. A desiccant dryer's purge valve sticks, the dew point rises and water reaches the paint shop. A chiller on a dirty condenser runs at high head pressure for weeks, using far more electricity than it should, until it trips on a hot afternoon.
Compressed air is also usually one of the largest electricity users of a plant, and much of it is lost: leaks that blow all weekend, a pressure setpoint raised years ago to hide a pipe bottleneck, compressors that run unloaded for hours. Most plants know this from an audit done years ago with temporary loggers. What they lack is the same picture every day.
Today the shift technician walks the utility rooms once per shift, reads panel displays into a log sheet and resets faults. The goal is continuous readings from every utility machine, alarms that reach the technician before production notices, and energy figures that show waste without a new audit.
Goals and measures
- Specific power of compressed air = compressor house kWh ÷ m³ of air delivered, over a day or a shift. Compare it only at similar demand; it rises at low load because unloaded running still draws power. Typical well-run values are in the range of 0.1 to 0.13 kWh/m³ at 7 bar; derive your own baseline in the pilot.
- Non-production air demand = average flow while production is stopped (a weekend, a night) ÷ average flow in production. A high ratio means leaks or equipment left on. Leak repairs show here as a step down.
- Pressure margin = average header pressure minus the lowest pressure the most demanding consumer needs. As a rule of thumb each bar of excess costs several percent of compressor energy; agree the figure with the compressor supplier.
- Load ratio per compressor = loaded hours ÷ run hours. A trim compressor at 30 % load ratio for weeks points to a control or sequencing problem.
- Dew point compliance = share of time the pressure dew point is below its limit, for example +3 °C for a refrigerated dryer or -40 °C for a desiccant dryer.
- Chiller efficiency = cooling delivered ÷ electrical input, with cooling kW = flow (m³/h) × ΔT (K) × 1.16 for water.
- Utility availability = time the utility met its pressure or temperature target ÷ planned production time.
Run-time, energy and flow totals come from counters read on the machines; Hermetry's increase aggregation turns them into daily and hourly figures, and the minute, hourly and daily aggregates give averages and extremes without extra calculation on site.
Architecture
Put one licensed gateway running Hermetry Edge in each utility room: the compressor house, the chiller plant and the boiler house. It reads controllers and instruments over Modbus RTU (RS485) or Modbus TCP, takes volt-free contacts and 4-20 mA signals on its own inputs where the model has them, and sends everything over MQTT with TLS on one outbound connection. Each machine appears as a child device of its gateway with its own profile, history and alarms. See Hermetry Edge and the licensed devices.
Older compressors without a communication port still give a lot through contacts: running, loaded, fault and remote enable, plus a current transformer for power if no meter is fitted. Chillers often have a building automation interface; one licensed gateway model reads BACnet, and many chillers also offer Modbus. Pressure at the far end of the network, where the critical consumer sits, can come from a LoRaWAN pressure sensor if a cable is impractical, provided its payload is in the codec library or you write a codec for it with the codec test bench.
| Component | Role | Notes |
|---|---|---|
| Licensed gateway with Edge | Reads controllers and instruments, publishes telemetry | One per utility room. Claimed by scanning its code; no credentials typed on site. |
| Compressor controllers | State, pressures, temperatures, hours, fault codes | Modbus where available; otherwise contacts and a current transformer. |
| Energy meters | kWh and kW per compressor or per compressor house | Modbus RTU on the same RS485 line. |
| Thermal mass or vortex flow meter | Delivered air flow and total | After the dryers on the main header, Modbus or 4-20 mA plus a pulse total. |
| Pressure and dew point transmitters | Header pressure, far-end pressure, dew point | 4-20 mA into the gateway or a local PLC. |
| Chiller and cooling tower controllers | Supply and return temperature, state, power, faults | Modbus or BACnet, depending on the controller and gateway model. |
| Boiler controller | Steam pressure, burner state, lockout, flue temperature | Modbus or contacts; the burner management system stays in charge. |
| Hermetry | Storage, alarms, rules, flows, boards, SCADA | EU, US or Türkiye region, or on your own servers. |
Licensed gateways sign in with an X.509 certificate from the platform's own authority. Plant networks usually route through IT; the gateway needs only an outbound connection, and the profile can restrict the networks devices may connect from.
Point list
A compressor house with three or four compressors, two dryers and a receiver, a chiller plant with two chillers and a cooling tower, and a boiler. Keys are per device type; every compressor uses the same keys. Register numbers come from each controller's manual.
| Point | Telemetry key | Unit | Source | Interval | Notes |
|---|---|---|---|---|---|
| Compressor state | state | code | Controller or contacts | on change + 60 s | 0 stopped, 1 unloaded, 2 loaded, 3 fault. Same codes on every model. |
| Compressor power | p_kw | kW | Energy meter or controller | 60 s | |
| Compressor energy | kwh | kWh | Energy meter | 15 min | Daily figures from increase. |
| Discharge pressure | discharge_bar | bar(g) | Controller | 60 s | |
| Element outlet temperature | outlet_temp_c | °C | Controller | 60 s | Rising values point to cooling or oil problems. |
| Run hours, loaded hours | run_h, loaded_h | h | Controller counters | 15 min | Load ratio and service planning. |
| Active fault code | fault_code | code | Controller | on change | 0 when healthy. Map codes to text in the runbook. |
| Header pressure | header_bar | bar(g) | Transmitter after dryers | 10 s | The value production feels. |
| Far-end pressure | far_end_bar | bar(g) | Transmitter at the critical consumer | 60 s | Header minus far end = network pressure drop. |
| Air flow | flow_m3min | m³/min | Flow meter | 30 s | State whether normal or free air conditions. |
| Air delivered, total | air_total_m3 | m³ | Flow meter totaliser | 15 min | |
| Compressor house energy | house_kwh | kWh | Feeder meter | 15 min | Includes dryers, the honest basis for specific power. |
| Pressure dew point | dewpoint_c | °C | Dew point transmitter per dryer | 60 s | |
| Filter pressure drop | filter_dp_bar | bar | Differential pressure transmitter | 5 min | Filter change trigger. |
| Chilled water supply, return | chw_supply_c, chw_return_c | °C | Chiller controller | 60 s | |
| Chilled water flow | chw_flow_m3h | m³/h | Flow meter | 60 s | Needed for cooling kW. |
| Chiller state and power | state, p_kw | code, kW | Chiller controller, meter | on change + 60 s | Same state codes idea as compressors. |
| Condenser water inlet | cond_in_c | °C | Chiller controller or sensor | 60 s | High values point to the cooling tower. |
| Cooling tower fan and basin | fan_on, basin_temp_c | bool, °C | Contacts, sensor | on change, 60 s | |
| Steam pressure | steam_bar | bar(g) | Boiler controller | 30 s | |
| Burner state, lockout | burner_on, lockout | bool | Burner management contacts | on change | |
| Flue gas temperature | flue_temp_c | °C | Boiler controller | 60 s | Rising values point to fouling. |
| Gas consumption | gas_m3 | m³ | Gas meter pulses or Modbus | 15 min |
Declare keys in each profile's Telemetry keys tab with label, unit, decimals and range. For state codes, record the meaning in the profile and use the same codes for compressors and chillers, so SCADA rules and charts read them the same way.
Asset model
- Plant (Site) with time zone,
production_calendarandutilities_engineer. - Utility building (Building) with
emergency_contact. - Compressor house, Chiller plant, Boiler house (Area) with design figures:
design_pressure_bar,min_pressure_bar,chw_setpoint_c,steam_setpoint_bar. - Compressor 1..n, Dryer, Chiller 1..n, Boiler (Machine) with
rated_kw,free_air_delivery_m3min,role(base, trim, standby),service_interval_h,next_service_h. - Production lines (Line), related to the utility areas with Feeds relations.
The Feeds relations from the compressor house and chiller plant to the production lines answer the first question a low-pressure alarm raises: which lines will be affected. Placement decides site status and which rules may act on a device. Per-machine limits such as next_service_h and the dew point limit go on the devices as server attributes, so one alarm rule fits every compressor and every dryer type.
Device setup
Profiles. One profile per device type and controller model: Compressor, Modbus controller, Compressor, contacts only, Air header, Desiccant dryer, Chiller, Cooling tower, Steam boiler, and one for each gateway. The profile holds keys, alarm rules, the online rule and, for the gateway, its command catalog. Use Recent message online rules with the heartbeat interval.
Provisioning. The electrician wires the gateway; the administrator claims it by scanning its code and places it on the utility area. Machines appear as child devices when the gateway first reports them; name them in the gateway configuration after the machine tag, such as C-03 or CH-01, and place them on their machine assets.
Settings and intervals. Remote device settings on licensed gateways expose serial parameters, the Modbus map per controller, polling intervals and input configuration. Build a baseline per utility room type, dry-run it, and apply it with a bulk job in waves when a plant group has several sites. Poll header pressure every 10 s, because pressure dips are short; most other values every 60 s; counters every 15 minutes. Send states on change plus a 60-second repeat. If the gateway model supports a deadband, set one on temperatures; otherwise an Only changes block with a dead band in the profile's root flow drops small moves before storage.
Derived values. In the air header profile's root flow, two Delta blocks on house_kwh and air_total_m3 and a short Script compute spec_kwh_m3 for each 15-minute reading and save it as telemetry with a Save telemetry block, so charts and rules use specific power directly. In the chiller profile the same pattern computes cooling_kw from flow and ΔT and cop from cooling and electrical power. Test each branch in the flow test runner; every deploy is a version you can roll back.
Time and buffering. Synchronise gateway clocks or let Hermetry stamp arrival. Licensed gateways buffer readings during link outages, within a capacity that depends on the model, and send them with original time stamps; alarm rules evaluate them as a backfill, marked Backfilled, without paging anyone. Firmware is signed and rolled out from the gateway profile in waves with a soak time; roll out outside production peaks.
Dashboards
| Board | Audience | Widgets and what they show |
|---|---|---|
| Utilities overview | Shift technicians, plant manager | State cards for each compressor, dryer, chiller and boiler; gauges for header pressure, chilled water supply and steam pressure with their ranges; alarm table of open utility alarms; activity feed of starts, stops and faults. Shown on a utility room screen through a read-only display link. |
| Compressed air | Utilities engineer, energy manager | Line chart of header and far-end pressure with flow on a second series over 48 hours; stat with trend of yesterday's specific power against the previous period; bar chart of daily kWh per compressor; heatmap of flow by hour and weekday, where weekend leaks stand out; table of load ratio per compressor. |
| Chilled water | Utilities engineer | Supply and return temperatures with condenser water inlet; COP per chiller as a line chart; stat of cooling delivered today; cooling tower fan state. |
| Steam | Utilities engineer | Steam pressure against setpoint; burner on and off history over the shift; flue temperature trend; daily gas use. |
| Maintenance | Maintenance planner | Progress cards of loaded hours against next_service_h per compressor; filter pressure drop per dryer; table of fault codes over 30 days, downloadable to Excel. |
Entity parameters let the compressed air board serve each plant of a group, and a click on a compressor's state card can open a machine page with that compressor as the parameter.
SCADA screens
Draw one process screen per utility room. The Process pack covers compressors, compressed-air dryers, receivers, blowers, boilers, plate exchangers, electric motors, variable-speed drives, control and relief valves, pressure regulators and flow meters. The Building pack adds air-cooled chillers, cooling towers, expansion vessels and circulator pumps. See the SCADA library.
- Compressor house: compressors to receiver to dryers to filters to header, with the flow meter and header pressure transmitter. Each compressor colours by
state(grey stopped, blue unloaded, green loaded, red fault) and printsp_kwanddischarge_bar. - Chiller plant: chillers, pumps and the cooling tower with supply and return pipes; temperatures printed on the pipes; a rule turns the supply pipe label red above setpoint plus two kelvin.
- Boiler house: boiler, feedwater, steam header; the burner symbol blinks red on
lockout. - Network: a simplified ring main drawing with the far-end pressure, so the pressure drop is visible at a glance.
- Reuse: attach each drawing as a view on the gateway profile; a plant group with identical compressor houses draws once. Match everything proposes bindings; clear the Problems tab before applying. A 3D view from the same drawing helps in technician training.
Rules and alarms
Alarm rules live on the profiles; machine-specific limits come from attributes.
| Alarm | Condition | Delay and hysteresis | Severity | Notified | Escalation |
|---|---|---|---|---|---|
| Header pressure low | header_bar < attribute min_pressure_bar + 0.3 (Major), < min_pressure_bar (Critical) | 30 s; hysteresis 0.2 bar | Major / Critical | Shift technician push; Critical also SMS to utilities engineer | Rise to Critical notifies again; reminder every 10 min |
| Compressor fault | state == 3 or fault_code != 0 | 2 samples | Major | Shift technician, push | Reminder every 30 min |
| High outlet temperature | outlet_temp_c > attribute max_outlet_c | 120 s; hysteresis 3 K | Minor | Maintenance, e-mail | None |
| Dew point high | dewpoint_c > attribute max_dewpoint_c | 600 s; hysteresis 2 K | Major | Utilities engineer, quality contact, push | Reminder every hour |
| Filter blocked | filter_dp_bar > 0.6 | 30 min | Warning | Maintenance, in-app | None |
| Chilled water warm | chw_supply_c > attribute chw_setpoint_c + 2 | 300 s; hysteresis 0.5 K | Major | Shift technician, push | Reminder every 30 min |
| Chiller trip | chiller state == 3 | 2 samples | Major | Shift technician, push | Reminder every 30 min |
| Boiler lockout | lockout == true | 10 s | Critical | Shift technician and utilities engineer, SMS | Reminder every 10 min |
| Gateway offline | Inactivity, 10 min | Major | Shift technician, push | Reminder every 30 min | |
| Service due | loaded_h >= attribute next_service_h | Info | Maintenance planner, e-mail | None | |
| Air used while closed | Rules card: flow_m3min above the leak limit and stays so 60 min, only in non-production hours | Warning | Energy manager, in-app | None |
An alarm opens after its debounce, is acknowledged by the technician who takes it and resolves by itself when the value returns. One open alarm per device and type counts repeats, so a compressor that trips five times a night shows one alarm with five occurrences. Write the first checks and the reset procedure into each rule's runbook text; a technician on nights reads it next to the alarm. Acknowledging needs the User role; manual resolve, mute and rule edits need Admin.
Low header pressure has consequences: a compressor fault, then low pressure, then faults on production machines. Keep the cause at Major, the pressure at Major and Critical with a short delay, and leave production-side consequences to the production systems. Use dampening on a pressure switch contact that chatters. Before planned maintenance on a compressor, mute that device for the work window; its alarms are recorded but nobody is paged, and the mute ends by itself (at most 90 days). Above 20 alarm notifications a minute, Hermetry gathers the rest into a five-minute digest.
The non-production air rule is time-dependent, so it lives in the compressor house's Rules card, with the window set from the plant's shift pattern. Its wait runs on a timer and fires even when no new reading arrives.
Automation and integrations
- Maintenance management: a signed
alarm.createdwebhook for Major and higher utility alarms opens a work order in the CMMS;alarm.clearedadds the closing time. The service-due Info alarm can feed the same system. - Energy reporting: daily
house_kwh,air_total_m3andspec_kwh_m3come out of history tables as Excel downloads, or through the REST API with a read-only API key usingagg=increase. - Leak campaigns: compare the non-production flow before and after a leak tagging round on the compressed air board with the previous-period comparison.
- Supervisory commands, optional: if the gateway model offers commands on its relay outputs, a catalog entry such as
air.weekend_enablecan switch the compressor sequencer's remote-enable input. Mark it critical with a typed confirmation; every high-impact command is written to the audit log. Commands to devices behind a gateway are in development, so wire such signals to the gateway itself. - Reporting: scheduled, e-mailed reports are not built in today; use tables and Excel.
Compressor sequencing, chiller staging and boiler control stay in their own controllers. Hermetry reports what they do and alerts people when they fail; switch a place to Manual on its Rules card when technicians take over, and every rule of that place stops until it is switched back.
Roles and access
| Who | Role or group | Can |
|---|---|---|
| Shift technician | User + IoT operator group | See every utility board, acknowledge alarms, switch a utility area to Manual. |
| Utilities engineer | Admin | Profiles, alarm rules, flows, rules, drawings, mutes, gateway firmware and settings. |
| Energy manager | User + IoT viewer group | Read energy boards and tables, download history. |
| Maintenance planner | User | Maintenance board and service alarms. |
| Compressor service company | User, policy limited to the compressor house devices | See compressors and their alarms during a service contract. |
| IT owner | Owner | Members, sign-in policy, single sign-on. |
Attribute-based policies limit the service company to its own machines, and the policy can be removed when the contract ends. The audit log records sign-ins, rule and profile edits, mutes, setting jobs and high-impact commands in a hash chain that can be verified and exported.
Sizing and data
As an order of magnitude, for one plant with four compressors, two dryers, an air header, two chillers, a cooling tower and two boilers, one message per device per reading:
- Compressors and chillers: 6 devices × 1,440 = 8,640 messages a day.
- Air header every 10 s, because of fast pressure dips: 8,640 a day.
- Dryers, cooling tower and boilers at 60 s: 5 × 1,440 = 7,200 a day.
- About 24,500 messages a day, roughly 735,000 a month per plant; for a group of five plants about 3.7 million a month. Telemetry and attribute messages count toward the allowance; alarms and commands do not.
- Values: about 8 keys per message gives some 200,000 values a day per plant, around 70 million a year. Sending header pressure every 30 s and only flow and dew point every minute cuts the header share by two thirds.
Ten-second header pressure is the heaviest series. Retention is one class for the organisation, not per series: raw readings are kept for 7 to 90 days depending on the class, minute aggregates (minimum and maximum, which still show every dip) for up to 31 days, and hourly and daily aggregates for the full class, which carry counters and energy over one or three years. Storage per value depends on the deployment, so confirm the estimate with us. Per-device rate limits (10 messages a second, 300 a minute) leave wide margins here.
Rollout plan
| Phase | Weeks | Work | Exit criteria |
|---|---|---|---|
| 0. Survey | 1-2 | List controllers, ports, register maps, existing meters and missing instruments (flow, dew point, far-end pressure). Agree state codes and alarm limits. | Signed point list per device type; instrument purchase list. |
| 1. Compressor house | 3-6 | Gateway, compressors, dryers, header instruments, compressed air board and drawing, alarm rules, specific power flow. | Two weeks of data; specific power baseline agreed; every alarm tested; technicians use the board on shift. |
| 2. Chillers and boilers | 7-10 | Chiller plant and boiler house gateways, their drawings and boards, COP flow. | Values checked against controller displays; trip and lockout alarms tested. |
| 3. Integration | 11-12 | CMMS webhooks, maintenance board, leak campaign baseline. | Work orders created from alarms end to end. |
| 4. Other plants | From 13 | Copy profiles, baselines and drawings to the next plant. | Each plant live within two to three weeks of wiring. |
Commissioning checklist
- Each gateway claimed, on its profile, placed on its utility area; every machine appears as a child device with its tag name.
- Compressor
statechecked in all four states with the technician: stopped, unloaded, loaded, fault (simulated where the controller allows). - Header pressure compared with a calibrated gauge at two pressures; flow meter totals compared with the meter display.
- Dew point value compared with the dryer display; units checked (°C pressure dew point, not atmospheric).
spec_kwh_m3andcopchecked by hand for one 15-minute period.- Each alarm forced once: header low by raising the low limit attribute temporarily, a compressor fault, a boiler lockout simulated with the burner supplier. Notifications reach the right people; acknowledgement and clearing work.
- Gateway uplink unplugged for 20 minutes: offline alarm opens; buffered readings fill the gap.
- Time stamps line up with the plant's time zone on charts.
- Drawings bound with nothing in the Problems tab; runbook texts filled in.
Pitfalls
- Specific power without the dryers. Measuring compressors only flatters the figure; use the compressor house feeder or add dryer meters.
- Flow in mixed conditions. Some meters report normal, others free air delivery. Agree one and label it in the profile.
- Pressure at the wrong place. A header transmitter before the dryers hides their pressure drop; measure after the dryers and at the far end.
- Slow polling of pressure. A one-minute average hides the dips that trip machines. Poll fast and look at minute minimums.
- Different state codes per model. Map every controller to the same codes in the gateway, not in each SCADA rule.
- Alarming every consequence. A compressor trip followed by low pressure should page once with a clear cause, not ten times.
What Hermetry does not replace
Hermetry monitors utilities and alerts people; it does not run them. Compressor sequencing, dryer control, chiller staging, burner management and every safety device (relief valves, pressure switches, flame safeguards, boiler water level limiters) stay in their own controllers and hard-wired circuits, and must keep working when the link or the platform is unavailable. Pressure vessel inspections and statutory boiler records stay where your regulations require them.

