{
 "manufacturer": "AAON",
 "manufacturer_slug": "aaon",
 "model": "SA Controller (via PT-Link II BACnet gateway)",
 "model_slug": "sa-controller-pt-link-ii",
 "short_model": "SA Controller (PT-Link II)",
 "aliases": [
  "SA controller",
  "AAON SA",
  "PT-Link II",
  "PT-Link BACnet5",
  "G114680"
 ],
 "equipment_type": "Rooftop unit / air handler controller (gateway)",
 "applies_to": "AAON units with the SA (single-zone) controller, reached through the AAON PT-Link II BACnet MS/TP gateway.",
 "summary": "AAON's PT-Link II BACnet5 gateway connects AAON controller loops to a BACnet MS/TP network. For the SA controller it exposes 98 objects: setpoints, offsets and the schedule force as writable AVs, plus read-only temperatures, humidity, pressures, damper and VFD signals, unit mode, control status, enable flags and alarms.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": "50000 + MS/TP MAC address",
 "access_inferred": false,
 "notes": [
  "Objects are served by the AAON PT-Link II gateway, which reads the controller over its RS-485 loop; object names are the PT-Link data names (SchdFrc, SpcTp and so on).",
  "Per the guide, AI and BI objects are read-only and AV objects are read/write; sensor inputs are read-only. No units column; AV limits are added to descriptions.",
  "Unit Mode and Control Status enumerations are listed in the guide's property identifier page; alarm group and relay objects are bit strings described there."
 ],
 "source": {
  "title": "PT-Link II BACnet5 Technical Guide - BACnet Properties and PT-Link Data Array Cross Reference for SA",
  "doc_number": "G114680 Rev A",
  "revision_date": "2022-10-12",
  "url": "https://23126496.fs1.hubspotusercontent-na1.net/hubfs/23126496/G114680_PTLinkII_BACnet5_vA_221012.pdf"
 },
 "integration": {
  "summary": "Wire the PT-Link II to the AAON controller loop and to the BACnet MS/TP trunk, set its MAC address and baud rate, and check the device instance. The BAS schedules the unit with SchdFrc (AV 66) and adjusts the occupied and supply air setpoints; status, temperatures and alarms are read-only objects.",
  "minimum_points": [
   {
    "ref": "AV 66",
    "name": "SchdFrc",
    "why": "Occupancy: 0 auto, 1 forced on, 2 forced off"
   },
   {
    "ref": "AV 42",
    "name": "OcpClSt",
    "why": "Occupied cooling mode enable setpoint"
   },
   {
    "ref": "AV 43",
    "name": "OcpHtSt",
    "why": "Occupied heating mode enable setpoint"
   },
   {
    "ref": "AV 77",
    "name": "SaClSt",
    "why": "Supply air cooling setpoint"
   },
   {
    "ref": "AI 123",
    "name": "UnitMode",
    "why": "Occupancy mode in effect"
   },
   {
    "ref": "AI 4",
    "name": "CtrlSts",
    "why": "Operating mode (off, vent, cool, heat...)"
   },
   {
    "ref": "AI 72",
    "name": "SpcTp",
    "why": "Space temperature"
   },
   {
    "ref": "AI 83",
    "name": "SaTp",
    "why": "Supply air temperature"
   },
   {
    "ref": "BI 94",
    "name": "MchClAlm",
    "why": "Mechanical cooling alarm"
   },
   {
    "ref": "BI 95",
    "name": "MchHtAlm",
    "why": "Mechanical heating alarm"
   }
  ],
  "enable": "SchdFrc (AV 66) sets occupancy: 0 = auto/unoccupied (the controller's own schedule and inputs decide), 1 = forced on, 2 = forced off.",
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "MS/TP MAC address must be 1-127; baud 9600, 19200, 38400 or 76800 is set on the PT-Link.",
   "Device instance = Device Instance ID (default 50,000) + MS/TP MAC address; change the ID on the PT-Link web Configuration page.",
   "The PT-Link web page defaults to 192.168.1.24 (user admin, password on the ProtoCessor label); AAON supports BACnet MS/TP only."
  ],
  "gotchas": [
   "Alarm group and relay objects are bit-coded; decode them with the bit tables in the guide.",
   "Points for MODGAS, REHEAT, preheat and expansion boards report only when that hardware is connected."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 99,
   "name": "AppVer",
   "description": "Application Software Version",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "ClSt",
   "description": "Occupied Mode Enable Cooling Setpoint Mirror",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 31,
   "name": "HtSt",
   "description": "Occupied Mode Enable Heating Setpoint Mirror",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 84,
   "name": "TpDmnd",
   "description": "Temperature Demand",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 72,
   "name": "SpcTp",
   "description": "Space Temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 83,
   "name": "SaTp",
   "description": "Supply Air Temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 14,
   "name": "DuctPr",
   "description": "Duct Static Pressure",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 123,
   "name": "UnitMode",
   "description": "Unit Mode",
   "units": "",
   "access": "R",
   "states": "0=Unoccupied, 1=Remote Contact Occupied, 2=Normal Schedule Occupied, 3=Push Button or Zone Override, 4=Holiday Mode Active, 5=Unoccupied Zone Demand, 6=Remote Schedule Override, 7=Current Output Force Mode, 8=SAT High or Low Cut Off, 9=CO2 Override In Progress, 10=Purge Mode Active"
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "CtrlSts",
   "description": "Control Status",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=Vent, 2=Cool, 3=Heat, 4=Dehum, 5=Dehum Cool, 6=Dehum Heat, 7=Warm Up Mode"
  },
  {
   "type": "BI",
   "instance": 6,
   "name": "ClEnbl",
   "description": "Cooling Enabled",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 30,
   "name": "HtEnbl",
   "description": "Heating Enabled",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 15,
   "name": "EcoEnbl",
   "description": "Economizer Enabled",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 25,
   "name": "FanDly",
   "description": "Fan Start Up Delay",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 39,
   "name": "MdHt2Ins",
   "description": "MODGAS II Connected",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 58,
   "name": "Rt2Ins",
   "description": "REHEAT II Connected",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 16,
   "name": "EcoPos",
   "description": "Economizer Position",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 88,
   "name": "VfdBwPos",
   "description": "VFD Blower Fan",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "SaTpAlm",
   "description": "Bad Supply Air Sensor",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 101,
   "name": "SpcTpAlm",
   "description": "Space Temperature Sensor Lost",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 94,
   "name": "MchClAlm",
   "description": "Mechanical Cooling Alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 95,
   "name": "MchHtAlm",
   "description": "Mechanical Heating Alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 26,
   "name": "PofAlm",
   "description": "Fan Proving Alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 96,
   "name": "DrtFlAlm",
   "description": "Dirty Filter Detected",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 37,
   "name": "LoSaAlm",
   "description": "Low Supply Air Temperature Alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 33,
   "name": "HiSaAlm",
   "description": "High Supply Air Temperature Alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 108,
   "name": "CtrlTpCF",
   "description": "Control Temperature Cool Failure",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 109,
   "name": "CtrlTpHF",
   "description": "Control Temperature Heat Failure",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "CtrlTp",
   "description": "Control Temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 67,
   "name": "InRh",
   "description": "Indoor Humidity",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 114,
   "name": "InRhStM",
   "description": "Indoor RH Setpoint Mirror",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 110,
   "name": "DptStM",
   "description": "Dewpoint Setpoint Mirror",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 115,
   "name": "MdClPos",
   "description": "Modulating Cool Position",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 116,
   "name": "MdHtPos",
   "description": "Modulating Heat Position",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 38,
   "name": "MdHt2Pos",
   "description": "Modulating Gas Valve Position",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 60,
   "name": "Rt2Pos",
   "description": "Reheat Value Position",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 42,
   "name": "OcpClSt",
   "description": "Occupied Mode Enable Cooling Setpoint (limits 0 to 99)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 43,
   "name": "OcpHtSt",
   "description": "Occupied Mode Enable Heating Setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 124,
   "name": "UnClOst",
   "description": "Unoccupied Cooling Offset (limits 0 to 30)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 125,
   "name": "UnHtOst",
   "description": "Unoccupied Heating Offset (limits 0 to 30)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 77,
   "name": "SaClSt",
   "description": "SAT Cooling Setpoint (limits 40 to 80)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 325,
   "name": "SaHtRt",
   "description": "Supply Air Heat High Reset (limits 40 to 150)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 91,
   "name": "WmupSt",
   "description": "Warm Up Setpoint (limits 50 to 90)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 71,
   "name": "SpcTpOst",
   "description": "Space Sensor Offset (limits -100 to 100)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 80,
   "name": "SaTpOst",
   "description": "Supply Air Sensor Offset (limits -100 to 100)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 107,
   "name": "CoilTpSt",
   "description": "Coil Temperature Setpoint",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "DptSt",
   "description": "Dewpoint Setpoint (limits 35 to 80)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 120,
   "name": "InRhSt",
   "description": "Indoor Humidity Setpoint (limits 0 to 100)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 152,
   "name": "DuctPrSt",
   "description": "Static Pressure Setpoint (limits 0.01 to 3)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 66,
   "name": "SchdFrc",
   "description": "Schedule Force (limits 0 to 2)",
   "units": "",
   "access": "W",
   "states": "0=Auto/Unoccupied Mode, 1=Forced On, 2=Forced Off"
  },
  {
   "type": "BI",
   "instance": 127,
   "name": "OnRly1",
   "description": "On Board Relay 1",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 128,
   "name": "OnRly2",
   "description": "On Board Relay 2",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 129,
   "name": "OnRly3",
   "description": "On Board Relay 3",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 130,
   "name": "OnRly4",
   "description": "On Board Relay 4",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 131,
   "name": "OnRly5",
   "description": "On Board Relay 5",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 133,
   "name": "ExRly1",
   "description": "Expansion Relay 1",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 134,
   "name": "ExRly2",
   "description": "Expansion Relay 2",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 135,
   "name": "ExRly3",
   "description": "Expansion Relay 3",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 136,
   "name": "ExRly4",
   "description": "Expansion Relay 4",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 137,
   "name": "ExRly5",
   "description": "Expansion Relay 5",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 138,
   "name": "ExRly6",
   "description": "Expansion Relay 6",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 139,
   "name": "ExRly7",
   "description": "Expansion Relay 7",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 140,
   "name": "ExRly8",
   "description": "Expansion Relay 8",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 141,
   "name": "ExRly9",
   "description": "Expansion Relay 9",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 142,
   "name": "ExRly10",
   "description": "Expansion Relay 10",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 143,
   "name": "ExRly11",
   "description": "Expansion Relay 11",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 144,
   "name": "ExRly12",
   "description": "Expansion Relay 12",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 145,
   "name": "ExRly13",
   "description": "Expansion Relay 13",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 146,
   "name": "ExRly14",
   "description": "Expansion Relay 14",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 147,
   "name": "ExRly15",
   "description": "Expansion Relay 15",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 148,
   "name": "ExRly16",
   "description": "Expansion Relay 16",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 181,
   "name": "CoilTp",
   "description": "Coil Temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 82,
   "name": "SaTpStM",
   "description": "Current Supply Air Setpoint",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 196,
   "name": "PreHtSp",
   "description": "Preheater Setpoint (limits 0 to 100)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 235,
   "name": "EaTp",
   "description": "Entering Air Temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 236,
   "name": "EwTp",
   "description": "Entering Water Temperature",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 237,
   "name": "EaRh",
   "description": "Entering Air Humidity",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 207,
   "name": "HdPr1",
   "description": "Head Pressure 1",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 208,
   "name": "HdPr2",
   "description": "Head Pressure 2",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 240,
   "name": "CoilTp2",
   "description": "Coil Temperature 2",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 241,
   "name": "EaDpt",
   "description": "Entering Air Dewpoint",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 242,
   "name": "WSEByp",
   "description": "Water Side Economizer Bypass",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 243,
   "name": "WSEByp2",
   "description": "Water Side Economizer Bypass 2",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 107,
   "name": "CoilTpSt",
   "description": "Coil Temperature Setpoint (limits 35 to 70)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 206,
   "name": "MdCmp2",
   "description": "Modulating Compressor 2 Position",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 246,
   "name": "CdPos1",
   "description": "Condenser Position 1",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 247,
   "name": "CdPos2",
   "description": "Condenser Position 2",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 248,
   "name": "EaTpAlm",
   "description": "Entering Air Temperature Alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 219,
   "name": "EmerAlm",
   "description": "Emergency Shutdown Alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 245,
   "name": "PoWFAlm",
   "description": "Proof of Water Flow Alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 244,
   "name": "DrnAlm",
   "description": "Drain Pan Overflow",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 238,
   "name": "EaTpOst",
   "description": "Entering Air Offset Setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 239,
   "name": "EwTpOst",
   "description": "Entering Water Offset Setpoint",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 324,
   "name": "SaClRt",
   "description": "Supply Air Cool High Reset (limits 40 to 150)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 78,
   "name": "SaHtSt",
   "description": "SAT Heating Setpoint (limits 40 to 200)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 326,
   "name": "ClLoRt",
   "description": "Cooling Low Reset Source (limits 1 to 150)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 327,
   "name": "ClHiRt",
   "description": "Cooling High Reset Source (limits 1 to 150)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 328,
   "name": "HtLoRt",
   "description": "Heating Low Reset Source (limits 1 to 150)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 329,
   "name": "HtHiRt",
   "description": "Heating High Reset Source (limits 1 to 150)",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/aaon/sa-controller-pt-link-ii",
 "note": "Provided as-is. Point availability varies by firmware and options; verify against the live device.",
 "disclaimer": "DISCLAIMER: reference only, provided AS IS with no warranty. May contain errors or be out of date. You must verify every point against the manufacturer's current documentation and the live device before use. easybacnet.com accepts no liability for its use and is not affiliated with the manufacturer. Terms: https://easybacnet.com/terms#content"
}
