{
 "manufacturer": "Contemporary Controls",
 "manufacturer_slug": "contemporary-controls",
 "model": "BASstat BAST-221C/CH-B2 Multi-Stage Thermostat",
 "short_model": "BAST-221C-B2",
 "model_slug": "bast-221c-b2",
 "aliases": [
  "BAST-221C-B2",
  "BAST-221CH-B2",
  "BASstat B2",
  "BASstat 221C MS/TP"
 ],
 "equipment_type": "Thermostat (multi-stage heat/cool, BACnet MS/TP)",
 "applies_to": "Contemporary Controls BAST-221C and BAST-221CH (with humidity) wired thermostats for multi-stage heating, cooling and ventilation, such as rooftop units.",
 "summary": "The BAST-221C-B2 is the wired BACnet MS/TP version of the BASstat multi-stage thermostat for up to two cooling and two heating stages plus fan. The 221CH version adds humidity and dew point readings. It exposes temperatures, setpoints, system and fan modes, occupancy, relay control and status, and setup values as BACnet objects.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": 100001,
 "access_inferred": false,
 "notes": [
  "From the BACnet Object Table (manual pages 26-34). The table is shared across the BASstat family; rows printed in grey (objects this model does not use) are left out.",
  "Access is from the Readable/Writable column; R/W objects are shown as writable.",
  "Temperature objects follow the Temperature Scale object (BV 6: 0 = °C, 1 = °F).",
  "Compared with the Wi-Fi BW2 version, AV 20 is the MS/TP MAC address, Device Instance moves to AV 21, MV 6 is Baud Rate, Display Options / Control Type shift to MV 7 / MV 8, BV 3 (auto fan speed style) is listed and AV 39 / AV 40 are greyed out.",
  "Control Type (MV 8) prints states 1 and 4 in grey with a note that cool-only and heat-only are disabled; Lowest Fan Speed and Fan Speed Status print Med and Hi in grey.",
  "Current Humidity (AI 4), Current Dew Point (AI 5) and Humidity Offset (AV 22) are on the 221CH model only. The AV 23 name is printed as \"Cooling Short Cycle\" at a page break."
 ],
 "source": {
  "title": "BAST-221C/CH-B2 BACnet Communicating Thermostat for Multi-Stage Heating/Cooling/Ventilation User Manual",
  "doc_number": "UM-15090000-AB0",
  "revision_date": null,
  "url": "https://www.ccontrols.com/pdf/um/BASstat-B2-usermanual.pdf"
 },
 "integration": {
  "summary": "Turn the thermostat outputs on with On-Off Control (BV 5), set occupancy with Occupancy Command (BV 14), and write the system mode, cooling and heating setpoints and fan mode. Read the space temperature, occupancy status, output status and fan speed.",
  "minimum_points": [
   {
    "ref": "BV 5",
    "name": "On-Off Control",
    "why": "Thermostat outputs on/off (1 = on)"
   },
   {
    "ref": "BV 14",
    "name": "Occupancy Command",
    "why": "0 = occupied, 1 = unoccupied"
   },
   {
    "ref": "MV 1",
    "name": "System Mode",
    "why": "Cool, heat or ventilation mode"
   },
   {
    "ref": "AV 0",
    "name": "Cooling Temperature Setpoint",
    "why": "Occupied cooling setpoint"
   },
   {
    "ref": "AV 3",
    "name": "Heating Temperature Setpoint",
    "why": "Occupied heating setpoint"
   },
   {
    "ref": "MV 0",
    "name": "Fan Mode",
    "why": "Fan mode; 1 = auto"
   },
   {
    "ref": "AI 0",
    "name": "Current Temperature",
    "why": "Space temperature in use"
   },
   {
    "ref": "BI 0",
    "name": "Occupancy Status",
    "why": "0 = occupied, 1 = unoccupied"
   },
   {
    "ref": "BI 2",
    "name": "Cooling-heating Status",
    "why": "Heating/cooling output active"
   },
   {
    "ref": "MV 5",
    "name": "Fan Speed Status",
    "why": "Current fan speed"
   }
  ],
  "enable": "On-Off Control (BV 5) switches the thermostat outputs. Occupancy Command (BV 14) only takes effect when the ESI contact is disabled in Lock (AV 18 bit value 64); by default occupancy comes from the ESI dry contact.",
  "heartbeat": "A space temperature written to Space Temperature Via BACnet (AV 1) is only used while the BMS keeps toggling Heartbeat Signal (BV 16) within the Heartbeat Rate (AV 29) period, in seconds; otherwise the thermostat reverts to its own sensor.",
  "remote_sensors": "Set Temperature Source (MV 3) to 3 (Assigned through BACnet) and write the space temperature to AV 1, toggling BV 16 as a heartbeat.",
  "setup": [
   "BACnet MS/TP only: MAC address 1-127 from the Engineering menu (Addr) or the MAC Address object; baud 9600-76800 from the bAud menu item or Baud Rate (MV 6), 38400 by default.",
   "Device instance = devH x 1000 + devL in the Engineering menu, or write Device Instance (AV 21) once online.",
   "Changing the MAC address, baud or device instance over BACnet needs the comms-parameter lock in Lock (AV 18, bit value 256) cleared first.",
   "The manual gives 100001 as the default device instance, MAC address 1 and 38400 baud."
  ],
  "gotchas": [
   "Lock (AV 18) is bit-coded: add the bit values to lock buttons, ignore the ESI or door contact, block changes to the comms settings or hand the relays to BACnet (512).",
   "The manual text calls the Lock object AV17 in places; the object table number (AV 18) is used here.",
   "Relay control BVs only drive the relays when Lock bit 9 (512) hands the outputs to the BACnet supervisor.",
   "The occupancy section says Lock (AV 18) defaults to 0 (ESI contact in charge), while the Lock examples call 64 the default; read AV 18 on site before relying on BV 14."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 0,
   "name": "Current Temperature",
   "description": "",
   "units": "°F/°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "Active Temperature Setpoint",
   "description": "",
   "units": "°F/°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Built-in Temperature Sensor",
   "description": "Built-in Temperature Sensor Reading",
   "units": "°F/°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Remote Temperature Sensor",
   "description": "Remote Temperature Sensor Reading",
   "units": "°F/°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Current Humidity",
   "description": "Current Humidity (221CH models only)",
   "units": "%RH",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Current Dew Point",
   "description": "Current Dew Point (221CH models only)",
   "units": "°F/°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 0,
   "name": "Cooling Temperature Setpoint",
   "description": "",
   "units": "°F/°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Space Temperature Via BACnet",
   "description": "BACnet Assigned Current Temperature",
   "units": "°F/°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Heating Temperature Setpoint",
   "description": "",
   "units": "°F/°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Hr-Running Time",
   "description": "Running Time of Valve (Hr.)",
   "units": "h",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "M-Running Time",
   "description": "Running Time of Valve (M.)",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Sec-Running Time",
   "description": "Running Time of Valve (Sec.)",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Deadband",
   "description": "",
   "units": "°F/°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Unoccupied Cool Setpoint",
   "description": "Unoccupied Cooling Setpoint",
   "units": "°F/°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Unoccupied Heat Setpoint",
   "description": "Unoccupied Heating Setpoint",
   "units": "°F/°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Integral-Cycle Time",
   "description": "Integral Time and Output Cycle Time",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "Low Setpoint Limit",
   "description": "Low Limit for Setpoint Temperature",
   "units": "°F/°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "High Setpoint Limit",
   "description": "High Limit for Setpoint Temperature",
   "units": "°F/°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "Temperature Offset",
   "description": "Offset for Current",
   "units": "°F/°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Proportional Band- Stage Width",
   "description": "Temperature Proportional Band or Stage Width",
   "units": "°F/°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "Stage Differential",
   "description": "",
   "units": "°F/°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Lock",
   "description": "Bit-coded lock: buttons, ESI/door contacts, comms settings, DO control",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "MAC Address",
   "description": "MS/TP MAC address, 0-127",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "Device Instance",
   "description": "",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "Humidity Offset",
   "description": "Humidity Offset Value (221CH models only)",
   "units": "%RH",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "Cooling Short Cycle",
   "description": "",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "Cooling Maximum Cycles per Hour",
   "description": "",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 25,
   "name": "Heating Short Cycle",
   "description": "Heating Short Cycle Delay",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "Heating Maximum Cycles per Hour",
   "description": "",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "Heartbeat Rate",
   "description": "Communication Heartbeat Minimum Rate",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 46,
   "name": "Minimum Off Time",
   "description": "",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 47,
   "name": "Minimum On Time",
   "description": "",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 0,
   "name": "Occupancy Status",
   "description": "Status of Occupancy",
   "units": "",
   "access": "R",
   "states": "0=Room Occupied, 1=Room Unoccupied"
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "Cooling-heating Status",
   "description": "Status of Cooling/Heating Control Output",
   "units": "",
   "access": "R",
   "states": "0=Close & Off, 1=Open & On"
  },
  {
   "type": "BI",
   "instance": 3,
   "name": "Relay 1 Status",
   "description": "Status of Relay 1 (Cooling Stage 1)",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BI",
   "instance": 4,
   "name": "Relay 2 Status",
   "description": "Status of Relay 2 (Cooling Stage 2)",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BI",
   "instance": 5,
   "name": "Relay 3 Status",
   "description": "Status of Relay 3 (Heating Stage 1)",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BI",
   "instance": 6,
   "name": "Relay 4 Status",
   "description": "Status of Relay 4 (Heating Stage 2)",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BI",
   "instance": 9,
   "name": "Relay 7 Status",
   "description": "Status of Relay 7 Fan",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BI",
   "instance": 10,
   "name": "Dl 1 Status",
   "description": "Status of Digital Input 1",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BI",
   "instance": 17,
   "name": "Fan Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 0,
   "name": "Occupancy Contact Definition",
   "description": "Occupancy(DI1) Contact Definition",
   "units": "",
   "access": "W",
   "states": "0=N.O., 1=N.C."
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "Fan Runs at Set 3 Speeds or Free Speed at Auto Fan Mode(For Modulating Fan)",
   "description": "Auto fan: 3 set speeds or free speed between min and max",
   "units": "",
   "access": "W",
   "states": "0=Free Speed, 1=3 Speeds"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "On-Off Control",
   "description": "On/Off Status of Thermostat",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "Temperature Scale",
   "description": "°C/ °F",
   "units": "",
   "access": "W",
   "states": "0=°C, 1=°F"
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "Relay 1 Control",
   "description": "On/Off Control of Relay 1 (Cooling Stage 1)",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Relay 2 Control",
   "description": "On/Off Control of Relay 2 (Cooling Stage 2)",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "Relay 3 Control",
   "description": "On/Off Control of Relay 3 (Heating Stage 1)",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "Relay 4 Control",
   "description": "On/Off Control of Relay 4 (Heating Stage 2)",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 13,
   "name": "Relay 7 Control",
   "description": "On/Off Control of Relay 7 Fan",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 14,
   "name": "Occupancy Command",
   "description": "Room Occupancy Setting",
   "units": "",
   "access": "W",
   "states": "0=Occupied, 1=Unoccupied"
  },
  {
   "type": "BV",
   "instance": 15,
   "name": "Fan Output for Heating",
   "description": "Disable/ Enable Fan Output for Heating",
   "units": "",
   "access": "W",
   "states": "0=Disable, 1=Enable"
  },
  {
   "type": "BV",
   "instance": 16,
   "name": "Heartbeat Signal",
   "description": "Heartbeat Pulse Signal",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "MV",
   "instance": 0,
   "name": "Fan Mode",
   "description": "",
   "units": "",
   "access": "W",
   "states": "1=Auto, 2=Low, 3=Med., 4=Hi"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "System Mode",
   "description": "Working Mode: Heat, Cool or Ventilation",
   "units": "",
   "access": "W",
   "states": "1=Cool Mode, 2=Heat Mode, 3=Ventilation @ Cool Mode, 4=Ventilation @ Heat Mode"
  },
  {
   "type": "MV",
   "instance": 3,
   "name": "Temperature Source",
   "description": "Current Temperature Source",
   "units": "",
   "access": "W",
   "states": "1=Built-In Temp. Sensor, 2=Remote Temp. Sensor, 3=Assigned through BACnet"
  },
  {
   "type": "MV",
   "instance": 4,
   "name": "Lowest Fan Speed",
   "description": "Lowest Fan speed in Auto Fan mode",
   "units": "",
   "access": "W",
   "states": "1=Stop, 2=Low, 3=Med., 4=Hi"
  },
  {
   "type": "MV",
   "instance": 5,
   "name": "Fan Speed Status",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=Stop, 2=Low, 3=Med, 4=Hi"
  },
  {
   "type": "MV",
   "instance": 6,
   "name": "Baud Rate",
   "description": "MS/TP baud rate",
   "units": "",
   "access": "W",
   "states": "1=9600 bps, 2=19200 bps, 3=38400 bps, 4=57600 bps, 5=76800 bps"
  },
  {
   "type": "MV",
   "instance": 7,
   "name": "Display Options",
   "description": "LCD Display Options",
   "units": "",
   "access": "W",
   "states": "1=T & Time (if available), 2=SP & Time (if available), 3=T & CO2 (if available), 4=CO2 & Time (if available), 5=SP & CO2 (if available), 6=T & RH (if available), 7=T & Valve (if available)"
  },
  {
   "type": "MV",
   "instance": 8,
   "name": "Control Type",
   "description": "Control Type Selection",
   "units": "",
   "access": "W",
   "states": "1=Cool Only, 2=4-Pipe Cooling or Heating Manual Changeover, 3=4-Pipe Cooling and Heating Auto Changeover, 4=Heating Only"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/contemporary-controls/bast-221c-b2",
 "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"
}
