{
 "manufacturer": "AAON",
 "manufacturer_slug": "aaon",
 "model": "VAV/Zone BACnet Controller (VAVZB)",
 "model_slug": "vav-zone-bacnet-controller",
 "short_model": "VAV/Zone BACnet Controller",
 "aliases": [
  "VAVZB",
  "VAV/Zone Controller",
  "ASM02426",
  "ASM02427",
  "ASM02661",
  "ASM02662",
  "SS1116",
  "SS1146",
  "G067750"
 ],
 "equipment_type": "VAV / zone controller",
 "applies_to": "Pressure-independent and pressure-dependent VAV boxes and zone dampers controlled by the AAON VAV/Zone BACnet controller.",
 "summary": "The VAVZB is AAON's VAV box and zone damper controller, used on AAON VAV and zoning systems with an AAON unit controller. It has an on-board BACnet MS/TP port next to the AAON communication loop. Over BACnet it exposes 11 analog inputs, 24 setpoint and configuration analog values, 17 binary status and alarm inputs and 3 multi-state status inputs.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "The guide has no read/write column; AVs are shown as writable (they carry limit ranges) and AI/BI/MI as read-only.",
  "The BACnet map has no occupancy command or BAS sensor input; occupancy comes over the AAON communication loop from the unit controller or a GPC-XP.",
  "Units are not printed for the inputs; temperature units here follow the °F limit ranges. Damper/airflow settings (0-30000) are damper % or CFM depending on box type.",
  "BI 13 and BI 14 are the damper opening and closing alarms; BI 15-17 and BI 11-12 match the alarms listed in the sequence of operation.",
  "Airflow points only apply to pressure-independent boxes; fan and heat points only with the expansion module."
 ],
 "source": {
  "title": "VAV/Zone BACnet Controller Package Technical Guide (Appendix B: BACnet MS/TP Parameters)",
  "doc_number": "G067750",
  "revision_date": "Rev. C, December 21, 2022",
  "url": "https://www.aaon.com/hubfs/Controls%20Literature/G067750-VAVZP-BACNET-RevC%20221221.pdf"
 },
 "integration": {
  "summary": "Set the MAC address, device ID and MS/TP baud on the controller's LCD Settings screens. The BMS can then read zone temperature, airflow, damper position and alarms and write the occupied heating and cooling setpoints and damper/airflow limits. Occupancy itself still comes from the AAON unit controller or GPC-XP over the AAON communication loop.",
  "minimum_points": [
   {
    "ref": "AV 1",
    "name": "Occupied Cooling Setpoint",
    "why": "Occupied cooling setpoint, 50-90 °F"
   },
   {
    "ref": "AV 2",
    "name": "Occupied Heating Setpoint",
    "why": "Occupied heating setpoint, 50-90 °F"
   },
   {
    "ref": "MI 1",
    "name": "Scheduled Mode of Operation",
    "why": "Occupancy/operating mode in effect"
   },
   {
    "ref": "MI 2",
    "name": "Space Temperature HVAC Mode",
    "why": "No demand, cooling, heating or sensor failure"
   },
   {
    "ref": "AI 2",
    "name": "Space Temperature",
    "why": "Zone temperature"
   },
   {
    "ref": "AI 9",
    "name": "Pressure Independent Airflow",
    "why": "Measured airflow (pressure-independent boxes)"
   },
   {
    "ref": "AI 8",
    "name": "Damper Position",
    "why": "Current damper position"
   },
   {
    "ref": "AI 7",
    "name": "Discharge Temperature",
    "why": "Box discharge air temp (if sensor fitted)"
   },
   {
    "ref": "BI 11",
    "name": "Bad or Missing Space Sensor",
    "why": "Space sensor failed or missing"
   },
   {
    "ref": "BI 12",
    "name": "Bad or Missing Airflow Sensor",
    "why": "Airflow sensor failed or missing"
   }
  ],
  "enable": "There is no BACnet occupancy or enable point. The VAVZB takes its occupied/unoccupied command from the AAON unit controller or a GPC-XP over the AAON communication loop, and push-button overrides on the room sensor return it to occupied for 0-8 hours (AV 8). Damper force modes (including AV 21 Force Damper to Fixed Position) stay active until cancelled or power is removed.",
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "BACnet MAC address 0-127, default 1; set on the LCD Settings screen.",
   "Device ID up to 7 digits, set on the LCD (the example screen shows 15000); no default is stated.",
   "MS/TP baud 9600, 19200, 38400, 57600 or 76800; default 38400.",
   "The AAON loop address (Unit ID 1-58) is separate from the BACnet MAC address."
  ],
  "gotchas": [
   "The guide gives no read/write column; test writes to the AVs before relying on them.",
   "BACnet has no occupancy command; MI 1 state 7 shows when the box has lost communication with the RTU.",
   "Damper/airflow settings mean % or CFM depending on whether the box is pressure-independent."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Application Software Version",
   "description": "Software version in the controller",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Space Temperature",
   "description": "Zone temperature from the room sensor",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Active Cooling Setpoint",
   "description": "Cooling setpoint in effect",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Active Heating Setpoint",
   "description": "Heating setpoint in effect",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Slide Offset Effect",
   "description": "Setpoint adjustment from the room sensor slide",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Duct Temperature",
   "description": "Supply duct air temperature",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Discharge Temperature",
   "description": "Box discharge air temperature (if sensor fitted)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "Damper Position",
   "description": "Damper position",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "Pressure Independent Airflow",
   "description": "Measured airflow (pressure-independent boxes)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "Active Heat Stages",
   "description": "Heat stages currently on",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "Modulating Heat Signal",
   "description": "Modulating heat output signal",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Occupied Cooling Setpoint",
   "description": "50-90 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Occupied Heating Setpoint",
   "description": "50-90 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Unoccupied Cooling Setpoint Offset",
   "description": "0-30 °F above occupied",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Unoccupied Heating Setpoint Offset",
   "description": "-30-0 °F below occupied",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Cooling Alarm Limit Offset",
   "description": "High space alarm offset, 1-50 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Heating Alarm Limit Offset",
   "description": "Low space alarm offset, -50 to -1 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Maximum Slide Offset Effect",
   "description": "Maximum slide adjustment, 0-5 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Push-Button Override Duration",
   "description": "Override duration, 0-8 h",
   "units": "h",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Heating Setpoints to Call on Main Heat",
   "description": "Heating setpoint that calls the main unit for heat, 50-90 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Auxiliary Heat Setpoint",
   "description": "Box auxiliary heat setpoint, 50-90 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Maximum Damper/Airflow Setting",
   "description": "Maximum damper position or airflow (0-30000)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "Vent Mode Damper/Airflow Setting",
   "description": "Minimum damper/airflow in vent mode",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "Cooling Mode Damper/Airflow Setting",
   "description": "Minimum damper/airflow in cooling",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "Heating Mode Damper/Airflow Setting",
   "description": "Minimum damper/airflow in heating",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "Unoccupied Damper/Airflow Setting",
   "description": "Damper/airflow in unoccupied mode",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Parallel Fan On Damper/Airflow Setting",
   "description": "Damper/airflow where the parallel fan starts",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "Damper Force Mode Fixed Position",
   "description": "Fixed damper/airflow used by the force mode",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Box Heating Min Damper/Airflow Setting",
   "description": "Minimum damper/airflow when the box heats",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "Requires Main Fan Status for Heating",
   "description": "Box heat needs main fan proof (0/1)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "Force Damper to Fixed Position",
   "description": "Force damper to the fixed position (0/1)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "Space Sensor Calibration Offset",
   "description": "Space sensor offset, -100 to 100 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "Discharge Sensor Calibration Offset",
   "description": "Discharge sensor offset, -100 to 100 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "Vacant Room Cooling Mode Offset",
   "description": "Cooling offset when the room is empty, 0-30 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "Vacant Room Heating Mode Offset",
   "description": "Heating offset when the room is empty, -30-0 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "Box Fan Status",
   "description": "Box fan status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "Heating Relay #1",
   "description": "Heat relay 1 status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 3,
   "name": "Heating Relay #2",
   "description": "Heat relay 2 status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 4,
   "name": "Main Fan Required",
   "description": "Box is asking for the main unit fan",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 5,
   "name": "Main Fan Status",
   "description": "Main unit fan status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 6,
   "name": "Airflow Too Low for Heating",
   "description": "Airflow too low for box heat",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 7,
   "name": "Box Allowed to Vote",
   "description": "Box is a voting zone",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 8,
   "name": "Box Fan Starting Delay Active",
   "description": "Box fan start delay running",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 9,
   "name": "Auxiliary Heat Relay Status",
   "description": "Auxiliary heat relay status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 10,
   "name": "Occupancy Status",
   "description": "Occupied/unoccupied status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 11,
   "name": "Bad or Missing Space Sensor",
   "description": "Space sensor alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 12,
   "name": "Bad or Missing Airflow Sensor",
   "description": "Airflow (CFM) sensor alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 13,
   "name": "Damper Failed to Move Clockwise",
   "description": "Damper opening/closing alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 14,
   "name": "Damper Failed to Move Counter-Clockwise",
   "description": "Damper opening/closing alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 15,
   "name": "High Space Temperature Alarm",
   "description": "High space temperature alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 16,
   "name": "Low Space Temperature Alarm",
   "description": "Low space temperature alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 17,
   "name": "Damper Feedback Failure",
   "description": "Damper feedback failure alarm",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "MI",
   "instance": 1,
   "name": "Scheduled Mode of Operation",
   "description": "Current occupancy/operating mode",
   "units": "",
   "access": "R",
   "states": "1=Unoccupied Mode, 2=Occupied Mode, 3=Override Mode, 4=Calibrating Damper Feedback, 5=Group Override, 6=Open Window Forced Off, 7=Lost Communication with RTU, 8=Occupied Room is Empty"
  },
  {
   "type": "MI",
   "instance": 2,
   "name": "Space Temperature HVAC Mode",
   "description": "Space demand mode",
   "units": "",
   "access": "R",
   "states": "1=No Space Demand, 2=Space Cooling Mode, 3=Space Heating Mode, 4=Sensor Failure Mode"
  },
  {
   "type": "MI",
   "instance": 3,
   "name": "Type of VAV Box",
   "description": "Configured box type",
   "units": "",
   "access": "R",
   "states": "1=Cooling Only Box, 2=Heat/Cool Changeover Box, 3=Series Fan Powered Box, 4=Parallel Fan Powered Box"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/aaon/vav-zone-bacnet-controller",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
