← Dashboard

How to read the screens

What each camera sees, what the icons mean, and how the monitor turns them into readings.

Boiler: HTP UFT-series, P-950EH control

The boiler camera looks at the controller's LCD. Every icon on it is defined by the manufacturer in manual LP-542, Figure 51 (page 48). The monitor sends this annotated drawing to the vision model alongside each capture, so the model identifies segments from the legend rather than guessing.

Manual LP-542 Figure 51, the P-950EH LCD with every icon labelled
Figure 51 from the manual: the full LCD with every segment labelled.
The manual drawing with the DHW indicators boxed, above the live LCD with the same spots marked
Top: the drawing with the hot-water (DHW) indicators boxed. Bottom: the real display during a heating call, with the places where the DHW segments would light up marked by dashed boxes.

Icon legend

WhereIconMeansReading field
Top row, far leftSunWarm-weather shutdown is active (needs the optional outdoor sensor).sun_icon
Top rowHouse with thermometerOutdoor-temperature mode. It flashes when no outdoor sensor is connected, which is this boiler's normal state, so it carries no demand information.house_icon
Top rowSnowflakeAnti-freeze protection is running.snowflake_icon
Top row, centreSmall box with horizontal linesAppliance is meeting a DHW (hot water) demand. The only hot-water indicator on this model. Flashes if a heating call is also waiting.dhw_icon → mode dhw
Top row[i]Status display mode or installer mode is open.info_icon
Top row, rightWrenchService reminder.wrench_icon
Top row, far right((o))The control is communicating with another device (cascade, BMS). Status only.comm_icon
Left of the big numberRadiator (vertical fins)Appliance is operating in CH (central heating) mode. Flashes if a hot-water call is also waiting.ch_icon → mode heating
CentreBig number + F/CBoiler water temperature. During a fault it shows the error code instead (for example E04, Er:76).temperature, error_codes
Lefthh:mm AM/PM and SUN…SATThe control's own clock and day.time_text, day_text
Right, under F/CCrown of flamesThe burner is firing. The only true flame indicator; it can be off during a heating or DHW call while the boiler cycles.flame_on
RightFanCombustion fan running (pre-purge, firing, post-purge).fan_on
Right, two side by sideTriangle-in-circle ×2Left = boiler pump, right = CH/system pump. These two are what is usually lit during a heating call.boiler_pump, ch_pump
Right, alone below thoseTriangle-in-circle ×1DHW pump (the indirect tank's pump).dhw_pump
Bottom rowBoxes 0–18Cascade status. Blank on a single boiler.cascade_text

What each mode looks like

IconHeating callDHW callIdle
Radiator (left of number)onoff, or flashing if a heat call waitsoff
DHW box (top row)offon, or flashing if a heat call waitsoff
Boiler pumponusually onoff after run-on
CH/system pumponoff (installer parameter 40:BP can keep it on)off after run-on
DHW pump (lower)offonoff after run-on
Flame crownon only while firingon only while firingoff
Temperatureclimbs toward the CH set-point (130–180°F)climbs toward the DHW boiler target, usually higherdrifts down
((o))ononon

The pump columns depend on installer settings for pump run-on and boiler-pump mode. "Mode" on the dashboard is derived deterministically: DHW box lit → dhw; else radiator lit → heating; else idle. The flame is tracked separately because a call can be active between burner cycles.

How the boiler reading is produced

Zone controller: Taco SR504-EXP

4x zoom of the Taco panel's LED column: POWER, ZONE 1, ZONE 2, ZONE 3, ZONE 4/PRIORITY
The LED column at 4× zoom. Here POWER, ZONE 1 and ZONE 3 are on. ZONE 2 glows pink only from the neighbours' bleed and is off.

The zone camera watches the relay panel's five LEDs. Top to bottom: POWER, ZONE 1, ZONE 2, ZONE 3, ZONE 4 / PRIORITY. A zone LED is on when that thermostat is calling for heat and the relay has closed.

Light bleeds between neighbouring LEDs, so colour alone is misleading. A lit LED has a blown-out white core; an unlit one is at most a dim coloured dot.

How the zone reading is produced

  • The camera is fixed, so each LED sits at a known pixel position. The monitor measures the fraction of pixels inside a small disc at each LED that are near-white (every channel ≥ 200).
  • Measured over the captures so far: lit LEDs score 0.81–0.96, unlit ones 0.00–0.28 even with heavy bleed. The threshold is 0.50.
  • Only when a LED lands in the ambiguous band (0.35–0.65), or the POWER LED itself looks dark (panel off, or the camera has moved), is Claude asked to confirm from the zoomed image. The dashboard shows which method produced each reading.
  • This makes the zone reading deterministic, repeatable, and nearly free. The per-LED percentages are kept with every reading so the thresholds can be audited.

Thermostats: ecobee (three zones)

Every 15 minutes the monitor signs in to the ecobee account the way the ecobee web app does (no developer API key is needed) and reads each thermostat: indoor temperature, the heat set-point, whether it is calling for heat (any heating equipment listed in the thermostat's equipment status), the fan, the active comfort setting or hold, humidity, and each remote sensor.

Model comparison (2026-10-16)

Every local still (15 boiler frames: 8 heating calls, 2 idle, 5 where the camera was framed on pipes; 10 zone frames) was re-read by three models with the production prompt and legend image. Ground truth was set by eye from the enlarged crops.

ModelModeTemperaturePumpsOff-target frames flagged unreadableFalse positivesZone LEDs vs pixel methodCost per boiler read
Claude Sonnet 5.510/1010/1010/105/5none8/10 (twice called a dark Zone 1 lit)$0.009
Claude Opus 5.5 (default)9/1010/1010/105/51 DHW (house icon misread on a blurry frame, self-rated low confidence)10/10$0.018
Claude Haiku 5.57/1010/103/105/5none10/10$0.0005

No frame in the set showed a DHW call or the burner firing, so those states are unverified for every model. Because the one Opus miss was self-rated low confidence, the monitor runs Sonnet 5.5 as the primary and re-reads a frame on Opus 5.5 at medium effort whenever it shows an error code, is unreadable, or is low-confidence and would change the state (flame, DHW, heating, or a 15°F jump) compared with the previous reading. The zone fallback is pinned to Opus. The Model column in the readings table shows which model produced each row and when a confirmation ran.

Timeline conventions