Creating Template Pod

Creating Template Pod

Here, we'll show you how to create a connector template pod package that you'll be able to reuse on job sites. You'll need to have pre-created templates (fst file(s)) that contain all the contents of the template.

Creating Pod

Below are the steps to create a pod:

Example zip with fst's: Here

Example Pod with fst's: Here

Example Zip without fst's: Here

1) io folder

First, the user will want to create an io folder under the project if it doesn't already exist. The path is something like this but with your version and project name: C:\Program Files (x86)\FIN Framework\FIN Framework 5.0.2016\var\proj\demo\io

2) Templates folder

Then the user will want to add/create a folder that contains the following files under the io folder:

  • FST file(s): these are the .fst files that contain equips with points, programs, graphic, alarms, summaries, manuals that you chose to include in the template. Multiple .fst files can be added in here. The .fst is created by using the Template -> Save functionality in DB Builder. An .fst would be created per equip type. They have to be named by camelCase!

  • bacnetProperties.trio: this contains the list of properties that you wish to read from your device. The property tags will be applied to the connector when selecting to add the connector as a template from the discover window. Here is an example that you can use and/or copy from and modify as needed for your template. It can also read from a point if the instance is provided. Look at screenshot below. It will look for the point that is AV4 and grab its present value and set that as the value for the applicationNumber tag.

  • templateOnTags.trio: this contains filter that the connectors have to match in order to import appropriate template. If the connector doesn't have those tags matching the filter, the template won't be imported unless the user manually picks a template to override it. Here is an example that you can use and/or copy from and modify as needed for your template. It also contains a dis and folderPath properties that are optional.

    • If multiple .fst files are included, the user can specify which .fst file will be loaded based on filter and name of .fst. The yellow highlight below indicates the filter and blue highlight indicates the name of fst file (case sensitive). The red highlight indicates the display name you would like to see in the template wizard or Templates tree. The the purple highlight indicates the folder path of how you would like to organize the templates. In our example, if the connector has vendorId tag of 7 AND applicationNumber tag as 2560, then it will load the ahu fst template. If we only include vendorId==7 as the filter without the applicationNumber, then both ahu and vav fst files will be loaded since both match the same filter.

    • Note: If the user makes templateOn and funcTemplate as single rows, then they would need to put the values in quotes and escape the inside quotes and $. Example below:

End result should look something like below:

3) Folio Query

Then in folio run: finCreateTemplatePackage(`io/equipTemplates/`, {name: "equipTemplates", version: "1.0"}). There are 3 parameters. The first purple highlight parameter is the location of the folder in step 2. The second teal highlight parameter is the name you wish to choose for the pod (camelCase). The last yellow highlight is the version of the pod that you can control as you make changes.  

4) Pod Enable

After running the above query, you will need to restart the FIN Stack service and then enable the new pod extension from Settings (name of pod depends on what you chose to name it in step 3).