← All posts
8 min read

18 of 20 Sensors Were Reading Low, and We Almost Fixed the Wrong Thing

We pulled a 30-year-old steam distiller out of Garwood Hall to cut steam load. The steam went up instead. Chasing why ran through simultaneous heating and cooling in July, an AI that confidently misdiagnosed a room, and the discovery that eighteen of twenty zone sensors had been quietly reading low.

Jonathan Pierson
An Impressionist-style oil painting of a 19th-century steam locomotive, lettered 'Le Bourbonnais 232,' billowing great clouds of white steam under the iron-and-glass roof of a busy period railway station, with top-hatted travelers and luggage carts on the platform.

We pulled a 30-year-old steam distiller out of Garwood Hall and replaced it with a reverse osmosis and deionization system. Less steam demand, lower bills, easy win. That was the whole point of the project.

Then the steam went up.

Not a little. Enough that when the numbers came in I stopped what I was doing and started pulling trend data. A building that was supposed to shed steam load had gained it, and the thing we had just spent money and labor on was the obvious suspect. Except the RODI unit itself is fine. It does what it says, and by every account it is saving about 90% of the energy that process used to burn. The steam was coming from somewhere else, and it had probably been coming from somewhere else for a long time. Removing the distiller just took away the noise that had been hiding it.

Two weeks of June trends, broken down: the 54°F-then-reheat loop is most of Garwood Hall's steam bill. The distiller we removed was a small slice — and the one everyone had been blaming.

What we thought first

The walkthrough gave us an obvious lead. AHU-1 has no preheat valves, and the casing, doors, and seams are leaking somewhere north of 5% of airflow. Bad unit, leaky box, that explains heat going out the wall.

It explains some of it. It does not explain simultaneous heating and cooling in July.

Two weeks of data and a very stupid setpoint

I exported two weeks of June HVAC data out of Metasys. Six tabs, somewhere between 6,500 and 15,700 rows apiece. Then I did something I have started doing on every one of these: I ran the same dataset through both Claude and Gemini, in parallel, and fed each one the other's analysis. Not because I trust either of them, but because when two of them argue in front of me I learn faster than when one of them agrees with me.

They converged on the same thing, which was reassuring, because it was the thing I did not want to be true.

AHU-1 discharge air temperature is on trim-and-respond reset. In June it floats down to 53 to 55°F, which is what you would want for a building that is cooling. Meanwhile the hot water supply is sitting on a hard-coded 120°F summer floor. So the air handler dumps 54°F air into the building, and then roughly 160 VAV boxes reheat it back up with hot water we are making with steam. In July. That is most of the story of the steam bill, and none of it is the RODI unit.

AHU-1 in July: discharge air floats down to 54°F, then ~160 VAV boxes buy 16°F of it back with 120°F hot water made from steam. Cooling and heating, at the same time, on the same air.

Two other things came out of the trends. The preheat valve had been commanded to 0% for three weeks straight, so preheat is dead. And the HX1 valve sat between 40 and 54% open continuously, with the hot water pumps never both off, despite a sequence of operations that says they should shut down after 60 minutes of no demand. The building was making hot water it did not need so it could reheat air it did not need to cool that hard.

Then there is the part that made me feel dumb. The DAT reset request threshold was set at 10. Ten VAVs asking for heat is enough to drag the whole air handler's discharge temperature down. On a 160-box building, a threshold closer to 25 or 30 would be normal. Caleb, one of our controls guys, told me it used to be 10 because the system was overcooling and somebody lowered it to compensate. That is exactly the kind of history you never get out of a trend file.

The reset trips when just 10 of ~160 boxes call for heat — about 6%. For a building this size, 25–30 would be normal. Ten boxes were dragging the whole air handler down to 54°F.

The dead end, and the retraction

While all this was going on, one zone kept standing out. Physics 212 could not hold setpoint. Claude looked at it and called it a genuine capacity problem, meaning the box is undersized or the valve cannot deliver, and pointed toward hardware. Clean, plausible, expensive.

I did not buy it, mostly because Physics 212 did not look physically different from the rooms next to it. So my intern and I walked the building with a handheld thermometer and logged around two dozen rooms. Then we did it again a few days later.

Physics 212 was reading 66.9°F on the BAS. The room was actually 70.2°F. The sensor was 3.3°F low. There was no capacity problem. The box was doing exactly what it was told, which was to heat a room that was already warm enough.

Claude retracted the capacity diagnosis as soon as I put the field numbers in front of it, cleanly and without arguing, which is more than I can say for some vendors. But it never would have caught this on its own, because the input it was reasoning from, the sensor reading, was the thing that was wrong. That is the part people building these tools do not want to hear. An AI reading your BAS is reading your BAS. If the building is lying to you, it will repeat the lie back with better formatting.

What we actually found

Eighteen of twenty sensors read low. That is not drift. That is systematic bias, and it means the building has spent an unknown number of years heating rooms that were already at setpoint.

A handheld-thermometer sweep of ~20 rooms against the BAS. Eighteen read low — systematic bias, not random drift. Physics 212 was the worst: the BAS said 66.9°F while the room was actually 70.2°F.

So we reordered the fix list. The control logic changes we were all excited about got pushed to second. Sensor calibration went first, because there is no point tuning a reset strategy against inputs you already know are wrong. Anything with a 1.0°F offset or more gets calibrated, and the intern is running a building-wide sweep.

The rest of the plan, in order:

  • Raise the VAV reset request threshold from 10 to 25 or 30
  • Lock zone setpoints to a 69 to 73°F band. Somebody had proposed raising the heating setpoint to 69 to fix comfort complaints, which would have produced more reheat, not less. That one got caught before it shipped.
  • Test lowering the hot water summer floor from 120°F to 105 or 110°F
  • Investigate Office 401, where the valve looks stuck
  • Overnight CFM setback on the hallways
  • Seal AHU-1's casing and ductwork last, on purpose, so we can attribute any steam drop to the control changes instead of muddying the result

Work order 27-411238 went in July 9 and Greg approved the plan. I do not have post-change data yet, so I am not going to tell you it worked. What I will tell you is what we are watching for: AHU-1 discharge should float up to 58 to 60°F, and the steam should follow it down. If it does not, the theory is wrong and I will say so here.

What this means for your building

Before you touch a reset strategy, a schedule, or a setpoint band, take a handheld thermometer and twenty minutes and check whether your zone sensors are telling you the truth. Not one sensor. Twenty. If more than a couple of them are off in the same direction, stop and calibrate before you optimize anything, because every control decision downstream of a biased sensor is a decision made on bad information.

And the reason the RODI project looked like a failure is that it was never the problem. It just stopped covering for one.

Jonathan Pierson
Energy Manager, Appalachian State University · Co-founder, Ponytail Energy

Jonathan runs energy for Appalachian State's campus and co-founded Ponytail Energy. He spends his days in trend data and mechanical rooms, chasing the quiet changes that show up on the utility bill before they show up anywhere else.

See what Ponytail finds in your buildings.

Give Ponytail read-only access for two weeks. It comes back with the findings already costing you money.

Book a demo