Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add level status and command #564

Closed
3 changes: 3 additions & 0 deletions bricksrc/command.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
},
"Relay_Command": {"tags": [TAG.Point, TAG.Relay, TAG.Command]},
"Light_Command": {"tags": [TAG.Point, TAG.Light, TAG.Command]},
"Level_Command": {
"tags": [TAG.Level, TAG.Command, TAG.Point],
},
"Speed_Command": {"tags": [TAG.Point, TAG.Speed, TAG.Command]},
"Cooling_Command": {"tags": [TAG.Point, TAG.Cool, TAG.Command]},
"Heating_Command": {"tags": [TAG.Point, TAG.Heat, TAG.Command]},
Expand Down
18 changes: 10 additions & 8 deletions bricksrc/definitions.csv
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ https://brickschema.org/schema/Brick#Audio_Visual_Equipment,Equipment related to
https://brickschema.org/schema/Brick#Auditorium,A space for performances or larger gatherings,
https://brickschema.org/schema/Brick#Automatic_Mode_Command,"Controls whether or not a device or controller is operating in ""Automatic"" mode",
https://brickschema.org/schema/Brick#Automatic_Tint_Window,A window with tint control.,
https://brickschema.org/schema/Brick#Automatic_Tint_Window_Array,"An array of Automatic Tint Windows.",
https://brickschema.org/schema/Brick#Automatic_Tint_Window_Array,An array of Automatic Tint Windows.,
https://brickschema.org/schema/Brick#Availability_Status,"Indicates if a piece of equipment, system, or functionality is available for operation",
https://brickschema.org/schema/Brick#Average_Cooling_Demand_Sensor,Measures the average power consumed by a cooling process as the amount of power consumed over some interval,
https://brickschema.org/schema/Brick#Average_Discharge_Air_Flow_Sensor,The computed average flow of discharge air over some interval,
Expand Down Expand Up @@ -305,9 +305,9 @@ https://brickschema.org/schema/Brick#ESS_Panel,See Embedded_Surface_System_Panel
https://brickschema.org/schema/Brick#Economizer,"Device that, on proper variable sensing, initiates control signals or actions to conserve energy. A control system that reduces the mechanical heating and cooling requirement.",
https://brickschema.org/schema/Brick#Economizer_Damper,A damper that is part of an economizer that is used to module the flow of air,
https://brickschema.org/schema/Brick#Effective_Air_Temperature_Setpoint,,
https://brickschema.org/schema/Brick#Effective_Cooling_Zone_Air_Temperature_Setpoint,"The effective cooling setpoint for a specific zone in a building.",
https://brickschema.org/schema/Brick#Effective_Heating_Zone_Air_Temperature_Setpoint,"The effective heating setpoint for a specific zone in a building.",
https://brickschema.org/schema/Brick#Effective_Target_Zone_Air_Temperature_Setpoint,"Target Setpoint (also known as Common Setpoint) is a reference point representing the desired air temperature in a specific zone of a building. This setpoint acts as a baseline from which the cooling and heating setpoints are established by adding or subtracting a deadband width",
https://brickschema.org/schema/Brick#Effective_Cooling_Zone_Air_Temperature_Setpoint,The effective cooling setpoint for a specific zone in a building.,
https://brickschema.org/schema/Brick#Effective_Heating_Zone_Air_Temperature_Setpoint,The effective heating setpoint for a specific zone in a building.,
https://brickschema.org/schema/Brick#Effective_Target_Zone_Air_Temperature_Setpoint,Target Setpoint (also known as Common Setpoint) is a reference point representing the desired air temperature in a specific zone of a building. This setpoint acts as a baseline from which the cooling and heating setpoints are established by adding or subtracting a deadband width,
https://brickschema.org/schema/Brick#Electric_Baseboard_Radiator,Electric heating device located at or near the floor,
https://brickschema.org/schema/Brick#Electric_Boiler,"A closed, pressure vessel that uses electricity for heating water or other fluids to supply steam or hot water for heating, humidification, or other applications.",
https://brickschema.org/schema/Brick#Electric_Current,,
Expand All @@ -316,7 +316,7 @@ https://brickschema.org/schema/Brick#Electric_Power,"Electric Power is the rate
https://brickschema.org/schema/Brick#Electric_Power_Sensor,Measures the amount of instantaneous electric power consumed,
https://brickschema.org/schema/Brick#Electric_Radiator,Electric heating device,
https://brickschema.org/schema/Brick#Electric_Voltage,,
https://brickschema.org/schema/Brick#Electrical_Energy_Usage_Sensor,"A sensor that records the quantity of electrical energy consumed in a given period",
https://brickschema.org/schema/Brick#Electrical_Energy_Usage_Sensor,A sensor that records the quantity of electrical energy consumed in a given period,
https://brickschema.org/schema/Brick#Electrical_Meter,A meter that measures the usage or consumption of electricity,
https://brickschema.org/schema/Brick#Electrical_Room,A class of service rooms that house electrical equipment for a building,
https://brickschema.org/schema/Brick#Electrical_System,Devices that serve or are part of the electrical subsystem in the building,
Expand Down Expand Up @@ -606,6 +606,8 @@ https://brickschema.org/schema/Brick#Leaving_Water_Temperature_Proportional_Band
https://brickschema.org/schema/Brick#Leaving_Water_Temperature_Sensor,Measures the temperature of water leaving a piece of equipment or system,
https://brickschema.org/schema/Brick#Leaving_Water_Temperature_Setpoint,Sets temperature of leaving water,
https://brickschema.org/schema/Brick#Level,,
https://brickschema.org/schema/Brick#Level_Command,"Adjusts the operational state to a specific level within a predefined range.",
https://brickschema.org/schema/Brick#Level_Status,"The current operational state of a specific level within a predefined range.",
https://brickschema.org/schema/Brick#Library,"A place for the storage and/or consumption of physical media, e.g. books, periodicals, and DVDs/CDs",
https://brickschema.org/schema/Brick#Light_Command,Controls the amount of the light provided by the device,
https://brickschema.org/schema/Brick#Lighting,,
Expand Down Expand Up @@ -827,10 +829,10 @@ https://brickschema.org/schema/Brick#Power_Factor_Sensor,"Sensors measuring powe
https://brickschema.org/schema/Brick#Power_Loss_Alarm,An alarm that indicates a power failure.,
https://brickschema.org/schema/Brick#Power_Sensor,Measures the amount of instantaneous power consumed,
https://brickschema.org/schema/Brick#Prayer_Room,A room set aside for prayer,
https://brickschema.org/schema/Brick#Pre-Cooling_Air_Unit,"A type of AHU, use to pre-treat the outdoor air before feed to AHU",
https://brickschema.org/schema/Brick#Pre_Filter,A filter installed in front of a more efficient filter to extend the life of the more expensive higher efficiency filter,
https://brickschema.org/schema/Brick#Pre_Filter_Status,Indicates if a prefilter needs to be replaced,
https://brickschema.org/schema/Brick#Precipitation,"Amount of atmospheric water vapor fallen including rain, sleet, snow, and hail (https://project-haystack.dev/doc/lib-phScience/precipitation)",
https://brickschema.org/schema/Brick#Pre-Cooling_Air_Unit,"A type of AHU, use to pre-treat the outdoor air before feed to AHU",
https://brickschema.org/schema/Brick#Preheat_Command,A command to activate preheating,
https://brickschema.org/schema/Brick#Preheat_Demand_Setpoint,Sets the rate required for preheat,
https://brickschema.org/schema/Brick#Preheat_Discharge_Air_Temperature_Sensor,Measures the temperature of discharge air before heating is applied,
Expand Down Expand Up @@ -933,8 +935,8 @@ https://brickschema.org/schema/Brick#Smoke_Alarm,An alarm that indicates the off
https://brickschema.org/schema/Brick#Soil_Temperature_Sensor,Measures the temperature of soil,
https://brickschema.org/schema/Brick#Solar_Azimuth_Angle_Sensor,Measures the azimuth angle of the sun,
https://brickschema.org/schema/Brick#Solar_Irradiance,The power per unit area of solar electromagnetic radiation incident on a surface,
https://brickschema.org/schema/Brick#Solar_Irradiance_Sensor,Measures solar irradiance levels for photovoltaic systems,
https://brickschema.org/schema/Brick#Solar_Radiance,The amount of light that passes through or is emitted from the sun and falls within a given solid angle in a specified direction,
https://brickschema.org/schema/Brick#Solar_Radiance_Sensor,The amount of light that passes through or is emitted from the sun and falls within a given solid angle in a specified direction,
https://brickschema.org/schema/Brick#Solar_Thermal_Collector,A type of solar panels that converts solar radiation into thermal energy.,
https://brickschema.org/schema/Brick#Solar_Zenith_Angle_Sensor,Measures the zenith angle of the sun,
https://brickschema.org/schema/Brick#Solid,"one of the three states or phases of matter characterized by stability of dimensions, relative incompressibility, and molecular motion held to limited oscillation.",
Expand Down Expand Up @@ -1035,7 +1037,7 @@ https://brickschema.org/schema/Brick#Temperature_Tolerance_Parameter,A parameter
https://brickschema.org/schema/Brick#Temporary_Occupancy_Status,"For systems that differentiate between scheduled occupied/unoccupied mode, this indicates if a space is temporarily occupied when it would otherwise be unoccupied",
https://brickschema.org/schema/Brick#Terminal_Unit,A device that regulates the volumetric flow rate and/or the temperature of the controlled medium.,
https://brickschema.org/schema/Brick#Thermal_Energy,"Thermal Energy} is the portion of the thermodynamic or internal energy of a system that is responsible for the temperature of the system. From a macroscopic thermodynamic description, the thermal energy of a system is given by its constant volume specific heat capacity C(T), a temperature coefficient also called thermal capacity, at any given absolute temperature (T): (U_{thermal = C(T) \cdot T).",
https://brickschema.org/schema/Brick#Thermal_Energy_Usage_Sensor,"A sensor that records the quantity of thermal energy consumed in a given period",
https://brickschema.org/schema/Brick#Thermal_Energy_Usage_Sensor,A sensor that records the quantity of thermal energy consumed in a given period,
https://brickschema.org/schema/Brick#Thermal_Power,`,
https://brickschema.org/schema/Brick#Thermal_Power_Meter,A standalone thermal power meter,
https://brickschema.org/schema/Brick#Thermal_Power_Sensor,,
Expand Down
14 changes: 10 additions & 4 deletions bricksrc/deprecations.py
Original file line number Diff line number Diff line change
@@ -1,30 +1,36 @@
from .namespaces import BRICK, RDFS, SKOS, A

