FIN Framework File Types
The FIN Framework uses several specialized file types for different purposes.
Primary Haystack Data Formats
Trio (.trio)
See Trio on Project Haystack
Full Name: Tag Record Input/Output
Purpose: Plain text format for hand-authoring Haystack data
Characteristics:
Derived from YAML
Uses Zinc encodings for scalar types to provide full type fidelity
Line-oriented format where dicts are separated by lines beginning with
---Primary format for authoring tag definitions
Supports multi-line strings and nested collection data values
Limitation: Not ideal for representing grids (no grid meta or column meta support)
Common Uses:
Equipment tag definitions (e.g.,
vavTags.trio)BACnet properties lists (
bacnetProperties.trio)Template functions (
templateFuncs.trio)Definition files on Project Haystack site
Example Trio Format:
dis: "Site 1"
site
area: 3702ft²
geoAddr: "100 Main St, Richmond, VA"
---
Zinc (.zinc)
See Zinc on Project Haystack
Full Name: Zinc Is Not CSV (recursive acronym)
Purpose: Original Haystack format for encoding CSV with strong typing
Characteristics:
Provides full fidelity to encode all Haystack kinds without loss of typing
Compact and readable syntax
Requires non-trivial parser
Default format for HTTP API (alongside JSON)
Scalar encodings are the basis for both Trio and JSON
Common Uses:
Equipment records export (
EquipRecords.zinc)Point records export (
PointRecords.zinc)Batch record saving
Template storage in
/iofolder
File Location Example:
C:\Program Files (x86)\FIN Framework\FIN Framework 5.2.0.1920\var\proj\demo\ioJSON (.json)
Full Name: JavaScript Object Notation (Haystack format)
Purpose: Standardized method for mapping Haystack data types to JSON
Characteristics:
Two encoding methods:
Version 4: Default JSON encoding for Haystack
Version 3: Legacy encoding for backwards compatibility
No loss of information
Equally supported alongside Zinc for HTTP API
Common Uses:
API requests/responses
Data interchange
Web application integration
Example with Units:
{
"kind": "number",
"val": 45,
"unit": "°F"
}
Template & Equipment Files
FST (.fst)
Full Name: FIN Stack Template
Purpose: Equipment template files containing complete equipment configurations
Characteristics:
Created using Template → Save functionality in DB Builder
Contains equips with points, programs, graphics, alarms, summaries, and manuals
Must be named in camelCase (case sensitive)
Can include multiple equipment types in template packages
Contents Can Include:
Equipment and point definitions
Graphics
Logic Builder programs/alarms
Summaries
O&M manuals
Tuning policies
Schedules
Associated Files:
equipTags.trio: Specific tags for the equip template (e.g.,vav.fst→vavTags.trio)bacnetProperties.trio: Properties to read from devicestemplateFuncs.trio: Specific functions for the template
Typical Template Package Structure:
io/
├── vavTemplate/
│ ├── vav.fst
│ ├── vavTags.trio
│ ├── bacnetProperties.trio
│ └── vavFuncs.trio
FINP (.finp)
Full Name: FIN Project/Builder file
Purpose: Asset file that can be downloaded and opened in FIN Builder
Characteristics:
Tagged with
finpFilemarkerCan be custom graphics or other builder components
Associated with
finpFileReffor references