{
 "manufacturer": "Greenheck",
 "manufacturer_slug": "greenheck",
 "model": "Dedicated Outdoor Air Systems (DOAS) - BACnet",
 "model_slug": "doas-bacnet-integration",
 "aliases": [
  "Greenheck DOAS",
  "DOAS",
  "DOAS_10.006",
  "485940"
 ],
 "equipment_type": "Dedicated outdoor air system (DOAS)",
 "applies_to": "Greenheck dedicated outdoor air units whose factory controller runs the DOAS_10 program with BACnet licensed.",
 "summary": "Greenheck's DOAS units use a factory controller that can be licensed for BACnet. The BMS mainly enables the unit, commands occupancy, resets alarms and adjusts temperature, dehumidification and airflow setpoints; it can also take over fan speeds, the outdoor air damper and sensor values. A BMS watchdog must be written regularly whenever the BMS does that, or the unit alarms and returns to local control. The points list is the same on every unit regardless of heating and cooling options.",
 "bacnet_transport": [
  "BACnet IP"
 ],
 "firmware": "DOAS_10.006",
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "BACnet must be licensed/enabled on the controller; without it the unit won't respond.",
  "Write BV-1 BMS_Watchdog = Active regularly; after the timeout (default 15 min) the unit alarms and falls back to local values.",
  "To use a BMS sensor value, set the matching *_Source_BMS binary to BMS, then write the *_from_BMS analog.",
  "Status bits (cooling/heating on, compressors, furnace stages, filter alarm, wheel, preheat, etc.) are packed into IV-6 to IV-11, with 16-bit AV copies.",
  "Unit_Status_Mode (AV-40) and LatestAlm (IV-5/AV-93) return codes; the source has the code tables.",
  "The guide only describes BBMD setup for IP networks; it does not say whether BACnet MS/TP is offered. Same controller family and object layout as the Greenheck IVE guide."
 ],
 "source": {
  "title": "BACnet Integration Guide for Dedicated Outdoor Air Systems",
  "doc_number": "Document 485940 (DOAS_10.006 Rev 5)",
  "revision_date": "2025-09",
  "url": "https://content.greenheck.com/public/DAMProd/Original/10017/485940_BACnetGuide.pdf"
 },
 "points": [
  {
   "type": "BV",
   "instance": 2,
   "name": "System_Enable",
   "description": "Master system enable/disable command",
   "units": "",
   "access": "C",
   "states": "Active=Enabled; Inactive=Disabled"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "BMS_Occupancy_Command",
   "description": "Building Occupancy Command",
   "units": "",
   "access": "C",
   "states": "Active=Unoccupied; Inactive=Occupied"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "Reset_All_Alarms",
   "description": "Alarm Reset Command",
   "units": "",
   "access": "C",
   "states": "Active=Reset; Inactive=Normal"
  },
  {
   "type": "BV",
   "instance": 23,
   "name": "Global_Alarm",
   "description": "Global Alarm",
   "units": "",
   "access": "R",
   "states": "Active=Alarm; Inactive=Normal"
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Temperature_Setpoint",
   "description": "Occupied temperature setpoint (space, return or supply); default 72°F, 50-100°F",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 29,
   "name": "Supply_Fan_1_Alarm.Active",
   "description": "Supply Fan Alarm Active",
   "units": "",
   "access": "R",
   "states": "Active=Alarm; Inactive=Normal"
  },
  {
   "type": "BV",
   "instance": 30,
   "name": "Exhaust_Fan_1_Alarm.Active",
   "description": "Exhaust Fan Alarm Active",
   "units": "",
   "access": "R",
   "states": "Active=Alarm; Inactive=Normal"
  },
  {
   "type": "BV",
   "instance": 31,
   "name": "Drain_Pan_Alarm.Active",
   "description": "Condensate drain pan alarm",
   "units": "",
   "access": "R",
   "states": "Active=Alarm; Inactive=Normal"
  },
  {
   "type": "BV",
   "instance": 32,
   "name": "Fire_Safety_Shutdown_Alarm.Active",
   "description": "Fire safety shutdown alarm",
   "units": "",
   "access": "R",
   "states": "Active=Alarm; Inactive=Normal"
  },
  {
   "type": "BV",
   "instance": 33,
   "name": "Refrigerant_Leak_Compressor_Alarm.Active",
   "description": "Refrigerant leak alarm, compressor section",
   "units": "",
   "access": "R",
   "states": "Active=Alarm; Inactive=Normal"
  },
  {
   "type": "BV",
   "instance": 34,
   "name": "Refrigerant_Leak_Airstream_Alarm.Active",
   "description": "Refrigerant leak alarm, airstream",
   "units": "",
   "access": "R",
   "states": "Active=Alarm; Inactive=Normal"
  },
  {
   "type": "IV",
   "instance": 5,
   "name": "LatestAlm",
   "description": "Most recent active alarm code",
   "units": "",
   "access": "R",
   "states": "Code list in source alarm table"
  },
  {
   "type": "AV",
   "instance": 93,
   "name": "LatestAlm",
   "description": "Most recent active alarm code",
   "units": "",
   "access": "R",
   "states": "Code list in source alarm table"
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "Unit_Status_Mode",
   "description": "Unit Operation Mode/State",
   "units": "",
   "access": "R",
   "states": "Mode code list in source status mode table"
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "Exhaust_Fan_1_Status_Digital_Input",
   "description": "Exhaust Fan 1 Status",
   "units": "",
   "access": "R",
   "states": "Active=Active; Inactive=Inactive"
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "Supply_Fan_1_Status_Digital_Input",
   "description": "Supply Fan 1 Status",
   "units": "",
   "access": "R",
   "states": "Active=Active; Inactive=Inactive"
  },
  {
   "type": "AV",
   "instance": 73,
   "name": "Exhaust_Fan_Speed_Analog_Output",
   "description": "Exhaust Fan Speed Analog Output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 78,
   "name": "Outside_Air_Damper_Analog_Output",
   "description": "Outside Air Damper Analog Output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 79,
   "name": "Supply_Fan_Speed_Analog_Output",
   "description": "Supply Fan Speed Analog Output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 42,
   "name": "Cooling_1_Ramp_Capacity",
   "description": "Cooling Ramp 1 Status Value",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 51,
   "name": "Heating_Capacity",
   "description": "Heating Ramp",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 72,
   "name": "Energy_Recovery_Analog_Output",
   "description": "Energy Recovery Analog Output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 50,
   "name": "HP_Ramp_Capacity",
   "description": "Heat Pump Heating Ramp",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 53,
   "name": "Hot_Gas_Reheat_Ramp",
   "description": "Hot Gas Reheat Ramp",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 80,
   "name": "Modulating_Compressor_Analog_Output_BMS",
   "description": "Modulating Compressor Analog Output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 68,
   "name": "Chilled_Water_1_Valve_Analog_Output",
   "description": "Chilled Water 1 Valve Analog Output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 74,
   "name": "Hot_Water_Valve_1_Analog_Output",
   "description": "Hot Water Valve 1 Analog Output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 76,
   "name": "Mod_Gas_Furnace_1_Analog_Output",
   "description": "Mod Gas Furnace 1 Analog Output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 70,
   "name": "Electric_Heater_1_Analog_Output",
   "description": "Electric Heater 1 Analog Output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "Space_Temp_Analog_Input",
   "description": "Space Air Temperature",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Supply_Temp_Analog_Input",
   "description": "Supply(discharge) Air Temperature",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Outside_Air_Temp_Analog_Input",
   "description": "Outside Air Temperature",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Mixed_Temp_Analog_Input",
   "description": "Mixed Air Temperature",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Cold_Coil_1_Temp_Analog_Input",
   "description": "Cold Coil 1 Leaving Air Temperature",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Return_Temp_Analog_Input",
   "description": "Return Air Temperature",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "Exhaust_Temp_Analog_Input",
   "description": "Exhaust Air Temperature",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "Space_RH_Analog_Input",
   "description": "Space Air Relative Humidity",
   "units": "%RH",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "Outside_RH_Analog_Input",
   "description": "Outside Air Relative Humidity",
   "units": "%RH",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "Return_RH_Analog_Input",
   "description": "Return Air Relative Humidity",
   "units": "%RH",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 12,
   "name": "Return_Duct_Static_Pressure_Analog_Input",
   "description": "Return Duct Static Pressure",
   "units": "in. w.c.",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 13,
   "name": "Space_Static_Pressure_Analog_Input",
   "description": "Space Static Pressure",
   "units": "in. w.c.",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 14,
   "name": "Supply_Duct_Static_Pressure_Analog_Input",
   "description": "Supply Duct Static Pressure",
   "units": "in. w.c.",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 15,
   "name": "Space_CO2_1_Analog_Input",
   "description": "Space 1 CO2 ppm",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 17,
   "name": "Return_CO2_Analog_Input",
   "description": "Return CO2 ppm",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 64,
   "name": "Total_Exhaust_Fan_CFM_BMS",
   "description": "Total Exhaust Fan CFM",
   "units": "CFM",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 65,
   "name": "Total_Supply_Fan_CFM_BMS",
   "description": "Total Supply Fan CFM",
   "units": "CFM",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 66,
   "name": "OAD_CFM_BMS",
   "description": "Outdoor Air Damper CFM",
   "units": "CFM",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 41,
   "name": "Supply_Temperature_Calculated_Setpoint",
   "description": "Active Supply Temperature Setpoint",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 90,
   "name": "Coil_Temperature_Calculated_Setpoint",
   "description": "Calculated Coil Leaving Set point",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "IV",
   "instance": 6,
   "name": "Device_Enable_DO_Word",
   "description": "Device Enable DO Word (bit-packed, 32-bit)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 94,
   "name": "Device_Enable_DO_Word",
   "description": "Device Enable DO Word bits 0-15 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 95,
   "name": "Device_Enable_DO_Word",
   "description": "Device Enable DO Word bits 16-31 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "IV",
   "instance": 7,
   "name": "Ref_Ckt_PressTemp_Alarm_Word",
   "description": "Refrigeration Circuit Word (bit-packed, 32-bit)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 96,
   "name": "Ref_Ckt_PressTemp_Alarm_Word",
   "description": "Refrigeration Circuit Word bits 0-15 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 97,
   "name": "Ref_Ckt_PressTemp_Alarm_Word",
   "description": "Refrigeration Circuit Word bits 16-31 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "IV",
   "instance": 8,
   "name": "Device_Offline_Word",
   "description": "Device Offline Word (bit-packed, 32-bit)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 98,
   "name": "Device_Offline_Word",
   "description": "Device Offline Word bits 0-15 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 99,
   "name": "Device_Offline_Word",
   "description": "Device Offline Word bits 16-31 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "IV",
   "instance": 9,
   "name": "Device_Alarm_Word",
   "description": "Device Alarm Word (bit-packed, 32-bit)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 100,
   "name": "Device_Alarm_Word",
   "description": "Device Alarm Word bits 0-15 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 101,
   "name": "Device_Alarm_Word",
   "description": "Device Alarm Word bits 16-31 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "IV",
   "instance": 10,
   "name": "System_Word",
   "description": "System Word (bit-packed, 32-bit)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 102,
   "name": "System_Word",
   "description": "System Word bits 0-15 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 103,
   "name": "System_Word",
   "description": "System Word bits 16-31 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "IV",
   "instance": 11,
   "name": "Unit_Status_Word",
   "description": "Unit Status Word (bit-packed, 32-bit)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 104,
   "name": "Unit_Status_Word",
   "description": "Unit Status Word bits 0-15 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 105,
   "name": "Unit_Status_Word",
   "description": "Unit Status Word bits 16-31 (16-bit copy)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "IV",
   "instance": 1,
   "name": "Temperature_Reset_Mode",
   "description": "Occupied temperature reset mode",
   "units": "",
   "access": "W",
   "states": "1 = No Reset; 2 = Space Reset; 3 = Return Reset; 4 = Outside Reset"
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Temperature_Heat_Cool_Deadband",
   "description": "Occupied heat/cool deadband for space/return reset; default 4°F",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "IV",
   "instance": 2,
   "name": "Temperature_Reset_Mode_Unoccupied",
   "description": "Unoccupied temperature reset mode",
   "units": "",
   "access": "W",
   "states": "1 = No Reset; 2 = Space Reset; 3 = Return Reset; 4 = Outside Reset"
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Temperature_Setpoint_Unoccupied",
   "description": "Unoccupied temperature setpoint; default 70°F",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Temperature_Heat_Cool_Deadband_Unoccupied",
   "description": "Unoccupied heat/cool deadband for space/return reset",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Cooling_Coil_Setpoint_Min",
   "description": "Primary Cooling Coil Leaving Air Setpoint; default 50°F, min 46°F, max 80°F",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Cooling_Coil_Setpoint_Max",
   "description": "Max coil leaving air setpoint when coil reset is used; default 55°F",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Dehumidification_Setpoint",
   "description": "Occupied dehumidification setpoint (space or return RH); default 55%RH",
   "units": "%RH",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Unoccupied_Dehumidification_Setpoint",
   "description": "Unoccupied Dehumidification %RH Setpoint; default 60% RH, min 0%, max 100%",
   "units": "%RH",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "Return_Duct_Static_Pressure_Setpoint",
   "description": "Return Duct Static Pressure Setpoint; default -2.0, min 0.0, max -5.0",
   "units": "in. w.c.",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "Space_Static_Pressure_Setpoint",
   "description": "Space Static Pressure Setpoint; default 0.05, min -0.5, max 0.5",
   "units": "in. w.c.",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "Supply_Duct_Static_Pressure_Setpoint",
   "description": "Supply Duct Static Pressure Setpoint; default 1.0, min 0.0, max 5.0",
   "units": "in. w.c.",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "Space_CO2_Setpoint",
   "description": "Space CO2 Setpoint; default 1,000 ppm, min 0 ppm, max 5,000 ppm",
   "units": "ppm",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 25,
   "name": "Outside_Air_Damper_Minimum_Setpoint_Occ",
   "description": "Occupied outside air damper minimum position; default 35%",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "BMS_Watchdog",
   "description": "BMS Watchdog command",
   "units": "",
   "access": "C",
   "states": "Active=Active; Inactive=Inactive"
  },
  {
   "type": "BV",
   "instance": 24,
   "name": "BMS_Watchdog_Active",
   "description": "Status of the BMS watchdog ping",
   "units": "",
   "access": "R",
   "states": "Active=Active; Inactive=Inactive"
  },
  {
   "type": "BV",
   "instance": 17,
   "name": "SF_Control_Source_BMS",
   "description": "Allows the BMS to control supply fan speed",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "AV",
   "instance": 36,
   "name": "SF_Control_Signal_BMS",
   "description": "Supply Fan Command Speed",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 18,
   "name": "EF_Control_Source_BMS",
   "description": "Allows the BMS to control exhaust fan speed",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "AV",
   "instance": 37,
   "name": "EF_Control_Signal_BMS",
   "description": "Exhaust Fan Command Speed",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 19,
   "name": "OAD_Control_Source_BMS",
   "description": "Allows the BMS to control OAD position",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "AV",
   "instance": 38,
   "name": "OAD_Control_Signal_BMS",
   "description": "Outside air damper position command from the BMS",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "Outside_RH_Source_BMS",
   "description": "Outside RH Source Selection",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Outside_Temp_Source_BMS",
   "description": "Outside Temp Source Selection",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "Return_RH_Source_BMS",
   "description": "Return RH Source Selection",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "Return_Temp_Source_BMS",
   "description": "Return Temp Source Selection",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "Space_1_CO2_Source_BMS",
   "description": "Space 1 CO2 Source Selection",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "Space_2_CO2_Source_BMS",
   "description": "Space 2 CO2 Source Selection",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "BV",
   "instance": 13,
   "name": "Return_CO2_Source_BMS",
   "description": "Return CO2 Source Selection",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "BV",
   "instance": 14,
   "name": "Space_RH_Source_BMS",
   "description": "Space RH Source Selection",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "BV",
   "instance": 15,
   "name": "Space_Static_Source_BMS",
   "description": "Space Static Source Selection",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "BV",
   "instance": 16,
   "name": "Space_Temp_Source_BMS",
   "description": "Space Temp Source Selection",
   "units": "",
   "access": "C",
   "states": "Active=BMS; Inactive=Local"
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "Outside_RH_from_BMS",
   "description": "Outside RH from BMS",
   "units": "%RH",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "Outside_Temp_from_BMS",
   "description": "Outside Temp from BMS",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "Return_RH_from_BMS",
   "description": "Return RH from BMS",
   "units": "%RH",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "Return_Temp_from_BMS",
   "description": "Return Temp from BMS",
   "units": "°F",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "Space_1_CO2_from_BMS",
   "description": "Space 1 CO2 from BMS",
   "units": "ppm",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "Space_2_CO2_from_BMS",
   "description": "Space 2 CO2 from BMS",
   "units": "ppm",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 32,
   "name": "Return_CO2_from_BMS",
   "description": "Return CO2 from BMS",
   "units": "ppm",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "Space_RH_from_BMS",
   "description": "Space RH from BMS",
   "units": "%RH",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 34,
   "name": "Space_Static_from_BMS",
   "description": "Space Static from BMS",
   "units": "in. w.c.",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "Space_Temp_from_BMS",
   "description": "Space Temp from BMS",
   "units": "°F",
   "access": "C",
   "states": ""
  }
 ],
 "integration": {
  "summary": "With BACnet licensed and set up on the controller, the minimum integration is to enable the unit (BV-2) and command occupancy (BV-3). Add alarm reset and global alarm monitoring, plus the temperature setpoint if needed. If the BMS will also drive fan speeds or the outdoor air damper, or send sensor values, it must keep writing the BMS watchdog, or the unit alarms and returns to local control.",
  "minimum_points": [
   {
    "ref": "BV 2",
    "name": "System_Enable",
    "why": "Enables or disables the unit"
   },
   {
    "ref": "BV 3",
    "name": "BMS_Occupancy_Command",
    "why": "Occupancy; Active = Unoccupied, Inactive = Occupied"
   },
   {
    "ref": "AV 1",
    "name": "Temperature_Setpoint",
    "why": "Occupied temperature setpoint"
   },
   {
    "ref": "BV 1",
    "name": "BMS_Watchdog",
    "why": "Heartbeat when BMS controls fans or sensors"
   },
   {
    "ref": "BV 4",
    "name": "Reset_All_Alarms",
    "why": "Remote alarm reset"
   },
   {
    "ref": "AV 40",
    "name": "Unit_Status_Mode",
    "why": "Current operating mode code"
   },
   {
    "ref": "AI 2",
    "name": "Supply_Temp_Analog_Input",
    "why": "Supply (discharge) air temperature"
   },
   {
    "ref": "BV 23",
    "name": "Global_Alarm",
    "why": "Any active alarm"
   },
   {
    "ref": "IV 5",
    "name": "LatestAlm",
    "why": "Most recent alarm code"
   }
  ],
  "enable": "BV-2 System_Enable enables or disables the unit from the BMS; in disabled mode some protective sequences may still run. By default occupancy is expected from BV-3 BMS_Occupancy_Command. The controller can instead be set to an internal schedule, always occupied/unoccupied, or a digital input. With warm-up/cool-down enabled, the unit recirculates after the occupied command until it reaches setpoint or the timer (default 30 min) ends.",
  "heartbeat": "BV-1 BMS_Watchdog must be written to True (1) regularly whenever the BMS commands fan speeds or damper positions or sends sensor values. If it stays False longer than the Timeout Delay (15 minutes, adjustable), an alarm is raised and the controller falls back to local control and local sensor values. BV-24 shows watchdog status. If the relinquish-default-on-comm-loss option is enabled, priority arrays are cleared 5 minutes after the watchdog goes inactive.",
  "remote_sensors": "For each sensor, set its source-select binary to BMS (BV-7 to BV-16, e.g. BV-8 Outside_Temp_Source_BMS, BV-16 Space_Temp_Source_BMS). Then write the matching *_from_BMS analog (AV-26 to AV-35, e.g. AV-27 outside temp, AV-35 space temp, AV-33 space RH, AV-30/31 space CO2). The watchdog must be satisfied; if it isn't, the controller reverts to the local sensor (if installed and valid) or to local control. Fan speeds and the outdoor air damper are taken over the same way with BV-17/18/19 plus AV-36/37/38.",
  "setup": [
   "The controller must have BACnet licensed and configured; otherwise get the license/config files from the rep (alarm 82 = BACnet license not installed).",
   "BBMD and foreign-device registration, relinquish defaults and COV increments are in the Advanced BACnet Settings menu (Main Menu > Control Variables > Advanced > Network Settings > Advanced Settings).",
   "COV increments are shared by all objects with the same engineering unit.",
   "For BMS supply-air reset, set the reset mode (IV-1) to No Reset and write the temperature setpoint (AV-1)."
  ],
  "gotchas": [
   "The points list is the same on every unit, so points for options a unit lacks are meaningless on it.",
   "Writing too often triggers alarm 32 (BMS Frequent Writes); reduce write traffic.",
   "Status bits are packed into IV-6 to IV-11; use the 16-bit AV copies (AV-94 to AV-105) if the BMS can't read 32-bit integers.",
   "Unit_Status_Mode (AV-40) can rotate between active modes every 3 seconds.",
   "Without Return to Default enabled, the controller boots after a power loss with the last written values."
  ]
 },
 "page": "https://easybacnet.com/bacnet-points-lists/greenheck/doas-bacnet-integration",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
