AltoTech
v1.1.6 Chiller Plant Optimization
Release v1.1.6 · Profile-based Configuration

Profile-based Chiller Plant Control

Until now, the Chiller Plant Optimization app had no concept of different operating modes by day. Every operator change was a permanent, global change that held until someone changed it again. No Weekday vs Weekend vs Holiday, and no calendar. That ends with this release.

Ship date 2026-06-18 · Surface: Chiller Plant Optimization on Alto CERO Edge
The promise: one configuration tree, one operator mental model, one place to plan a month at a time. No more re-editing the live configuration every morning and remembering to revert it the next day.
01

What's new

Every change an operator made (chiller sequencing, schedule, staging conditions, cooling-tower groups, secondary pumps, PID setpoints) applied from that moment on, forever, until somebody changed it again. There was no Weekday vs Weekend vs Holiday. There was no calendar. To change behaviour on a specific date, an operator had to manually re-edit the live configuration that morning, then remember to revert it the next day.

We now organize Automations into Profiles, and assign Profiles to Dates on a Calendar.

One configuration tree, one operator mental model, one place to plan a month at a time. The rest of this page walks the same path an operator takes the first time they open the new Autopilot Settings modal.

02

Plant Setup: define the equipment once

The first time a site is set up, the operator opens Plant Setup. This is where the available devices for the site live: the chillers and their tonnage tiers, the primary chilled-water pumps (PCHPs), the condenser pumps (CDPs), the Smart CT equipment groups plus chiller load brackets, and the SCHP Zones and Types with their pump assignments and load brackets.

Everything downstream (every Automation, every Profile, every modal) consumes this catalog. Equipment is defined once, here, and never re-typed by hand inside a control modal.

In the screenshot above, the operator has set up a 7-chiller site with three tonnage tiers (250 / 500 / 1000 Ton), 11 PCHPs split into Big and Small pools, 11 CDPs split the same way, six Smart CT groups (40 devices), and the SCHP North and South zones with VSD and Non-VSD pump tiers (18 pumps across two zones). Primary CHW Pump Load Brackets and Chiller Load Brackets are defined alongside.

03

Calendar: assign Profiles to dates

With the equipment defined, the operator moves to the Calendar view. This is the highest-level surface, a month at a glance, with each day showing which Profile drives it. Quick actions cover "All weekdays", "All weekends", and "Clear"; for everything else, the operator drag-selects a date range and applies a Profile.

The operator can create as many Profiles as the site needs (Weekday, Weekend, Holiday, Monday, Custom Profile 1). The Profile palette is colour-coded, so the calendar reads at a glance: blue for Weekday, green for Weekend, orange for Holiday, purple for Monday, and any custom profile gets its own swatch.

A Profile assignment is permanent until the operator changes it. The calendar IS the schedule.

04

The Profile modal: Add, Edit, and Link Automations

Click into a day, or pick a Profile from the side panel, and the Profile modal opens. This is where the operator manages the actual control behaviour for that Profile.

The modal exposes one card per control surface. Every chiller-side control feature lives here: Chiller Sequence (priority order, interlock delays, lead-lag rotation), Chiller Plant Schedule, Custom Schedule, Stage Up and Stage Down conditions, Smart CT, SCHP (Smart Secondary Chilled-water Pumps), PID Controllers, and Dynamic Setpoint.

For each control card the operator can:

  • Add a fresh automation directly on this Profile.
  • Edit the automation in place.
  • Link an existing automation from another Profile, so the same configuration is shared across Profiles. Change it once, both Profiles update.

Each card surfaces enough live information that the operator can see what is happening right now: 5/8 running on Sequence, the rotation countdown (NEXT ROTATION: FRI, 19 JUN 2026, 00:28), 0 / 18 pumps active on SCHP, 6 / 6 groups active on Smart CT, and the current Planned Setpoint 51.1 °F against Outdoor Temp 91.8 °F on Dynamic Setpoint.

05

Copy to Override, and Link across Profiles

Two operations make Profiles powerful in practice:

  • Copy to Override. When the operator needs a one-day change, for example a chiller maintenance window on a single Wednesday, they do not edit the canonical Weekday Profile and accidentally change every Wednesday going forward. They copy Weekday to a one-day override Profile, edit that copy, and assign it to that one date. The original Weekday Profile is untouched.
  • Link Automations across Profiles. When the same Smart CT setup applies to both Weekday and Weekend, the operator links the existing Automation into the second Profile rather than duplicating it. The header shows a link badge (for example × 5) so the operator can see how many Profiles share this Automation. Edit it once and both Profiles update; unlink one Profile to fork it.

