Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions src/xeto/ph.points/boiler.xeto
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
//
// Copyright (c) 2026, Project-Haystack
// Licensed under the Academic Free License version 3.0
//
// History:
// 12 Feb 2026 Creation - Add most common boiler point specs - Adam Garnhart
//

// On/off command to run boiler equipment
BoilerHeatRunCmd : HeatRunCmd { boiler }

// Sensor for on/off state of boiler
BoilerHeatRunSensor : HeatRunSensor { boiler }

// Command to permit/prohibit a boiler to run.
// Enable is used as an interlock with a Run Command.
BoilerEnableCmd : EnableCmd { boiler }

// Boiler heating modulating command, where 0% is no heating, 100% is full heating
BoilerHeatModulatingCmd : HeatModulatingCmd { boiler }

// Sensor to detect the level of water for a boiler, 0% empty to 100% full
BoilerWaterLevelSensor : WaterLevelSensor { boiler }

// Sensor for the cumulative runtime duration of a boiler
BoilerRuntimeSensor : RuntimeSensor { boiler }
34 changes: 34 additions & 0 deletions src/xeto/ph.points/misc.xeto
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
//
// History:
// 5 Apr 2023 Brian Frank Creation
// 12 Feb 2026 Added HeatModulatingCmd/CoolModulatingCmd/LevelSensor/RuntimeSensor - Adam Garnhart
//

// Dessicant dehumidifier enable command
Expand Down Expand Up @@ -45,6 +46,18 @@ CoolEnableCmd : EnableCmd <abstract> { cool }
// Used as an interlock with a run command.
HeatEnableCmd : EnableCmd <abstract> { heat }

// On/off command to run cooling equipment
CoolRunCmd : RunCmd { cool }

// On/off command to run heating equipment
HeatRunCmd : RunCmd { heat }

// Sensor for on/off state of cooling equipment
CoolRunSensor : RunSensor { cool }

// Sensor for on/off state of heating equipment
HeatRunSensor : RunSensor { heat }

// Boolean alarm condition
AlarmSensor : BoolPoint & SensorPoint <abstract> { alarm }

Expand All @@ -54,3 +67,24 @@ ModulatingPoint : NumberPoint <abstract> {
modulating
unit: Unit <fixed> "%"
}

// Modulating command for amount of heating, where 0% is no heating, 100% is full heating
HeatModulatingCmd : ModulatingPoint & CmdPoint <abstract> { heat }

// Modulating command for amount of cooling, where 0% is no cooling, 100% is full cooling
CoolModulatingCmd : ModulatingPoint & CmdPoint <abstract> { cool }

// Sensor for the cumulative runtime duration of equipment
RuntimeSensor : NumberPoint & SensorPoint <abstract> {
runtime
unit: Unit <quantity:"time"> "hr"
}

// Sensor to detect the level of a liquid, 0% empty to 100% full
LevelSensor : NumberPoint & SensorPoint <abstract> {
level
unit: Unit <fixed> "%"
}

// Sensor to detect the level of water, 0% empty to 100% full
WaterLevelSensor : LevelSensor { water }
3 changes: 3 additions & 0 deletions src/xeto/ph/entity.xeto
Original file line number Diff line number Diff line change
Expand Up @@ -1268,6 +1268,9 @@ PhEntity: Entity <abstract> {
// on in order to run the equipment.
*run: Marker

// Relating to a time duration which tracks the cumulative time an equipment runs
*runtime: Marker

// Scalar is an atomic value kind
*scalar: Obj

Expand Down