New: the AI firewall watches every module and explains each incident in plain words. See how it works

HVAC and energy overview across a building portfolio

A blueprint for reading plant, meters and rooms from many buildings into one platform: point list, asset tree, out-of-hours rules, plant screens, sizing and rollout.

At a glance

ItemTypical answer
ProblemA portfolio of buildings runs on several building management systems that each work locally, so plant running out of hours, heating and cooling fighting each other and uncomfortable rooms stay invisible to the people who pay the energy bills.
What is connectedMain and sub-meters, air handling units, chillers, boilers, heat pumps, outdoor temperature and a sample of rooms, read from the existing BMS or plant controllers by a licensed gateway per building, plus wireless room sensors where there is no BMS.
Who uses itThe portfolio energy manager, building facility managers, the HVAC maintenance contractor and, for comfort views, building tenants.
Typical first scopeThree buildings of different types (for example an office, a school and a retail unit) with their main meters, central plant and ten to twenty sample rooms each.
Time to first screenTypically one to two weeks per building once the BMS integrator has exported the point list. Budget six to eight weeks for a pilot whose findings the site teams accept.
Estimates; the state of the BMS documentation decides most of the effort.

The situation

Most portfolios grew building by building, each with the BMS its contractor preferred, its own workstation, alarm list and idea of a schedule. The facility manager sees one building well; the energy manager responsible for twenty sees a monthly invoice.

The waste is rarely dramatic and always persistent. An air handler left in hand after a weekend event runs for months. A summer schedule is never switched back. A boiler heats a circuit while a chiller cools the same floor. Night baseload creeps up. Comfort complaints arrive by e-mail with no data behind them.

A yearly audit and a spreadsheet of meter readings do not show what the plant did yesterday at 3 a.m. The aim here is to lay one supervisory layer across every building without replacing any BMS: read the points that matter, keep the history in one place, and turn the known failure patterns into rules that tell the right person.

Goals and measures

Write the measures down before choosing points; each one names the points it needs. Typical measures for a mixed portfolio:

  • Energy use intensity = annual kWh (electricity plus heat, kept separate) ÷ the building's conditioned floor area. The area is an attribute on the building asset; the annual sum comes from the meters' daily increase.
  • Baseload ratio = average power between 01:00 and 04:00 ÷ average power on weekdays between 10:00 and 16:00. A ratio drifting upward means equipment that no longer switches off.
  • Out-of-hours run time per air handler and per chiller = hours running outside the occupancy window. With states sent as 0 or 1, each hourly average is the fraction of that hour the unit ran.
  • Simultaneous heating and cooling = hours in which a heating source and a cooling source serving the same zone both ran.
  • Comfort compliance = share of occupied hours in which a room stayed inside its band (for example 20 to 24 °C in winter; agree bands with the owner).
  • Chilled water delta-T = return minus supply temperature at the chiller. A low delta-T points to bypassing valves.

Hermetry stores one-minute aggregates (sum, count, minimum, maximum, last) of every key and rolls them up to hours and days, and dashboard cards can ask for the increase of a meter total per bucket. Daily energy and hourly run fractions therefore need no extra calculation in the field. Do weather normalisation on the exported history.

Architecture

Each building gets one licensed gateway in the plant room or the BMS panel. It reads what the building already has and publishes over MQTT with TLS on one outbound connection; the BMS network accepts nothing from the internet. See Hermetry Edge and the licensed devices for interfaces per model.

Where the data comes from

  • Modbus first. Energy meters, heat meters with a Modbus output, chiller and boiler controllers and many BMS supervisors offer Modbus RTU or Modbus TCP. The gateway reads them as configured register lists.
  • BACnet building systems. One licensed gateway model, the DC620 DUAL BACnet, is built for BACnet building systems. Confirm with us which objects and how many points it reads for your BMS before planning on it. BACnet on the general-purpose Edge routers is in development.
  • A BMS that publishes on its own. A supervisor that can publish MQTT or post HTTP connects straight to Hermetry with an access token or user name and password.
  • Buildings without a BMS, or rooms the BMS does not cover. Battery LoRaWAN room sensors (temperature, humidity, CO2, door contacts, water leak) report through a LoRaWAN gateway on Hermetry's own LoRaWAN network server. A LoRaWAN pulse reader on a meter's pulse output covers meters without a bus.
