Point Property Sheet
 Any new point created in the FIN Framework - DB builder app is going to have about the same properties (with the exception of the type-specific ones):
- 1 navName & Type
- 2 disMacro
- 3 Point Kind
- 4 Scheduled
- 4.1 Enable Schedule
- 4.2 Schedule Level
- 5 Is Local/Connected Point
- 5.1 Local Point
- 5.2 Connected Point
- 6 Â Read
- 7 Is Writable
- 8 History
- 8.1 Synchronized
- 8.2 Collected
- 8.3 Imported
- 8.4 Computed
- 9 Marker Tags
- 10 Property Tags
- 11 Essentials Icons
- 11.1 Property Editor
- 11.2 Tools
- 11.3 Point Debug Info
- 11.4 Show Trend
- 11.5 Actions
navName & Type
The navName is essentially the name of the Point and how it will appear in the Equip Tree. The navName will be set in the first field.
The next field, called Point-Type, will allow the user to choose if the point is a: sensor, softpoint (setpoint), or a command.
disMacro
The disMacro is used to tell the software how to create the dis. (short for display name) The display name of the point is a way to see the point as more than just the point name and could include the Site name and Equip name. Using special codes, the framework will build the dis based on how the user defines those codes, and it is set by default using this scheme:Â $equipRef $navName
.
The default value can be changed by selecting on the text-field
Point Kind
 The point kind property enables the user to choose the kind of point to add:
