{
 "manufacturer": "Desert Aire",
 "manufacturer_slug": "desert-aire",
 "model": "IAQ Controller Program 3.3.4",
 "model_slug": "iaq-controller",
 "aliases": [
  "Desert Aire IAQ",
  "IAQ 3.3.4",
  "IAQ program"
 ],
 "equipment_type": "Outdoor air dehumidifier / DOAS controller",
 "applies_to": "Desert Aire dehumidification units running the IAQ controller program, version 3.3.4 (units with intake air, energy wheel, exhaust fan and outdoor/recirculation dampers).",
 "summary": "The IAQ program runs Desert Aire's outdoor-air units with an energy recovery wheel, supply and exhaust fans, up to four compressors and condenser fans, and CO2 measurement. The BACnet list is short: an occupancy command, a remote reset, supply air and zone air setpoints, sensor and command readbacks, and integer status, CO2, pressure and alarm code objects. There is no network on/off command.",
 "bacnet_transport": [],
 "firmware": "IAQ program 3.3.4",
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "BV 3 Alarm Active is inverted: 0 = alarm, 1 = normal.",
  "The list gives many analog values 'in tenths' (and some integers in thousandths); check whether your BMS reads 72.5 or 725 and scale if needed.",
  "The source lists instances 1001 and up as type \"INT\" and does not say which BACnet object type that is. They are shown here as AV, but Desert Aire does not confirm that; check the actual object type with a device discovery before mapping.",
  "Desert Aire does not name the product series on this list; it covers units that run the IAQ program.",
  "The source does not say whether the unit uses BACnet IP or BACnet MS/TP.",
  "AV 23 VS Low Oil Speed Setting is a variable-speed compressor setting, not an everyday BMS point."
 ],
 "source": {
  "title": "BACnet Points List - Unit Type IAQ Program Versions IAQ 3.3.4",
  "doc_number": "ECN 10880 (Rev. 00)",
  "revision_date": "2022-11-28",
  "url": "https://www.desert-aire.com/wp-content/uploads/2025/04/IAQ-BACnet-Points-Ver-3_3_4.pdf"
 },
 "points": [
  {
   "type": "AV",
   "instance": 1,
   "name": "Suction Pressure",
   "description": "Range 0 to 250 psig (sent in tenths)",
   "units": "psig",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Discharge Pressure",
   "description": "Range 0 to 650 psig (sent in tenths)",
   "units": "psig",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Intake Air Relative Humidity",
   "description": "Range 0 to 100 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Intake Air Temperature",
   "description": "Range -42 to 137 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Intake Air Dewpoint",
   "description": "Calculated intake air dew point",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Supply Air Temperature",
   "description": "Range -58 to 212 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Zone Air Temperature",
   "description": "Range -58 to 212 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Zone Air Relative Humidity",
   "description": "Range 0 to 100 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Suction Press Circuit B",
   "description": "Range 0 to 250 psig (sent in tenths)",
   "units": "psig",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Discharge Press Circuit B",
   "description": "Range 0 to 650 psig (sent in tenths)",
   "units": "psig",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Supply Fan Speed Command",
   "description": "Range 0 to 100 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "Auxiliary Heating Comm.",
   "description": "Range 0 to 100 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "Outside Air Damper Comm.",
   "description": "Range 0 to 100 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "Recirc. Damper Command",
   "description": "Range 0 to 100 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "Exhaust Fan Speed Comm.",
   "description": "Range 0 to 100 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Wheel Speed Command",
   "description": "Range 0 to 100 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "Outside Air Relative Humidity",
   "description": "Range 0 to 100 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Outside Air Temperature",
   "description": "Range -42 to 137 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "Return Air Relative Humidity",
   "description": "Range 0 to 100 % (sent in tenths)",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "Return Air Temperature",
   "description": "Range -42 to 137 °F (sent in tenths)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "Supply Air Setpoint",
   "description": "Settable 45.0 to 99.9 °F (sent in tenths)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "Zone Air Setpoint",
   "description": "Settable 55.0 to 95.0 °F (sent in tenths)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "VS Low Oil Speed Setting",
   "description": "Settable 0.0 to 100.0 % (sent in tenths)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1001,
   "name": "Unit Status",
   "description": "Current operating state code (listed as INT)",
   "units": "",
   "access": "R",
   "states": "0=Unit Satisfied / Unit Off, 1=Heating Required, 2=Cooling Required, 3=Dehumidification Required, 4=Dehum and Heating Required, 5=Dehum and Cooling Required, 6=Low Suction Pressure Condition, 7=EXV Initialization, 8=Damper Opening, 9=High Discharge Pressure Limiting, 10=Pump Down Required, 11=Compressor Switched Off, 12=Variable Speed Comp. Limiting"
  },
  {
   "type": "AV",
   "instance": 1002,
   "name": "CO2 In Zone",
   "description": "Zone CO2, 0-2000 ppm (listed as INT)",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1003,
   "name": "CO2 Outside",
   "description": "Outdoor CO2, 0-2000 ppm (listed as INT)",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1004,
   "name": "CO2 Differential",
   "description": "Zone minus outdoor CO2 (listed as INT)",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1005,
   "name": "Heat Wheel Supply Pressure",
   "description": "Integer in thousandths (1452 = 1.452 in. w.c.) (listed as INT)",
   "units": "in. w.c.",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1006,
   "name": "Heat Wheel Exhaust Pressure",
   "description": "Integer in thousandths (1452 = 1.452 in. w.c.) (listed as INT)",
   "units": "in. w.c.",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1007,
   "name": "Air Flow Differential Pressure",
   "description": "Integer in thousandths (1452 = 1.452 in. w.c.) (listed as INT)",
   "units": "in. w.c.",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1008,
   "name": "Alarm Code",
   "description": "Active alarm code (listed as INT)",
   "units": "",
   "access": "R",
   "states": "1=Motor Overloads, 2=High Discharge Pressure A, 3=High Discharge Pressure B, 4=Disch. Press. Sensor Fault A, 5=Disch. Press. Sensor Fault B, 6=Condenser Overload Alarm, 7=Low Suction Pressure, 8=Multiple Low Pressure A, 9=Multiple Low Pressure B, 10=Low Voltage Fault, 11=ModBus Comm. Fault, 12=Temperature Sensor Fault, 13=pAD Network Fault, 14=SAT Out of Range, 15=Low Air Flow, 16=Low Water Flow, 17=Freeze Stat Alarm, 18=High Condensate Level, 19=Air Filter Clogged, 20=Smoke Alarm"
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "Network Occupied Input",
   "description": "Occupancy command",
   "units": "",
   "access": "W",
   "states": "0=Unoccupied, 1=Occupied"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "Occupied",
   "description": "Occupied state",
   "units": "",
   "access": "R",
   "states": "0=Unoccupied, 1=Occupied"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "Alarm Active",
   "description": "Unit alarm state (inverted)",
   "units": "",
   "access": "R",
   "states": "0=Alarm, 1=Normal"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "Air Flow",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=No Flow, 1=Flow"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "Supply Fan",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "Exhaust Fan",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "Wheel Motor",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Compressor #1",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "Compressor #2",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "Compressor #3",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "Compressor #4",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "Condenser Fan #1",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 13,
   "name": "Condenser Fan #2",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 14,
   "name": "Condenser Fan #3",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 15,
   "name": "Condenser Fan #4",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 16,
   "name": "Remote Reset",
   "description": "Write 1 to reset; clears itself after a scan",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "integration": {
  "summary": "Command occupancy with BV 1 and adjust the zone air and supply air setpoints (AV 22, AV 21). Monitor Unit Status (AV 1001), supply fan, supply and zone temperatures, and alarms through BV 3 (inverted) and the alarm code (AV 1008). Use BV 16 to reset alarms.",
  "minimum_points": [
   {
    "ref": "BV 1",
    "name": "Network Occupied Input",
    "why": "Occupancy command (1 = occupied)"
   },
   {
    "ref": "AV 22",
    "name": "Zone Air Setpoint",
    "why": "Zone air setpoint, 55.0-95.0 °F"
   },
   {
    "ref": "AV 21",
    "name": "Supply Air Setpoint",
    "why": "Supply air setpoint, 45.0-99.9 °F"
   },
   {
    "ref": "BV 16",
    "name": "Remote Reset",
    "why": "Write 1 to reset"
   },
   {
    "ref": "AV 1001",
    "name": "Unit Status",
    "why": "Operating state code (0-12)"
   },
   {
    "ref": "BV 5",
    "name": "Supply Fan",
    "why": "Supply fan running"
   },
   {
    "ref": "AV 6",
    "name": "Supply Air Temperature",
    "why": "Supply (leaving) air temperature, °F"
   },
   {
    "ref": "AV 7",
    "name": "Zone Air Temperature",
    "why": "Measured zone temperature, °F"
   },
   {
    "ref": "BV 3",
    "name": "Alarm Active",
    "why": "Unit alarm; 0 = alarm, 1 = normal"
   },
   {
    "ref": "AV 1008",
    "name": "Alarm Code",
    "why": "Active alarm code (1-20)"
   }
  ],
  "enable": "No network on/off object is listed. BV 1 Network Occupied Input sets occupied (1) or unoccupied (0); BV 2 confirms the occupied state.",
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "The source gives no default device instance, MAC address, baud rate or IP settings."
  ],
  "gotchas": [
   "BV 3 Alarm Active is inverted (0 = alarm).",
   "Pressure integers AV 1005-1007 are in thousandths of an inch of water column.",
   "Objects 1001 and up are listed only as \"INT\"; confirm their BACnet object type by discovery (shown here as AV)."
  ]
 },
 "page": "https://easybacnet.com/bacnet-points-lists/desert-aire/iaq-controller",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