ComponentRoleNotes
Licensed gateway with EdgeReads meters and plant over Modbus, publishes telemetryOne per building. Factory identity, claimed into your organisation; buffers readings during an outage, how much depends on the model.
Existing BMS and plant controllersKeep controlling the buildingRead-only in the first phases. Schedules, interlocks and loops stay here.
Electricity, heat and gas metersEnergy per building and per major loadModbus RTU on the gateway's RS485 line, or a LoRaWAN pulse reader.
LoRaWAN room sensors and gatewayComfort and air quality in sample roomsEU868, OTAA, class A. The gateway speaks LoRa Basics Station.
HermetryHistory, alarms, rules, boards, plant drawingsEU, US or Türkiye region, or on your own servers.

When one gateway reads several controllers, it can report each as a child device of itself (for example AHU-1, AHU-2, Chiller-1), each with its own profile, readings and alarms, over the one connection. Commands and shared attributes to child devices are in development, which is one more reason to start read-only.

Point list

A typical medium office with two air handlers, one air-cooled chiller, two boilers, a main meter and sub-meters. Register numbers are illustrations; take them from the BMS or controller documentation. Send states as 0 or 1 numbers rather than text, so hourly averages give run fractions.

PointTelemetry keyUnitSourceIntervalNotes
AHU run stateahu_run0/1BMS or AHU controller, Modbus coil or registeron change + 15 minOne child device per AHU.
AHU in handahu_hand0/1Controller mode registeron changeCatches overrides left on.
Supply air temperaturesupply_air_c°CController, e.g. holding register 301015 min
Supply fan speedfan_speed_pct%Drive or controller5 min
Heating valve positionheat_valve_pct%Controller output5 minValve and cooling coil both open = fighting.
Cooling valve positioncool_valve_pct%Controller output5 min
Filter differential pressurefilter_dp_paPaPressure switch or transducer15 minLimit per AHU as an attribute.
AHU faultahu_fault0/1Common fault pointon change
Chiller run statechiller_run0/1Chiller controlleron change + 15 min
Chilled water supplychw_supply_c°CChiller controller5 min
Chilled water returnchw_return_c°CChiller controller5 minDelta-T from the two.
Chiller faultchiller_fault0/1Chiller controlleron change
Boiler run stateboiler_run0/1Boiler controller or flame relayon change + 15 minOne per boiler.
Main electricity energyelec_kwhkWhMain meter, Modbus RTU15 minDaily use from the increase.
Main electricity powerelec_kwkWMain meter1 minFor baseload and peaks.
Sub-meter energy (HVAC, lighting, tenant)sub_kwhkWhSub-meters, one child device each15 minSame key on every sub-meter; the device says which load.
Heat energyheat_kwhkWhHeat meter with Modbus, or pulse reader15 min
Outdoor air temperatureoutdoor_c°CSensor on gateway or LoRaWAN10 min
Room temperatureroom_c°CLoRaWAN room sensor or BMS room point10 minCodec key names vary by sensor model; see Pitfalls.
Room humidityroom_rh%LoRaWAN room sensor10 min
Room CO2room_co2_ppmppmLoRaWAN CO2 sensor10 min
Sensor batterybattery%LoRaWAN sensorwith each uplink
BMS communicationbms_comm_ok0/1Gateway read status5 minFalse when the gateway cannot read a controller.
Key names are examples; keep them identical across buildings.

Declare every key in the profile's Telemetry keys tab with label, unit, decimals and a plausible range. Gauges take the range as their scale.

Asset model

In Sites & Assets, build the tree the way the portfolio is managed. Assets carry a kind (Site, Building, Floor, Room, Area and free kinds), a code, a location and a time zone. A common shape:

  • Building (Building), with location and time zone, floor_area_m2, building_type (office, school, retail), criticality and contractor.
  • Plant room (Area), with the AHUs, chillers and boilers as Machine assets carrying rated_kw and install_year.
  • Floor (Floor) and Room (Room), with comfort_band_low_c, comfort_band_high_c and co2_limit_ppm as attributes, and the room's code matching the room's name on the floor drawing.

Place each device where it measures: the gateway on the building, AHU children under the plant room, room sensors under their rooms, and add Feeds relations from each AHU to the floors it serves. Placement decides a building's status (the worst of the devices beneath it), which devices a building's Rules card may name, and which buildings an attribute-based policy can narrow a person to.

