{
 "manufacturer": "Lennox",
 "manufacturer_slug": "lennox",
 "model": "KMC BACnet Module 16X70 / 16X71 / 16X72 / 17A08 (KMC BAC-8304) for rooftop and split units",
 "model_slug": "kmc-bacnet-module-bac-8304",
 "short_model": "KMC BACnet Module (BAC-8304)",
 "aliases": [
  "16X70",
  "16X71",
  "16X72",
  "17A08",
  "BAC-8304",
  "KMC BAC-8304-56",
  "Lennox KMC BACnet module",
  "Allied Commercial BACnet module",
  "Allied Z-Series BACnet",
  "905-019-62E",
  "103902-01"
 ],
 "equipment_type": "Rooftop / split unit controller (field BACnet module)",
 "applies_to": "Lennox (and Allied Commercial) units fitted with the KMC BACnet module kit 16X70, 16X71, 16X72 or 17A08: a KMC BAC-8304 that drives the unit's thermostat terminals with a 2-heat / 2-cool sequence.",
 "summary": "This kit is a KMC BAC-8304 BACnet MS/TP controller with a factory 2-stage heat / 2-stage cool sequence and economizer occupancy output, wired to the unit's thermostat terminals (G, Y1, Y2, W1, W2). It reads a KMC wall sensor and discharge air temperature and exposes 47 objects: occupancy, system and fan mode commands, setpoints and timers, stage outputs and status flags. The controller has no schedule; the BMS sets occupancy.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "The objects list has no read/write column. Setpoints, timers and multistate values are shown as writable, measured values, outputs and status flags as read-only.",
  "Names wrapped with a hyphen in the table (SETPOINT_REF-EREN, COMPRES-SOR_DELAY) are joined here.",
  "The guide marks AV 2, AV 13 and MSV 1 as the objects most used in integration.",
  "Motion sensing objects (AV 40, BV 6, BV 29, MSV 6 state 2) are listed but motion sensing is not supported by Lennox.",
  "Source: 'BACnet Objects List', page 9 (47 objects)."
 ],
 "source": {
  "title": "Lennox International KMC BACnet Module 16X70/16X71/16X72/17A08 (BAC-8304) Installation and Applications Guide",
  "doc_number": "905-019-62E / 103902-01E",
  "revision_date": "2018-05",
  "url": "https://s7d9.scene7.com/is/content/AlliedAir/ALLIEDCOMMERCIAL_ZSERIES_BACNET_APPLICATIONGUIDEpdf"
 },
 "integration": {
  "summary": "Set the MS/TP MAC on DIP switch S5 and the device instance and baud rate from the STE-8001 sensor. The BMS commands occupancy on MSV 1 (the controller has no schedule), adjusts the setpoint through AV 2 and reads space temperature on AV 13, plus stage and fan status.",
  "minimum_points": [
   {
    "ref": "MV 1",
    "name": "OCCUPIED MODE",
    "why": "Occupancy: 1 occupied, 2 standby, 3 unoccupied"
   },
   {
    "ref": "MV 2",
    "name": "SYSTEM_MODE",
    "why": "System mode: 1 off, 2 auto, 3 cool, 4 heat"
   },
   {
    "ref": "MV 3",
    "name": "FAN_MODE",
    "why": "Fan mode: 1 auto, 2 on"
   },
   {
    "ref": "AV 2",
    "name": "SETPOINT_REFEREN",
    "why": "Space setpoint reference, °F"
   },
   {
    "ref": "AV 13",
    "name": "SPACE_TEMP",
    "why": "Space temperature, °F"
   },
   {
    "ref": "AI 3",
    "name": "DISCHARGE_TEMP",
    "why": "Discharge air temperature, °F"
   },
   {
    "ref": "BV 14",
    "name": "FAN_STATUS",
    "why": "Fan status"
   },
   {
    "ref": "BV 20",
    "name": "COOL_STG_1",
    "why": "Cooling stage 1 call"
   },
   {
    "ref": "BV 22",
    "name": "HEAT_STG_1",
    "why": "Heating stage 1 call"
   },
   {
    "ref": "BV 17",
    "name": "FAULT_DETECTED",
    "why": "Fault detected"
   }
  ],
  "enable": "The unit runs only while the BI4 contact is open (no system shutdown). Occupancy defaults to occupied; the BMS writes MSV 1 to change it. MSV 2 limits operation to heat, cool, auto or off.",
  "heartbeat": null,
  "remote_sensors": "Space temperature comes from the KMC wall sensor (STE-8001 on the RJ-45 jack, or STE-6011/6019 on AI1/AI2). The BMS sets the space setpoint through AV 2; occupied heating and cooling setpoints are derived from it with the minimum differential (AV 11).",
  "setup": [
   "MS/TP MAC is set on DIP switch S5 (binary, switches summed); factory default MAC 3. Power cycle after changing it.",
   "Device instance and baud rate are set from the STE-8001 COMM menu (Level 2 password).",
   "End-of-line termination is DIP switch S3; turn both on only at the ends of the trunk.",
   "MSV 8 Relinquish Default selects the BI4 use: 1 economizer fault alert, 2 system shutdown (default)."
  ],
  "gotchas": [
   "Setpoint limits are enforced at BACnet priority 9: no cooling setpoint below AV 9 and no heating setpoint above AV 10.",
   "Changing one occupied setpoint pushes the opposite one to keep the minimum differential (AV 11).",
   "Fan status is read through AI3: a closed NC fan-status contact shorts the DAT sensor and shows the fan as off."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "SPACE SENSOR",
   "description": "Wired space temperature sensor (STE-6011/6019)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "ROOM_SETPOINT",
   "description": "Setpoint dial / override input (STE-6019)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "DISCHARGE_TEMP",
   "description": "Discharge air temperature; also fan status contact",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 4,
   "name": "DISABLE_SYSTEM or ECONOMIZER_ALERT",
   "description": "System shutdown or economizer alert contact",
   "units": "",
   "access": "R",
   "states": "Enable/Disable"
  },
  {
   "type": "BO",
   "instance": 1,
   "name": "FAN",
   "description": "Fan output (G)",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BO",
   "instance": 2,
   "name": "COOL_STAGE_1",
   "description": "Cooling stage 1 output (Y1)",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BO",
   "instance": 3,
   "name": "COOL_STAGE_2",
   "description": "Cooling stage 2 output (Y2)",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BO",
   "instance": 4,
   "name": "OCC_OUTPUT",
   "description": "Occupancy output",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BO",
   "instance": 5,
   "name": "HEAT_STAGE_1",
   "description": "Heating stage 1 output (W1)",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BO",
   "instance": 6,
   "name": "HEAT_STAGE_2",
   "description": "Heating stage 2 output (W2)",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "STE-8_SENSOR",
   "description": "Temperature from the STE-8001 digital sensor (default 72)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "SETPOINT_REFEREN",
   "description": "Space temperature setpoint reference (default 72)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "ACT_COOL_STPT",
   "description": "Active cooling setpoint (default 74)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "ACT_HEAT_STPT",
   "description": "Active heating setpoint (default 70)",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "OCC_CL_STPT",
   "description": "Occupied cooling setpoint (default 74)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "OCC_HT_SPT",
   "description": "Occupied heating setpoint (default 70)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "UNOCC_CL_STPT",
   "description": "Unoccupied cooling setpoint (default 80)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "UNOCC_HT_STPT",
   "description": "Unoccupied heating setpoint (default 65)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "MIN_CL_STPT",
   "description": "Minimum cooling setpoint limit (default 68)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "MAX_HT_STPT",
   "description": "Maximum heating setpoint limit (default 78)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "MIN_STPT_DIFF",
   "description": "Minimum heat/cool setpoint differential (default 3)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "STBY_DIFF",
   "description": "Standby setpoint offset (default 3)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "SPACE_TEMP",
   "description": "Space temperature used for control",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 32,
   "name": "STG_DELAY",
   "description": "Stage delay timer (default 5)",
   "units": "Minutes",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "FAN_OFF_DELAY",
   "description": "Fan off delay (default 0)",
   "units": "Seconds",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 34,
   "name": "COMPRESSOR_DELAY",
   "description": "Compressor minimum off time (default 5)",
   "units": "Minutes",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 38,
   "name": "LOCAL_OVRD_TIME",
   "description": "Local override time (default 60)",
   "units": "Minutes",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 39,
   "name": "STANDBY_DELAY",
   "description": "Standby timer (default 15)",
   "units": "Minutes",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "MOTION_TIMER",
   "description": "Motion timer (default 10); motion not supported",
   "units": "Seconds",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "MOTION_SENSOR",
   "description": "Motion sensed; motion not supported by Lennox",
   "units": "",
   "access": "R",
   "states": "Inactive/Active"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "MODE",
   "description": "Current mode, heat or cool",
   "units": "",
   "access": "R",
   "states": "Heat/Cool"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "FAN_NEED",
   "description": "Fan call",
   "units": "",
   "access": "R",
   "states": "No/Yes"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "HEAT_COOL_NEED",
   "description": "Heating or cooling call",
   "units": "",
   "access": "R",
   "states": "Heat/Cool"
  },
  {
   "type": "BV",
   "instance": 14,
   "name": "FAN_STATUS",
   "description": "Fan status",
   "units": "",
   "access": "R",
   "states": "Inactive/Active"
  },
  {
   "type": "BV",
   "instance": 16,
   "name": "SYSTEM_DISABLE",
   "description": "System disabled by BI4",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BV",
   "instance": 17,
   "name": "FAULT_DETECTED",
   "description": "Fault detected",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BV",
   "instance": 20,
   "name": "COOL_STG_1",
   "description": "Cooling stage 1 call",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BV",
   "instance": 21,
   "name": "COOL_STG_2",
   "description": "Cooling stage 2 call",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BV",
   "instance": 22,
   "name": "HEAT_STG_1",
   "description": "Heating stage 1 call",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BV",
   "instance": 23,
   "name": "HEAT_STG_2",
   "description": "Heating stage 2 call",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BV",
   "instance": 28,
   "name": "LOCAL_OVRD",
   "description": "Local override active",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "BV",
   "instance": 29,
   "name": "MOTION_OVRD",
   "description": "Motion override; motion not supported",
   "units": "",
   "access": "R",
   "states": "Off/On"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "OCCUPIED MODE",
   "description": "Occupancy command (default 1 Occupied)",
   "units": "",
   "access": "W",
   "states": "1=Occupied, 2=Standby, 3=Unoccupied"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "SYSTEM_MODE",
   "description": "System mode (default 2 Auto)",
   "units": "",
   "access": "W",
   "states": "1=Off, 2=Auto, 3=Cool, 4=Heat"
  },
  {
   "type": "MV",
   "instance": 3,
   "name": "FAN_MODE",
   "description": "Fan mode (default 1 Auto)",
   "units": "",
   "access": "W",
   "states": "1=Auto, 2=On"
  },
  {
   "type": "MV",
   "instance": 6,
   "name": "WALL SENSOR",
   "description": "Wall sensor type (default 1 STE-8001)",
   "units": "",
   "access": "W",
   "states": "1=STE-8001, 2=STE-8201 w/ Motion, 3=STE-6019, 4=STE-6011, 5=None"
  },
  {
   "type": "MV",
   "instance": 8,
   "name": "BI4 FUNCTION",
   "description": "Use of the BI4 contact (default 2)",
   "units": "",
   "access": "W",
   "states": "1=Economizer Fault Alert, 2=System Disable"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/lennox/kmc-bacnet-module-bac-8304",
 "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"
}
