This section introduces the basics of point naming, tagging, and templating in Build Discovery & Selection; including naming best practices, minimum required properties for import, and basic JavaScript commands.
Links in this section:
Objective
The following Tag Groups are considered the minimum set of fields required for the user to fill out before importing points onto the Platform. The rest of this section will detail each of these Tag Groups and the appropriate tagging format to use for each. Note that the ‘Integration Tags’ and ‘Integration Configuration’ Tag Groups exist by default in Build, the ‘Sensor Tag’ Tag Groups will need to be created by the User.
Category |
Tag Group |
Sensor Tags |
Point Name Floor Equipment Number (if applicable) |
Integration Tags |
Equipment Type Equipment Label Display Name Device Name |
Integration Configuration |
Device Type Template Unit of Measure |
Parsing out key information from the point
Once the point discovery is complete, the first step is to parse out important information about the point from either the BACnet details, driver discovery file, or reference documentation. This will vary based on how descriptive the BACnet details are and what documentation (i.e. drawings, points list, etc.) is provided. The goal is to be able to determine key information, including: floor (being served), equipment type, equipment label, and point name.
- Note on BACnet integrations
If you are looking at the BACnet details the information could be in a combination of the BACnet Device Name, Object Name, or Description fields. Try to find a pattern of how this is represented so a script can be written to automatically parse this information. For example, the floor information may be designated with a L or F before a number. This introduction will not cover all the potential point abbreviations you may see in the point discovery so if you have any questions please reach out to anyone on the Engineering team.
If you are using reference documentation, create a Working Column called ‘Unique BacnetID’ and combine both the Device No and Object Address with an underscore to read 100_ai:1.
SCRIPT:
$UniqueBacnetID = $DeviceNo + ‘_’ + $ObjectAddress
By creating a similar column in a reference excel file or similar, points from the reference document can be sorted and aligned with the appropriate points in Build. The information from the reference documentation can then be pasted into Build the same as in Excel to begin parsing the information.
Creating Tag Groups
With the information source determined, you now want to begin parsing the data for the points you plan to import. It is best to use working columns and JavaScript commands to do this more efficiently. Working columns can be used for notes to track progress of assignments, hold intermediate working variables, or indicate the import status. The import status can also be marked in the ‘Import Status’ column using the options ‘New’ (default), ‘To Import’, ‘On Hold’, or ‘Exclude’.
- Sensor Tags: Each key piece of information should be its own Tag Group (represented as columns in Build). Any new Tag Groups should be created at the Sensor Tag category level. The Sensor Tag Groups should be defined as follows:
-
- Point Name: The Point Name only describes the function of the sensor (i.e. ‘Return Air Temperature’).
It may duplicate information if you include the equipment type or location so leave that out; this is important for building workspaces later. Reference the ‘Assigning Point Name, Device Type and Template for Equipment Type’ tables for the point name and capitalize the first letter of each word. If the point name is not clear, the Point Name should be the BACnet Object Name. - Floor: This should designate the level the equipment is serving as a double-digit number (i.e. ‘01’). The actual level the equipment is located on will be captured in the Equipment table which is coming to Build soon.
Make sure this is the level being served by the point and not the physical location of the equipment (most of the time these are same). For example, if three electrical meters are serving tenants on floor 1, 2 and 3 but are in a closet in the basement, the floor should be 1, 2 and 3 respectively, not basement. - Equipment Number: This should designate the equal-digit number of the equipment (e.g. ‘01’ if in the tens, ‘001’ if in the hundreds, etc.) if there is more than one per floor or if there is a pre-identified number by the client.
For example, ‘6-VAV-9’ and ‘6-VAV-10’ for the client should be represented with equipment numbers ‘09’ and ‘10’, respectively. This tag can also contain characters if appropriate for the site, for example: CH-01, B-05, or Tenant-07A.
- Point Name: The Point Name only describes the function of the sensor (i.e. ‘Return Air Temperature’).
-
- Integration Tags
Building upon the Tag Groups describing the point above, the following Tag Groups must also be populated as part of the Integration Tags before being able to import points into the Platform. These are:
- Equipment Type: This will be the type of equipment the point is tied to.
This should be an abbreviation such as AHU, VAV, Elec Meter, etc. Reference this document for a list of Equipment Types.
Note: Each Equipment Type should also have its own Tag Group (Sensor Tag) for Logic sharing and for ease of access in Site Analysis. If the Equipment Type = ‘AHU’, then create a Tag Group called ‘AHU’ and tag all the points with the Equipment Label in this tag group. (This is a legacy requirement). - Equipment Label: This provides a standardized naming convention for all pieces of equipment.
This should follow the below convention unless it significantly varies from the client’s desired naming convention, in which case that should be followed. Equipment labels should be made up of three parts combined with an ‘.’ between:
Equipment Type.Floor.Equipment Number
e.g.: VAV.L06.10A, AHU.L00.AC79, Chiller.LB1.CH-01
SCRIPT:
if($Floor){
$EquipmentLabel = $EquipmentType + '.L' + $Floor + '.' + $EquipmentNumber
} else {
$EquipmentLabel = $EquipmentType + '.' + $EquipmentNumber
} - Device Name: This is a combination of the Equipment Label and Point Description to provide a consistent and readable name for the point. Additional information can be included in the name such as Zone.X if this is desired.
Equipment Label – Point Name {Additional Info}
e.g.: VAV.L06.10A – HHW Valve Position (Stage: 2)
SCRIPT:
$DeviceName = $EquipmentLabel + ‘ – ‘ + $PointName
Display Name: This is the same as the Device Name used for displaying the points in the workspaces.
Equipment Label – Point Name {Additional Info}
e.g.: VAV.L06.10A – HHW Valve Position (Stage: 2)
SCRIPT:
$DisplayName = $DeviceName
- Equipment Type: This will be the type of equipment the point is tied to.
- Integration Configuration Tags:
The remaining Tag Groups are specific to the Switch Platform to clearly define type and function of each point. The following Integration Configuration Tags can either be populated through JavaScript or drop-down menus which include all the available options. If the information is not known, use the drop-down to select acceptable options for the Platform.
- Device Type: This is the base template which defines the information type of the point.
Common base templates include Temperature, Status, Command, Percentage, and Mode. A full list of all the templates can be found here. These are added to each point in the format: ‘Bacnet[BaseTemplate]Point’ (e.g. ‘BacnetTemperaturePoint’). Here are some hints for the base templates based on the object type:
- Binary-input (bi): base template = status
- Binary-output (bo): base template = command
- Binary-value (bv): the base template can be either status or command so will need to make best ‘guess’
- Multi-state-input (mi), multi-state-output (mo) or mutli-state-value (mv): base template = mode
- Analog-output (ao): is an output or command so the base template = [variable] for the setpoint (e.g ‘temperature’ for ‘supply air temperature setpoint’)
- Analog-input (ai): these are variable readings so a setpoint template should not be used
- Binary-input (bi): base template = status
- Template: Templates add focus to the base template by specifically identifying the point function.
For example, a point with the ‘Temperature’ base template may have a ‘ReturnAirTemperature’ template. It is recommended that a detailed template be assigned to any points that will be necessary for analytics (see full list of templates). These templates will need to be unique within the Tag Group the logic will be shared to. For non-standard points or points that will not be used for analytics, it is recommended to leave the template as the base template. This can always be edited later, if needed. - Unit of Measure: By specifying the unit of measure you are indicating the original unit of the point.
The Platform will automatically convert to imperial or metric units for viewing based on the user’s preference. This can be defined either via drop down or pivoting on Template and bulk assigning the Unit of Measure. In most cases, this can be copied from the Bacnet Unit of Measure column. - Summary: Once all these properties have been defined for each point, they can be imported into the Platform to start trending data. First, select ‘To Import’ in the Import Status column. Then select each row you want to import by checking the box(es) and click ‘Import’. Additional tags for deploying Logic and providing data hierarchies can be added as described in future sections
Comments
0 comments
Please sign in to leave a comment.