Limits that differ per room or per unit belong on the device as server attributes (for example max_room_c on each room sensor, max_filter_dp_pa on each AHU). Profile alarm rules can compare against such an attribute, so one rule set serves every building.

Device setup

Profiles

Create one profile per kind of equipment, not per building: AHU (Modbus), Chiller, Boiler, Electricity meter, Room sensor (LoRaWAN) and the gateway. A profile holds transport, login and online rules, telemetry keys, alarm rules, commands and, for LoRaWAN, codec and radio settings. Gateway children use the Recent message online rule with a 15-minute expected interval.

Provisioning

Licensed gateways leave the factory with an identity; an administrator claims each one by scanning its code and picks the profile. LoRaWAN room sensors are added with DevEUI, JoinEUI and AppKey or imported in a batch, and a profile can hold one shared AppKey for a delivery.

Remote settings and intervals

On licensed gateways, remote device settings list every setting of the model with its current value: serial parameters, Modbus slave addresses, register lists and polling intervals. Prepare a baseline per building type (for example office with two AHUs) and apply it with a bulk job that runs in waves and stops itself if too few gateways apply the change.

Poll analog plant values every five minutes and meters every fifteen. Plant has long time constants; only main power earns one-minute data. Send states on change plus a periodic heartbeat.

Time and gaps

Let the gateway stamp readings with its synchronised clock; a controller without a reliable clock should not send time stamps. During an outage licensed gateways keep readings and send them later with their original times (capacity depends on the model); alarm rules evaluate them as a backfill, marked Backfilled, without paging.

Firmware

Signed gateway firmware rolls out in waves with a soak time: one low-criticality building first; a failed wave gate pauses the rollout.

Dashboards

Start from the Sites board template (site table and status map). An entity parameter lets one building page serve every building.

BoardAudienceWidgets and what they show
PortfolioEnergy manager, managementSite table with status, open alarms and last seen; map coloured by status; bar chart of yesterday's kWh per building from the meters' daily increase; alarm table filtered to Major and above.
BuildingFacility managerThe building's 2D or 3D view with floors and rooms coloured by status; line chart of main power over seven days with outdoor temperature; state cards for every AHU, chiller and boiler; table of rooms outside their band; activity feed.
Plant roomFacility manager, contractorProcess drawing card with the AHU, chiller and boiler drawings bound to live values; gauges for supply temperatures; heat and cool valve positions on one chart to reveal fighting.
Energy detailEnergy managerHeatmap of hourly electricity use; scatter of daily kWh against average outdoor temperature; table of sub-meter consumption per day, downloadable to Excel.
ComfortFacility manager, tenantsRooms table with temperature, humidity and CO2, filtered with a key filter (for example room_co2_ppm above 1,000); per-room trend on click.

For a tenant's lobby screen or a facilities office wall, create a display link per screen: read-only, no menus, valid for 1 to 365 days and revocable one screen at a time.

SCADA screens

Draw plant screens per equipment type, not per building. The Building pack supplies the symbols: from its HVAC family Air handling unit, Louvre damper, Heat recovery core, VAV box, Air-cooled chiller, Cooling tower, Condensing boiler, Heating circulator pump, Three-way valve and duct pieces; from its building family Sub-meter and BMS rack. Smart meter comes from the Power pack. See the symbol library.

  • States. Fans show running or stopped from ahu_run; valves print their position; a rule turns a filter red when filter_dp_pa exceeds its limit and blinks the AHU outline on ahu_fault.
  • Fighting at a glance. A label rule shows a warning text when heating and cooling valve positions are both above 10 %.
  • Reuse. Attach the AHU drawing as a view on the AHU profile; every AHU in every building gets its own view with its own bindings. Match everything proposes a device for each unbound symbol, and the Problems tab lists anything still unbound.
  • Buildings in 3D. A building or floor can hold a 2D drawing and a 3D view made from it. The 3D scene tints each room whose code matches a room asset with the worst status beneath it, read from the key status; a small flow can write that key from the comfort band.

Commands on symbols are possible behind a confirmation that names the symbol, the command and the values. Keep them out of the first phases, and remember that controllers reached as gateway children cannot take commands yet.

Rules and alarms

Two tools do the work. Alarm rules on device profiles watch one device's values with debounce, hysteresis and per-device limits. The Rules card on a building board watches several devices of the building and knows the clock: time of day, weekdays, sunrise and sunset, seasons and the organisation's holiday calendar, in the building's time zone.