numeric
boolean
string
enumeration
To do so, the user will simply choose the desired option from the drop-down.
Scheduled
This property allows the user to set the point to be scheduled and choose at what level will the schedule write. Points have to be set to scheduled to be controlled by an internal FIN schedule.
Enable Schedule
To enable this, the user will:
Click on the toggle bar to make the schedule active
Once activated, select on the Save button located on the bottom right
Advanced View
Basic View
Schedule Level
If the user wants to change the schedule level, they will need to:
Advanced View
Make sure that the advanced view has been activated Â
The user will select on the text-box for Schedulable, where they can change the schedule level
Once changed, they will need to select on the Save button located on the bottom right
Basic View
Select on the information icon , this will open a pop-up window
The user will navigate to the property tag called schedulables
In there, they can change the level number by selecting on the text-field
Once changed, they will need to select on the Apply button on the bottom right of the pop-up window
Is Local/Connected Point
Depending on how we are creating the point, it can either be a local(doesn't get data from an actual device) or connected point(meaning from an actual device).
Usually, the connected points are created by dragging and dropping the points from the connector inside the DB builder and not by manually making a point and creating the references to the connector.
Local Point
If the point is local then it will display only:
site ref: this represents a reference to the site under which the point is located
equip ref: this represents a reference to the equip under which the point is located
Connected Point
If the point is connected beside the site and equip ref, there is going to be:
Connector Ref:Â this represents a reference to the connector under which the point is located (depending on protocol type, this tag could be
bacnetConnRef
,modbusConnRef
,haystackConnRef
, etc.)Cur Path: this represents a reference to the point location from where the current value will be taken (depending on protocol type, this tag could be
bacnetCur
,modbusCur
,haystackCur
, etc.)Write Path: (if writable) this represents a reference to the point location from where the current value will be written (depending on protocol type, this tag could be
bacnetWrite
,modbusWrite
,haystackWrite
, etc.)
 Read
The toggle bar is activated by default, and it enables the point to have a current value.
Advanced View
The curConvert would be activated if the point is a connected point and not a local point
Basic View
Is Writable
This option allows the user to make the point writable or not. By default, the write level is 17.
Advanced View
Basic View
Once this option is enabled, the actions menu in the top right corner will become enabled.
Enabling a Point Action
After an action is used, the writeLevel will be updated to the corresponding write level of the action selected (either manual or emergency).
For Example: The user is using the Manual Set, this will set the write level to 8.
Advanced View
If the user selected on the writeArray option, they are able to see more information in regard to the action the user selected. They will be displayed with the value, who set the action, and when the action expires
Basic View
History
Advanced View
History: This option allows the user to make a point to have a history.
There are 4 different types of history mechanisms that a user can choose from:
IMPORTANT NOTE: it is always preferable to use remote collection with history synchronization instead of local collection when possible. Remote collection has the following advantages:
is always more efficient
ensures no data is lost during network outages
is much easier to tune since increasing the sync frequency does not result in data loss
Synchronized
The Synchronized option will make the history to be constantly synchronized with the device that the point originated from. The user can enable and configure the sync frequency in the Settings app.
Collected
The Collected option will make history be collected locally on the FIN server based on the interval chosen on the hisCollectInterval
and/or the hisCollectCov
properties. The hisCollectCov
tag is a marker tag on a Boolean, Enum, or String point. However, on a Number type point, the hisCollectCov
is a property tag that includes the tolerance (or difference) a point must change before it is collected.
if configuring
hisCollectInterval
in seconds, it must be evenly divisible into 60sec minuteif configuringÂ
hisCollectInterval
in minutes, it must be evenly divisible into 60min hourIf configuring
hisCollectInterval
in hours, it must be evenly divisible into 24hr dayCOV collection is rate throttled using a limit determined as follows:
use
hisCollectCovRateLimit
if configuredfor numeric points withÂ
hisCollectInterval
, COV will never collect faster than 1/10 of the interval or 1min (whichever is lower)for numeric points withoutÂ
hisCollectInterval
, then use 1min as rate limitfallback to 1sec rate limit for non-numerics
The following tags may be used to tune local history collection:
hisCollectNA
(marker): Historize the NA value whenever thecurVal
is null orcurStatus
is not equal to "ok". If this marker is omitted, then no value is logged in this sitaution. This behavior may be changed on for the entire project by adding this tag as a point setting.hisCollectCovRateLimit
(duration): It is a duration tag that rate limits the frequency forhisCollectCov
. When configured COV logging will never log any faster than this frequency. For example if set to 10sec, then the historian will log no faster than every 10sec even if the underlying data is changing every second.hisCollectWriteFreq
(duration): This tag configures how long to buffer collected history items in memory before flushing them to the historian. If this tag is missing, then collected items are immediately flushed to the historian and to disk. But when this tag is configured with a duration number, items are be buffered in memory and then written to the historian in batch. Batch writes enable more efficient compression of the history data and allows you to tune how often data is sync'ed to disk.
Additional history tags:
hisTotalized
(marker): Indicates values which are a continuous stream of totalization. History data reads and should be normalized by computing the delta.hisMode
(string): Indicates the way that history data is collected for a point. The value of this tag can be either sampled, cov, or consumption.sampled - Data is sampled on a regular interval. The timestamp indicates exactly when the sample was taken, and we assume linear interpolation between samples.
cov - Data is logged when it changes. The means the timestamp indicates exactly when it changed (inclusive) and it remains that value until the next sample's timestamp (exclusive).
consumption - Integral data is sampled on a regular interval and logged at the end of the interval. The timestamp indicates the end of the interval. Therefore, the raw data is logged as start exclusive, end inclusive. This is mode is typical for consumption meters.
hisRollupAutoMinInterval
(duration): ForceshisRollupAuto()
to do a rollup using this interval when none is specified and the range of the source history grid is less than 2 days. This tag is primarily intended to be used on high frequency histories such as secondly collections to ensure that querying a single day doesn't result in an overwhelming amount of data.
Imported
The Imported option indicates that history is/was imported via a CSV file to the point. The user can use the Import History tool to import the CSV history.
Computed
The Computed option is history that is generated on demand via a function selected in the hisFunc field - the user will have already created a history function for their computed history. The history function record needs to have the hisFuncReady
marker tag for it to show up in the hisFunc dropdown list.
Basic ViewÂ
Marker Tags
In this section, the user will add all the necessary marker tags to the record.
To do so, the small plus sign will be pressed and a tag will be selected and the ok sign pressed.
The user can press the Haystack tags bar to see all the tags, or the bar can be used as a search bar
Property Tags
The last section is represented by the Property tags, that add the type to the tag capability, meaning the user can here create:
boolean tags
string tags
uri tags
numeric tags
refID tags
date tags
time tags
dateTime tags
Adding a Property Tag
The user will select on the  to be able to add a property tag
This will display the following
 Type of Property
Tag Name
Tag Value
After filling out the text-fields, the user will select on the checkmark(√ ) to commit the changes.
If the user wants to change the type of property, they will need to select on the dot directly. This will open a pop-up window with a selection of the type of property a user can assign to their property tag.Â
Essentials Icons
The essentials Icons are are present in the top right corner, and they represent:
Property Editor
Tools
Point Debug Info
Show Trend
Actions
Property Editor
The Property Editor is an advanced editor that allows the user to see all the available tags on the selected record, it also allows the user to add or modify applicable tags.
For more information, you can find it at this following document:Â Property Editor
 Â
Tools
The tools button will display a drop-down list of all the available one at this level. For more information, check the Tools
Point Debug Info
The Point Debug Info button will be available only if the point is a connected one. This way the user can figure out easy and fast what is the problem with the connection (if there is one).
Show Trend
The show trend icon will only be available if the point Has History option is checked.
The button will display a quick preview of the history for today and will allow the user to jump to the historian App.
Actions
The action icon will be available only if the Is Writable option is checked.
The set of action will depend on the type of point.
To apply one action the user will simply select it and a new window with the appropriate settings will pop up.
Editing the Actions Menu
The Actions Menu can be edited in order to change the verbiage of the command in the Menu or to remove certain actions from showing for all users.
 In the Point Property Sheet, select on the advanced viewÂ
In the writable cell, there is a section called Actions. Select on the arrow which is located on the far right of the text field.
Once open the user can edit the actions to their preference.
Outline of Action Properties
Try it out:
In the 'Actions' tag section, edit the 'dis' portion of the tag contents as desired. For instance, to change the Emergency Actions
to say ESTART, ESTOP, and EAUTO, simply replace the wording in each action line dis the section as desired. Remember thatÂ
each Action dis has to be in double-quotes, as seen in the above picture.Â
NOTE:Â After you have finished editing the text, you will need to use the mouse to click in another property in the editor
       in order for the editor to 'see' that you have finished your edits. Then you can click on "Apply" in the bottom right corner.For instance, Emergency Active command can be changed, by making that line read:
"ESTART","pointEmergencyOverride(\$self, true)",9Â So, you could change all the Emergency Actions from their default text to read as shown below:
Editing the Actions Menu to issue BACnet Commands
BACnet command syntax
In the example below, the 7 default actions are in place as they were. But, 3 action lines have been added that issue BACnetWrite commands to the point at BACnet emergency level 1.Â
You will notice the bold expr portion of the action inside the quotes to make it easier to clearly see the command expression required.Â
The \$self text indicates to issue the action to the point currently selected.Â
ver:"2.0"
dis,expr,hvac_finCat
"Emergency Active","pointEmergencyOverride(\$self, true)",9
"Emergency Inactive","pointEmergencyOverride(\$self, false)",9
"Emergency Auto","pointEmergencyAuto(\$self)",9
"Manual On","pointOverride(\$self, true, \$duration)",6
"Manual Off","pointOverride(\$self, false, \$duration)",6
"Manual Auto","pointAuto(\$self)",6
"Set Default","pointSetDef(\$self, \$val)",3
"Set Bacnet level 1 ON","bacnetWriteObjectProperty((\$self)->bacnetConnRef, (\$self)->bacnetWrite, \"present_value\",1,1)",9
"Set Bacnet level 1 OFF","bacnetWriteObjectProperty((\$self)->bacnetConnRef, (\$self)->bacnetWrite, \"present_value\",0,1)",9
"Set Bacnet level 1 Null","bacnetWriteObjectProperty((\$self)->bacnetConnRef, (\$self)->bacnetWrite, \"present_value\",null,1)",9
This action menu content will produce the following action menu:
CAUTION:Â You should always be aware that by issuing BACnet commands in this manner, you are bypassing both the internal FIN Stack point priority array as well as the normal BACnet connector architecture. The command will be issued directly to the connected point and BACnet device; but essentially, the local point will only see the end result coming back through the connRef and the associated bacnetCur tag. The BACnet command being issued will not display in the local priority array; and therefore, could cause some confusion for the endUser. A proper understanding of this, and briefing of this result should be extended to the building operators.Â