Skip to content
23 changes: 23 additions & 0 deletions src/xeto/ph.attrs/base.xeto
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,26 @@ TempAttr : NumberAttr <abstract> {
val: Number <quantity:"temperature">
}

// Attribute with a number value with volumetric flow unit
VolumetricFlowAttr : NumberAttr <abstract> {
flow
val: Number <quantity:"volumetricFlow">
}

// Attribute with a number value with power unit
PowerAttr : NumberAttr <abstract> {
power
val: Number <quantity:"power">
}

// Attribute with a number value with energy unit
EnergyAttr : NumberAttr <abstract> {
energy
val: Number <quantity:"energy">
}

// Attribute with a number value with pressure unit
PressureAttr : NumberAttr <abstract> {
pressure
val: Number <quantity:"pressure">
}
68 changes: 38 additions & 30 deletions src/xeto/ph.attrs/elec.xeto
Original file line number Diff line number Diff line change
Expand Up @@ -6,59 +6,67 @@
// 16 Apr 2025 Rick Jennings Creation
//

//////////////////////////////////////////////////////////////////////////
// Current attributes
//////////////////////////////////////////////////////////////////////////

// Current attribute for the asset
ElecCurrentAttr : NumberAttr <abstract> { elec, current }

// AC current attribute for the asset
ElecAcCurrentAttr : ElecCurrentAttr <abstract> { ac }

// AC current rating of the asset
ElecAcRatedCurrentAttr : ElecAcCurrentAttr <abstract> { rated }
// Elec rated AC current of the asset
ElecRatedAcCurrentAttr : ElecAcCurrentAttr <abstract> { rated }

// Elec continuous capacity rated AC current of the asset (80% or 100% - for circuit breakers)
ElecContinuousCapacityRatedAcCurrentAttr : ElecRatedAcCurrentAttr { currentContinuousCapacity }

// Continuous AC current capacity rating of the asset (80% or 100% - for circuit breakers)
ElecAcRatedContinuousCapacityCurrentAttr : ElecAcRatedCurrentAttr { currentContinuousCapacity }
// Elec continuous rated AC current of the asset (for circuit breakers)
ElecContinuousRatedAcCurrentAttr : ElecRatedAcCurrentAttr <abstract> { currentContinuous }

// Continuous AC current rating of the asset (for circuit breakers)
ElecAcRatedContinuousCurrentAttr : ElecAcRatedCurrentAttr <abstract> { currentContinuous }
// Elec max continuous rated AC current of the asset (for circuit breakers)
ElecMaxContinuousRatedAcCurrentAttr : ElecContinuousRatedAcCurrentAttr { max }

// Max continuous AC current rating of the asset (for circuit breakers)
ElecAcRatedMaxContinuousCurrentAttr : ElecAcRatedContinuousCurrentAttr { max }
// Elec input rated AC current of the asset
ElecInputRatedAcCurrentAttr : ElecRatedAcCurrentAttr <abstract> { input }

// AC current input rating of the asset
ElecAcRatedInputCurrentAttr : ElecAcRatedCurrentAttr <abstract> { input }
// Elec max input rated AC current of the asset
ElecMaxInputRatedAcCurrentAttr : ElecInputRatedAcCurrentAttr { max }

// Maximum AC current input rating of the asset
ElecAcRatedInputMaxCurrentAttr : ElecAcRatedInputCurrentAttr { max }
//////////////////////////////////////////////////////////////////////////
// Voltage attributes
//////////////////////////////////////////////////////////////////////////

// Voltage attribute for the asset
ElecVoltAttr : NumberAttr <abstract> { elec, volt }

// AC voltage attribute for the asset
ElecAcVoltAttr : ElecVoltAttr <abstract> { ac }

// AC voltage rating of the asset
ElecAcRatedVoltAttr : ElecAcVoltAttr <abstract> { rated }
// Elec rated AC voltage of the asset
ElecRatedAcVoltAttr : ElecAcVoltAttr <abstract> { rated }

// AC voltage input rating of the asset
ElecAcRatedInputVoltAttr : ElecAcRatedVoltAttr <abstract> { input }
// Elec input rated AC voltage of the asset
ElecInputRatedAcVoltAttr : ElecRatedAcVoltAttr <abstract> { input }