A value trigger fires when the value crosses the line, not while it stays there. An air handler already running at closing time never crosses again, so give out-of-hours rules a second trigger at a fixed time after closing and let the condition check the current state.

AlarmConditionDelay and hysteresisSeverityNotifiedEscalation
AHU running out of hoursRules card: when ahu_run becomes 1, or every day at 20:00; only if ahu_run = 1 and the time is outside 06:30 to 19:30 Monday to Friday, or it is a holidayValue trigger stays so for 30 minMinorBuilding facility manager, e-mailNone; reviewed weekly
Heating and cooling togetherRules card: when boiler_run becomes 1, only if chiller_run = 1 on a chiller serving the same buildingStays so for 30 minMinorEnergy manager, e-mailNone
AHU faultProfile rule: ahu_fault = 1Debounce 2 samplesMajorContractor and facility manager, push and e-mailReminder every 60 min until acknowledged
Chiller faultProfile rule: chiller_fault = 1Debounce 2 samplesMajor; Critical for buildings with critical coolingContractor, push and SMSReminder every 30 min
Room too warmProfile rule on room sensors: room_c above attribute max_room_cDebounce 30 min; hysteresis 0.5 °CWarningFacility manager, in-appNone
High CO2Rules card: room_co2_ppm above 1,200 for 20 min, only if within occupied hoursStays so for 20 minWarningFacility manager, pushNone
Gateway offlineInactivity rule on the gateway profile, no message for 30 minMajorIT and facility manager, pushReminder every 2 h
Sensor battery lowProfile rule: battery below 20Debounce 2 samplesInfoFacility manager, e-mailNone
Limits are examples; agree comfort bands and out-of-hours windows with each building.

Lifecycle. An alarm opens after its debounce, is acknowledged with an optional note and resolves by itself when the condition clears; repeats count as occurrences on the one open alarm. Review resolved alarms that nobody acknowledged: a chiller fault that cleared at 4 a.m. still deserves a look.

Maintenance. Mute devices before planned work: alarms are recorded, nobody is paged, and the mute ends by itself (at most 90 days). For a late event, set the building to Manual until a time; its rules resume on their own.

Floods. A BMS restart can make every point of a building drop and return at once. Keep the communication alarm above its consequences in severity, debounce equipment alarms by two samples and dampen chattering points. Above 20 alarm notifications a minute Hermetry collects the rest into a five-minute digest.

Automation and integrations

  • Status for the twin. A flow on the room sensor profile reads the band attributes with a device details block and saves a status key (ok, warning, critical) that colours rooms on the views.
  • Work orders. alarm.created, alarm.acknowledged and alarm.cleared webhooks, signed with HMAC and optionally in CloudEvents form, feed the contractor's CMMS. A flow's HTTP request block can post selected alarms to a helpdesk instead.
  • Writing to the BMS. Where a controller is a directly connected device with a command catalog, a Rules card can send a basic-tier command, for example an AHU to unoccupied mode at 20:00, if the controls contractor agrees. Commands to gateway children are in development.
  • Reports. History tables download to Excel for monthly energy and comfort reports; scheduled or e-mailed reports are not built in today.

A licensed router's web panel opens from its device page through router remote access: outbound tunnel, time-limited and audited sessions.

Roles and access

WhoRole or groupCan
Portfolio energy managerUser + IoT viewer groupSee every building, export history, add notes to alarms.
Building facility managerUser + IoT operator group, narrowed to their buildingsSee their buildings, acknowledge alarms, switch their building's rules to Manual.
HVAC contractorUser, narrowed to the buildings under contractSee plant boards and alarms, acknowledge, add notes.
Controls engineerAdminEdit profiles, alarm rules, drawings, Rules cards, gateway settings and firmware.
IT ownerOwnerMembers, sign-in policy (two-factor, passkeys, SAML or OIDC), API keys, raw commands.

Narrowing a person to some buildings uses attribute-based policies; check each with the policy simulator. A property manager can give each owner its own organisation, isolated by row-level security. The audit log records sign-ins, role changes, rule edits, mutes, setting changes and commands in a verifiable hash chain, exportable as CSV or NDJSON.

Sizing and data

