From 37f0f3d490b550df3a6b9d59a8c0112704554717 Mon Sep 17 00:00:00 2001 From: Adam Garnhart Date: Thu, 12 Feb 2026 08:04:24 -0700 Subject: [PATCH 1/7] Create boiler.xeto --- src/xeto/ph.points/boiler.xeto | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/xeto/ph.points/boiler.xeto diff --git a/src/xeto/ph.points/boiler.xeto b/src/xeto/ph.points/boiler.xeto new file mode 100644 index 0000000..b35aacc --- /dev/null +++ b/src/xeto/ph.points/boiler.xeto @@ -0,0 +1,26 @@ +// +// Copyright (c) 2026, Project-Haystack +// Licensed under the Academic Free License version 3.0 +// +// History: +// 12 Feb 2026 Creation - Adam Garnhart +// + +// Command to Run a Boiler (ON/OFF) +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 command for amount of heat, where 0% is no heat, 100% is full heat +BoilerHeatCmd : HeatCmd { 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 } From d00a9e2cdbd90f60937e63a39439979da64e344c Mon Sep 17 00:00:00 2001 From: Adam Garnhart Date: Thu, 12 Feb 2026 08:19:32 -0700 Subject: [PATCH 2/7] Update misc.xeto --- src/xeto/ph.points/misc.xeto | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/xeto/ph.points/misc.xeto b/src/xeto/ph.points/misc.xeto index 165b057..83e7952 100644 --- a/src/xeto/ph.points/misc.xeto +++ b/src/xeto/ph.points/misc.xeto @@ -4,6 +4,7 @@ // // History: // 5 Apr 2023 Brian Frank Creation +// 12 Feb 2026 Added HeatCmd/CoolCmd/RuntimeSensor - Adam Garnhart // // Dessicant dehumidifier enable command @@ -45,6 +46,18 @@ CoolEnableCmd : EnableCmd { cool } // Used as an interlock with a run command. HeatEnableCmd : EnableCmd { 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 { alarm } @@ -54,3 +67,24 @@ ModulatingPoint : NumberPoint { modulating unit: Unit "%" } + +// Modulating command for amount of heating, where 0% is no heating, 100% is full heating +HeatModulatingCmd : ModulatingPoint & CmdPoint { heat } + +// Modulating command for amount of cooling, where 0% is no heating, 100% is full heating +CoolModulatingCmd : ModulatingPoint & CmdPoint { cool } + +// Sensor for the cumulative runtime duration of equipment +RuntimeSensor : NumberPoint & SensorPoint { + runtime + unit: Unit "hr" +} + +// Sensor to detect the level of a liquid, 0% empty to 100% full +LevelSensor : NumberPoint & SensorPoint { + level + unit: Unit "%" +} + +// Sensor to detect the level of water, 0% empty to 100% full +WaterLevelSensor : LevelSensor { water } From 3aa2b3064200dd7ee48a6af38770ced2d59d3d27 Mon Sep 17 00:00:00 2001 From: Adam Garnhart Date: Thu, 12 Feb 2026 08:22:11 -0700 Subject: [PATCH 3/7] Update entity.xeto --- src/xeto/ph/entity.xeto | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/xeto/ph/entity.xeto b/src/xeto/ph/entity.xeto index 93e57f2..26e7d98 100644 --- a/src/xeto/ph/entity.xeto +++ b/src/xeto/ph/entity.xeto @@ -1268,6 +1268,9 @@ PhEntity: Entity { // 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 From db7834ca6e0830f0cd1a522609aa0ef98f114473 Mon Sep 17 00:00:00 2001 From: Adam Garnhart Date: Thu, 12 Feb 2026 08:32:47 -0700 Subject: [PATCH 4/7] Update boiler.xeto --- src/xeto/ph.points/boiler.xeto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xeto/ph.points/boiler.xeto b/src/xeto/ph.points/boiler.xeto index b35aacc..806e279 100644 --- a/src/xeto/ph.points/boiler.xeto +++ b/src/xeto/ph.points/boiler.xeto @@ -3,7 +3,7 @@ // Licensed under the Academic Free License version 3.0 // // History: -// 12 Feb 2026 Creation - Adam Garnhart +// 12 Feb 2026 Creation - Add most common boiler point specs - Adam Garnhart // // Command to Run a Boiler (ON/OFF) @@ -17,7 +17,7 @@ BoilerHeatRunSensor : HeatRunSensor { boiler } BoilerEnableCmd : EnableCmd { boiler } // Boiler command for amount of heat, where 0% is no heat, 100% is full heat -BoilerHeatCmd : HeatCmd { boiler } +BoilerHeatModulatingCmd : HeatModulatingCmd { boiler } // Sensor to detect the level of water for a boiler, 0% empty to 100% full BoilerWaterLevelSensor : WaterLevelSensor { boiler } From 42aa499084ab8312978f38997687f4bef0b0e35f Mon Sep 17 00:00:00 2001 From: Adam Garnhart Date: Thu, 12 Feb 2026 09:08:04 -0700 Subject: [PATCH 5/7] Update misc.xeto --- src/xeto/ph.points/misc.xeto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xeto/ph.points/misc.xeto b/src/xeto/ph.points/misc.xeto index 83e7952..9a4e0c0 100644 --- a/src/xeto/ph.points/misc.xeto +++ b/src/xeto/ph.points/misc.xeto @@ -4,7 +4,7 @@ // // History: // 5 Apr 2023 Brian Frank Creation -// 12 Feb 2026 Added HeatCmd/CoolCmd/RuntimeSensor - Adam Garnhart +// 12 Feb 2026 Added HeatModulatingCmd/CoolModulatingCmd/LevelSensor/RuntimeSensor - Adam Garnhart // // Dessicant dehumidifier enable command @@ -71,7 +71,7 @@ ModulatingPoint : NumberPoint { // Modulating command for amount of heating, where 0% is no heating, 100% is full heating HeatModulatingCmd : ModulatingPoint & CmdPoint { heat } -// Modulating command for amount of cooling, where 0% is no heating, 100% is full heating +// Modulating command for amount of cooling, where 0% is no cooling, 100% is full cooling CoolModulatingCmd : ModulatingPoint & CmdPoint { cool } // Sensor for the cumulative runtime duration of equipment From 6592340355b958a85a14091771a15751815f2c30 Mon Sep 17 00:00:00 2001 From: Adam Garnhart Date: Thu, 12 Feb 2026 09:12:03 -0700 Subject: [PATCH 6/7] Update boiler.xeto --- src/xeto/ph.points/boiler.xeto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xeto/ph.points/boiler.xeto b/src/xeto/ph.points/boiler.xeto index 806e279..9c20e90 100644 --- a/src/xeto/ph.points/boiler.xeto +++ b/src/xeto/ph.points/boiler.xeto @@ -6,7 +6,7 @@ // 12 Feb 2026 Creation - Add most common boiler point specs - Adam Garnhart // -// Command to Run a Boiler (ON/OFF) +// On/off command to run boiler equipment BoilerHeatRunCmd : HeatRunCmd { boiler } // Sensor for on/off state of boiler From 33130367e1c59eaa367e5dafe8648d14c76f6f12 Mon Sep 17 00:00:00 2001 From: Adam Garnhart Date: Thu, 12 Feb 2026 09:16:22 -0700 Subject: [PATCH 7/7] Update boiler.xeto --- src/xeto/ph.points/boiler.xeto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xeto/ph.points/boiler.xeto b/src/xeto/ph.points/boiler.xeto index 9c20e90..a448b02 100644 --- a/src/xeto/ph.points/boiler.xeto +++ b/src/xeto/ph.points/boiler.xeto @@ -16,7 +16,7 @@ BoilerHeatRunSensor : HeatRunSensor { boiler } // Enable is used as an interlock with a Run Command. BoilerEnableCmd : EnableCmd { boiler } -// Boiler command for amount of heat, where 0% is no heat, 100% is full heat +// 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