// Nominal AC voltage input rating of the asset
ElecAcRatedInputNominalVoltAttr : ElecAcRatedInputVoltAttr <abstract> { nominal }
// Elec nominal input rated AC voltage of the asset
ElecNominalInputRatedAcVoltAttr : ElecInputRatedAcVoltAttr <abstract> { nominal }

// Nominal line-to-line AC voltage input rating of the asset
ElecAcRatedInputLineToLineNominalVoltAttr : ElecAcRatedInputNominalVoltAttr { voltLineToLine }
// Elec line-to-line nominal input rated AC voltage of the asset
ElecLineToLineNominalInputRatedAcVoltAttr : ElecNominalInputRatedAcVoltAttr { voltLineToLine }

// Nominal line-to-neutral AC voltage input rating of the asset
ElecAcRatedInputLineToNeutralNominalVoltAttr : ElecAcRatedInputNominalVoltAttr { voltLineToNeutral }
// Elec line-to-neutral nominal input rated AC voltage of the asset
ElecLineToNeutralNominalInputRatedAcVoltAttr : ElecNominalInputRatedAcVoltAttr { voltLineToNeutral }

// Minimum AC voltage input rating of the asset
ElecAcRatedInputMinVoltAttr : ElecAcRatedInputVoltAttr <abstract> { min }
// Elec min input rated AC voltage of the asset
ElecMinInputRatedAcVoltAttr : ElecInputRatedAcVoltAttr <abstract> { min }

// Minimum line-to-line AC voltage input rating of the asset
ElecAcRatedInputLineToLineMinVoltAttr : ElecAcRatedInputMinVoltAttr { voltLineToLine }
// Elec line-to-line min input rated AC voltage of the asset
ElecLineToLineMinInputRatedAcVoltAttr : ElecMinInputRatedAcVoltAttr { voltLineToLine }

// Maximum AC voltage input rating of the asset
ElecAcRatedInputMaxVoltAttr : ElecAcRatedInputVoltAttr <abstract> { max }
// Elec max input rated AC voltage of the asset
ElecMaxInputRatedAcVoltAttr : ElecInputRatedAcVoltAttr <abstract> { max }

// Maximum line-to-line AC voltage input rating of the asset
ElecAcRatedInputLineToLineMaxVoltAttr : ElecAcRatedInputMaxVoltAttr { voltLineToLine }
// Elec line-to-line max input rated AC voltage of the asset
ElecLineToLineMaxInputRatedAcVoltAttr : ElecMaxInputRatedAcVoltAttr { voltLineToLine }
143 changes: 143 additions & 0 deletions src/xeto/ph.attrs/flow.xeto
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
//
// Copyright (c) 2025, Project-Haystack
// Licensed under the Academic Free License version 3.0
//
// History:
// 13 Dec 2025 Lincoln Harmer Creation
//

//////////////////////////////////////////////////////////////////////////
// Air Flow
// Hierarchy: Air → Rated/Design → Min/Max → Cooling/Heating → Direction → Flow
//////////////////////////////////////////////////////////////////////////

// Air flow of the asset
AirFlowAttr: VolumetricFlowAttr <abstract> { air }

// Air rated flow
AirRatedFlowAttr: AirFlowAttr <abstract> { rated }

// Air rated max flow
AirRatedMaxFlowAttr: AirRatedFlowAttr <abstract> { max }

// Air rated max cooling flow
AirRatedMaxCoolingFlowAttr: AirRatedMaxFlowAttr <abstract> { cooling }

// Air rated max cooling discharge flow
AirRatedMaxCoolingDischargeFlowAttr: AirRatedMaxCoolingFlowAttr { discharge }

// Air rated max heating flow
AirRatedMaxHeatingFlowAttr: AirRatedMaxFlowAttr <abstract> { heating }

// Air rated max heating discharge flow
AirRatedMaxHeatingDischargeFlowAttr: AirRatedMaxHeatingFlowAttr { discharge }

// Air rated max outdoor flow
AirRatedMaxOutdoorFlowAttr: AirRatedMaxFlowAttr { outdoor }

// Air rated min flow
AirRatedMinFlowAttr: AirRatedFlowAttr <abstract> { min }

// Air rated min cooling flow
AirRatedMinCoolingFlowAttr: AirRatedMinFlowAttr <abstract> { cooling }