Together, these two operations replace the old "remember to revert tomorrow" workflow with explicit, persistent, by-date configuration.

06

The Automation modals

Below are the modal cards for the five most-used Automations. Each Automation type defines its own focused, schema-driven editor, and every modal reads its equipment options from the Plant Setup defined in section 02.

6.1Chiller Sequence

Priority-ordered list of chiller positions. Each position is a {Start Interlock, Stop Interlock, Chiller Type, Number of PCHPs, Number of CDPs} row. Lead-Lag Rotation runs on a daily, weekly, or monthly cadence at a chosen time, with the next rotation shown in the header chip.

6.2Chiller Plant Schedule

Per-chiller-position daily schedule with start and end time windows. Each row supports multiple windows per day (for example 06:45–08:30 and 09:00–18:00), an optional Post Circulation extension (PCHP, CDP, and CT keep running after a chiller stop for a set number of minutes), and a per-window Stop Delay control. The Daily Schedule Overview at the top visualises the day in one glance with a "now" marker.

6.3Smart CT

Cooling-tower staging keyed on a temperature threshold plus a CDS schedule. Equipment Groups are operator-defined groupings of CT cells and isolation valves; Load Brackets map total chiller capacity (Ton) to a {Min, Max} count of active CT groups. CT Rotation cycles which group is in lead position over time.

6.4Chiller Add and Subtract

Stage Up and Stage Down conditions, each with its own active time window, cooldown, countdown, and ALL / ANY trigger logic. Conditions include Maximum %RLA, Minimum %RLA, CHS Setpoint Violation, Low ΔT, Low Plant Cooling Load, and CHW Setpoint Deviation. Each condition is independently enabled with per-chiller-count thresholds and a violation-minutes guard.

6.5Smart SCHP Staging

Per-zone secondary chilled-water pump staging, driven by both cooling load (a Ton to {Min, Max} mapping per zone) and PID frequency. PID Frequency Control defines the dwell, cooldown, and minimum ON/OFF guards. Staging Priority orders each pump within its zone, with VSD pumps preferred. CT Rotation runs on its own schedule.

07

Built to scale

The five Automations above are what is shipped today. Underneath, the framework is intentionally generic: every Automation type is described by a Blueprint, every Blueprint declares its metadata schema and config schema, and the modals and Profile cards are entirely data-driven from the Blueprint catalog.

Adding a new Automation type, for example Demand-Limit Optimization, Optimum Pump Staging, Optimum CT Staging, or a Recommendation / Copilot mode, is a matter of:

  1. Defining the Blueprint (metadata plus config schema).
  2. Implementing the Volttron agent that reads that config and emits control commands.
  3. Building the editor modal.

The Profile, Calendar, Override, and Link infrastructure all work automatically once the new Automation type is registered. Operators see it appear on the Profile modal alongside the existing ones, with the same Add / Edit / Link / Override surface and no extra ceremony.

v1.1.6 is more than a UI redesign. It is the foundation for everything else on the chiller-plant roadmap, and for control surfaces beyond it.

08

What's included in this release

Four shipping commits land on top of the 2026-05-14 foundation work:

DateCommitHighlights
2026-05-14 PMc6b4f7c4Stop-event wiring, Today-tab row materialisation, schedule-modal Day column clean-up, calendar outside-click fix, post-circ legend swatch.
2026-05-19e8242b89Auto-fork Today and Autopilot edits to a midnight copy, the safety pattern that prevents accidental permanent changes from the Today tab.
2026-06-045370a749Flat device-pool refactor. active_devices and active_groups become the single source of truth for both priority order and membership across Sequence, Smart CT, and SCHP.
2026-06-17bcf4f5fc17 verified code-review fixes. SmartCT frozen-group handling, load-bracket floor lookup, MVCT valve isolation on full stop; rotation cron day-field fix; CustomSchedule transient-error vs empty-schedule distinction; serializer pool mirroring; expanded realtime subscriptions.

Full per-line detail is in apps/chiller_optimization/CHANGELOG.md. The Linear timeline (parent issue DIZ-813, 13 sub-issues) is the day-by-day record.

09

Related material

  • Architecture deep-dive (executive report): Q2 Three-Month Report. The engineering report from March to May 2026 covering the data model, entity relationships, KSPO end-to-end example, and the Profile, Calendar, and Override implementation.
  • Architecture board (Miro): miro.com board.
  • Per-app changelog: apps/chiller_optimization/CHANGELOG.md.

Profile-based Chiller Plant Control · v1.1.6 (User Experience and Profile-based Configuration) · Ship date 2026-06-18 · Surface: Chiller Plant Optimization on Alto CERO Edge.
Internal document, not for redistribution.