deprecations = {
BRICK.Solar_Radiance_Sensor: {
"version": "1.3.0",
"mitigation_message": "The class 'Solar_Radiance_Sensor' is deprecated in favor of 'Solar_Irradiance_Sensor'. The new name better reflects the standard unit of measurement, watts per square meter (W/m²), and aligns with the terminology commonly used in solar applications.",
"replace_with": BRICK.Solar_Irradiance_Sensor,
RDFS.subClassOf: BRICK.Sensor,
},
BRICK.Occupied_Air_Temperature_Cooling_Setpoint: {
"version": "1.3.0",
"mitigation_message": "'Occupied_Air_Temperature_Cooling_Setpoint' is deprecated in favor of further specifying that it is a zone air setpoint.",
"replace_with": BRICK.Occupied_Cooling_Zone_Air_Temperature_Setpoint,
RDFS.subClassOf: BRICK.Occupied_Air_Temperature_Setpoint,
},
},
BRICK.Occupied_Air_Temperature_Heating_Setpoint: {
"version": "1.3.0",
"mitigation_message": "'Occupied_Air_Temperature_Heating_Setpoint' is deprecated in favor of further specifying that it is a zone air setpoint.",
"replace_with": BRICK.Occupied_Heating_Zone_Air_Temperature_Setpoint,
RDFS.subClassOf: BRICK.Occupied_Air_Temperature_Setpoint,
},
},
BRICK.Unoccupied_Air_Temperature_Cooling_Setpoint: {
"version": "1.3.0",
"mitigation_message": "'Unoccupied_Air_Temperature_Cooling_Setpoint' is deprecated in favor of further specifying that it is a zone air setpoint.",
"replace_with": BRICK.Unoccupied_Cooling_Zone_Air_Temperature_Setpoint,
RDFS.subClassOf: BRICK.Unoccupied_Air_Temperature_Setpoint,
},
},
BRICK.Unoccupied_Air_Temperature_Heating_Setpoint: {
"version": "1.3.0",
"mitigation_message": "'Unoccupied_Air_Temperature_Heating_Setpoint' is deprecated in favor of further specifying that it is a zone air setpoint.",
"replace_with": BRICK.Unoccupied_Heating_Zone_Air_Temperature_Setpoint,
RDFS.subClassOf: BRICK.Unoccupied_Air_Temperature_Setpoint,
},
},
BRICK.Effective_Air_Temperature_Cooling_Setpoint: {
"version": "1.3.0",
"mitigation_message": "The class 'Effective_Air_Temperature_Cooling_Setpoint' is deprecated in favor of further specifying that it is a zone air setpoint.",
Expand Down
6 changes: 6 additions & 0 deletions bricksrc/quantities.py
Original file line number Diff line number Diff line change
Expand Up @@ -770,5 +770,11 @@ def all_units():
},
"Torque": {BRICK.hasQUDTReference: QUDTQK["Torque"]},
# TODO: https://ci.mines-stetienne.fr/seas/WeatherOntology-0.9#AirTemperature ?
"Volume": {
BRICK.hasQUDTReference: QUDTQK["Volume"],
QUDT.applicableUnit: [UNIT["M3"], UNIT["FT3"], UNIT["IN3"], UNIT["YD3"]],
QUDT.hasDimensionVector: QUDTDV["A0E0L3I0M0H0T0D0"],
RDFS.label: Literal("Volume"),
},
"Weather_Condition": {},
}
6 changes: 3 additions & 3 deletions bricksrc/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -1322,9 +1322,9 @@
BRICK.hasSubstance: BRICK.Refrigerant,
"tags": [TAG.Point, TAG.Sensor, TAG.Refrigerant, TAG.Level],
},
"Solar_Radiance_Sensor": {
"tags": [TAG.Point, TAG.Sensor, TAG.Radiance, TAG.Solar],
BRICK.hasQuantity: BRICK.Solar_Radiance,
"Solar_Irradiance_Sensor": {
"tags": [TAG.Point, TAG.Sensor, TAG.Irradiance, TAG.Solar],
BRICK.hasQuantity: BRICK.Solar_Irradiance,
},
"Speed_Sensor": {
"tags": [TAG.Point, TAG.Sensor, TAG.Speed],
Expand Down
3 changes: 3 additions & 0 deletions bricksrc/status.py
Original file line number Diff line number Diff line change
Expand Up @@ -482,6 +482,9 @@
"tags": [TAG.Point, TAG.Pressure, TAG.Status],
},
"Lead_Lag_Status": {"tags": [TAG.Point, TAG.Lead, TAG.Lag, TAG.Status]},
"Level_Status": {
"tags": [TAG.Level, TAG.Status, TAG.Point],
},
"Stages_Status": {"tags": [TAG.Point, TAG.Stages, TAG.Status]},
"System_Shutdown_Status": {
"tags": [TAG.Point, TAG.System, TAG.Shutdown, TAG.Status],
Expand Down
161 changes: 161 additions & 0 deletions extensions/brick_extension_G36-inference_SP223-v1.0.shapes.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
@prefix g36: <http://data.ashrae.org/standard223/1.0/extensions/g36#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix s223: <http://data.ashrae.org/standard223#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

g36:ChilledWaterCoilAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:ChilledWaterCoil ;
sh:object g36:ChilledWaterCoil ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:CoolingCoil .

g36:ChilledWaterValveAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:ChilledWaterValve ;
sh:object g36:ChilledWaterValve ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:Valve .

g36:DamperAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:Damper ;
sh:object g36:Damper ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:Damper .

g36:DualDuctTerminalWithDischargeSensorAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:DualDuctTerminalWithDischargeSensor ;
sh:object g36:DualDuctTerminalWithDischargeSensor ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:DualDuctTerminal .

g36:DualDuctTerminalWithInletSensorsAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:DualDuctTerminalWithInletSensors ;
sh:object g36:DualDuctTerminalWithInletSensors ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:DualDuctTerminal .

g36:DualFanDualDuctAirHandlingUnitAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:DualFanDualDuctAirHandlingUnit ;
sh:object g36:DualFanDualDuctAirHandlingUnit ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:AirHandlingUnit .

g36:ElectricHeatingCoilAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:ElectricHeatingCoil ;
sh:object g36:ElectricHeatingCoil ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:ResistanceHeater .

g36:FanAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:Fan ;
sh:object g36:Fan ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:Fan .

g36:FanPoweredTerminalAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:FanPoweredTerminal ;
sh:object g36:FanPoweredTerminal ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:FanPoweredTerminal .

g36:FanWithVFDAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:FanWithVFD ;
sh:object g36:FanWithVFD ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:Fan .

g36:FilterAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:Filter ;
sh:object g36:Filter ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:AirFilter .

g36:HotWaterCoilAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:HotWaterCoil ;
sh:object g36:HotWaterCoil ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:HeatingCoil .

g36:HotWaterValveAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:HotWaterValve ;
sh:object g36:HotWaterValve ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:Valve .

g36:MultiZoneVAVAirHandlingUnitAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:MultiZoneVAVAirHandlingUnit ;
sh:object g36:MultiZoneVAVAirHandlingUnit ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:AirHandlingUnit .

g36:SingleZoneVAVAirHandlingUnitAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:SingleZoneVAVAirHandlingUnit ;
sh:object g36:SingleZoneVAVAirHandlingUnit ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:AirHandlingUnit .

g36:TwoPositionDamperAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:TwoPositionDamper ;
sh:object g36:TwoPositionDamper ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:Damper .

g36:VAVAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:VAV ;
sh:object g36:VAV ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:SingleDuctTerminal .

g36:ZoneAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:Zone ;
sh:object g36:Zone ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:Zone .

g36:ZoneGroupAnnotation a sh:NodeShape ;
sh:rule [ a sh:TripleRule ;
sh:condition g36:ZoneGroup ;
sh:object g36:ZoneGroup ;
sh:predicate rdf:type ;
sh:subject sh:this ] ;
sh:targetClass s223:Zone .

<http://data.ashrae.org/standard223/1.0/extensions/g36-inference> a owl:Ontology ;
owl:imports <http://data.ashrae.org/standard223/1.0/extensions/settings>,
<http://data.ashrae.org/standard223/1.0/model/all> .
Loading