As an order of magnitude, for 40 buildings, each with one gateway reporting 12 child devices (AHUs, plant, meters) every five minutes and 30 LoRaWAN room sensors every ten minutes. Sizing counts one message per device per reading as a conservative estimate:

  • Gateway children: 12 × 288 readings a day = 3,456 messages per building.
  • Room sensors: 30 × 144 = 4,320 uplinks per building.
  • Per building about 7,800 messages a day; for 40 buildings about 310,000 a day, or roughly 9.5 million a month.
  • Values: about 100 plant values × 288 plus 30 rooms × 4 values × 144 gives roughly 46,000 values per building a day, about 1.8 million a day for the portfolio and 670 million a year.

Only telemetry and attribute messages count toward the monthly allowance; commands, alarms and connection events do not. The plan's retention class (7, 30, 90, 365 or 1,095 days) sets history length: raw readings are kept for at most 90 days, minute aggregates for up to 31 days, and hourly and daily aggregates for the full class, which carry multi-year energy comparisons. Confirm storage per value for your deployment with us, and see how the platform is load-tested.

Rollout plan

PhaseWeeksWorkExit criteria
0. Survey1-3Collect BMS point lists, controller manuals and meter schedules for three pilot buildings; choose equipment profiles and key names; agree measures, comfort bands and occupancy windows.Signed point list per equipment type; occupancy windows confirmed by each site.
1. Meters first4-5Gateways, main meters, sub-meters and outdoor temperature in the pilot buildings; portfolio and energy boards.Daily kWh matches utility meter readings within an agreed tolerance.
2. Plant and rooms6-9AHU, chiller and boiler points; LoRaWAN room sensors; plant drawings; alarm rules and out-of-hours Rules cards notifying only.Four weeks of findings reviewed with each facility manager; nuisance alarms tuned out.
3. Portfolio10-24Remaining buildings in batches of three to five; gateway baselines per building type; CMMS webhooks; display links.Every building reporting; baseload and out-of-hours figures in the monthly review.
4. Supervisory actionsAfter 3Selected commands to directly connected controllers, if the controls contractor agrees.Each command tested in a safe state; Manual switch used and understood by site teams.

Commissioning checklist

  1. Gateway claimed, on the right profile, placed on the right building, certificate active; child devices appear with the expected profiles.
  2. Every analog point compared with the BMS workstation at the same moment; units, scaling and decimals correct.
  3. Every state point toggled or observed changing on site and seen with the right sense (running = 1).
  4. Meter readings compared with the meter display over 24 hours.
  5. Time stamps checked against a known event, in the building's time zone; building time zone set on the asset.
  6. Out-of-hours rule tested by running an AHU in hand outside the window; the right person receives it on the right channel.
  7. Every profile alarm forced once and acknowledged; reminder interval seen to repeat.
  8. Uplink unplugged for 30 minutes: gateway offline alarm opens; buffered readings fill the gap after reconnection.
  9. Plant drawings bound, Problems tab empty; room codes match the floor drawing so 3D tinting works.

Pitfalls

  • Reading every BMS point. Read the few dozen points each measure needs; add more later with a settings baseline.
  • Text states. ON and OFF as text cannot be averaged. Send 0 and 1 so run fractions and out-of-hours hours fall out of the hourly aggregates.
  • One schedule for all buildings. Out-of-hours rules must follow each building's real occupancy and time zone. Home the rule on the building, and use the holiday condition so bank holidays are not flagged as waste or as normal.
  • Codec key names. Different LoRaWAN sensor models name the same value differently. Either keep one sensor model per profile or save a copy of the library codec and rename its outputs to your keys.
  • Treating comfort alarms as urgent. A warm meeting room is a Warning for the facility manager's list, not a push at night.
  • Commands too early. Writing to a BMS without the controls contractor's agreement creates two masters. Start read-only and keep control in the BMS.

What Hermetry does not replace

Hermetry is a supervisory and analysis layer across buildings. Control loops, time schedules, frost protection, fire and smoke control, life-safety interlocks and plant protection stay in the BMS, the plant controllers and hard-wired circuits, and must keep working when the link or the platform is unavailable. Any command Hermetry sends is a request that the controller may accept or refuse. Fire alarm systems, utility billing, tenant recharging and the CAFM or CMMS remain the systems of record.

See your field data live this week

Start a trial in your region with your first devices, or book a demo and bring your own use case.