// Air rated min cooling discharge flow
AirRatedMinCoolingDischargeFlowAttr: AirRatedMinCoolingFlowAttr { discharge }

// Air rated min heating flow
AirRatedMinHeatingFlowAttr: AirRatedMinFlowAttr <abstract> { heating }

// Air rated min heating discharge flow
AirRatedMinHeatingDischargeFlowAttr: AirRatedMinHeatingFlowAttr { discharge }

// Air rated min outdoor flow
AirRatedMinOutdoorFlowAttr: AirRatedMinFlowAttr { outdoor }

// Air design flow
AirDesignFlowAttr: AirFlowAttr <abstract> { design }

// Air design max flow
AirDesignMaxFlowAttr: AirDesignFlowAttr <abstract> { max }

// Air design max cooling flow
AirDesignMaxCoolingFlowAttr: AirDesignMaxFlowAttr <abstract> { cooling }

// Air design max cooling discharge flow
AirDesignMaxCoolingDischargeFlowAttr: AirDesignMaxCoolingFlowAttr { discharge }

// Air design max heating flow
AirDesignMaxHeatingFlowAttr: AirDesignMaxFlowAttr <abstract> { heating }

// Air design max heating discharge flow
AirDesignMaxHeatingDischargeFlowAttr: AirDesignMaxHeatingFlowAttr { discharge }

// Air design max outdoor flow
AirDesignMaxOutdoorFlowAttr: AirDesignMaxFlowAttr { outdoor }

// Air design min flow
AirDesignMinFlowAttr: AirDesignFlowAttr <abstract> { min }

// Air design min cooling flow
AirDesignMinCoolingFlowAttr: AirDesignMinFlowAttr <abstract> { cooling }

// Air design min cooling discharge flow
AirDesignMinCoolingDischargeFlowAttr: AirDesignMinCoolingFlowAttr { discharge }

// Air design min heating flow
AirDesignMinHeatingFlowAttr: AirDesignMinFlowAttr <abstract> { heating }

// Air design min heating discharge flow
AirDesignMinHeatingDischargeFlowAttr: AirDesignMinHeatingFlowAttr { discharge }

// Air design min outdoor flow
AirDesignMinOutdoorFlowAttr: AirDesignMinFlowAttr { outdoor }

//////////////////////////////////////////////////////////////////////////
// Water Flow
// Hierarchy: Water → Rated/Design → Min/Max → Chilled/Hot → Flow
//////////////////////////////////////////////////////////////////////////

// Water flow of the asset
WaterFlowAttr: VolumetricFlowAttr <abstract> { water }

// Water rated flow
WaterRatedFlowAttr: WaterFlowAttr <abstract> { rated }

// Water rated max flow
WaterRatedMaxFlowAttr: WaterRatedFlowAttr <abstract> { max }

// Water rated max chilled flow
WaterRatedMaxChilledFlowAttr: WaterRatedMaxFlowAttr { chilled }

// Water rated max hot flow
WaterRatedMaxHotFlowAttr: WaterRatedMaxFlowAttr { hot }

// Water rated min flow
WaterRatedMinFlowAttr: WaterRatedFlowAttr <abstract> { min }

// Water rated min chilled flow
WaterRatedMinChilledFlowAttr: WaterRatedMinFlowAttr { chilled }

// Water rated min hot flow
WaterRatedMinHotFlowAttr: WaterRatedMinFlowAttr { hot }

// Water design flow
WaterDesignFlowAttr: WaterFlowAttr <abstract> { design }

// Water design max flow
WaterDesignMaxFlowAttr: WaterDesignFlowAttr <abstract> { max }

// Water design max chilled flow
WaterDesignMaxChilledFlowAttr: WaterDesignMaxFlowAttr { chilled }

// Water design max hot flow
WaterDesignMaxHotFlowAttr: WaterDesignMaxFlowAttr { hot }

// Water design min flow
WaterDesignMinFlowAttr: WaterDesignFlowAttr <abstract> { min }

// Water design min chilled flow
WaterDesignMinChilledFlowAttr: WaterDesignMinFlowAttr { chilled }

// Water design min hot flow
WaterDesignMinHotFlowAttr: WaterDesignMinFlowAttr { hot }
Loading