{
 "manufacturer": "Johnson Controls",
 "manufacturer_slug": "johnson-controls",
 "model": "TEC2647Z-3 / TEC2647Z-3+PIR Zone Controller (TEC Zoning System, BACnet MS/TP)",
 "model_slug": "tec2647z-3-zone-controller",
 "short_model": "TEC2647Z-3 Zone Controller",
 "aliases": [
  "TEC2647Z-3",
  "TEC2647Z-3+PIR",
  "TEC2647Z",
  "TEC2647Z-2",
  "TEC zoning zone controller"
 ],
 "equipment_type": "VAV zone controller (room thermostat for TEC zoning)",
 "applies_to": "Zone dampers in the Johnson Controls TEC zoning system, each run by a TEC2647Z-3 zone controller (optionally with PIR occupancy sensor) and served by a TEC2664Z-3 rooftop controller.",
 "summary": "The TEC2647Z-3 is the zone controller of the Johnson Controls TEC zoning system for constant volume, pressure-dependent rooftop units. It modulates the zone damper, can drive analog or on/off reheat, and sends weighted heating and cooling demand to its rooftop controller over BACnet MS/TP. A supervisory controller can monitor it, schedule each zone, or take full control, depending on Cfg Network Handle.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": "72aaa (aaa = MS/TP address)",
 "access_inferred": false,
 "notes": [
  "Objects from Table 23 of the TEC zoning technical bulletin (LIT-12011682), pages 61-64; the device object (TEC2647Z-72aaa) is not listed as a point.",
  "Access follows the table footnotes. GUI Room Temperature (AV 21) is writable only while GUI Room Temp Override (BV 10) = Override; GUI Occupancy (MV 9) only when Cfg Network Handle is 2 or 3; Sta RTC Smart Recovery (BV 11) and Sta RTC Zone Sequencing (MV 10) only when it is 3.",
  "The -2 edition of the bulletin (TEC2647Z-2) lists the same objects except GUI P1 Heat/Cool Demand (AV 24/25) and Cfg Setpoint Type (BV 12); its GUI Occupancy states are Released, Occupied, Unoccupied, Temporary Occupied.",
  "Cfg Setpoint Type (BV 12) has no access footnote in the table; it is shown as read-only here.",
  "Temperatures are listed in °F; the bulletin also gives the °C range."
 ],
 "source": {
  "title": "TEC Zoning Control System for Stand-Alone and BACnet MS/TP Networked Applications Technical Bulletin (TEC2647Z-3, TEC2647Z-3+PIR, TEC2664Z-3)",
  "doc_number": "LIT-12011682",
  "revision_date": "2011-05-13",
  "url": "https://docs.johnsoncontrols.com/bas/api/khub/documents/y0yBSZRkp~9t9PGRQ94OSw/content"
 },
 "integration": {
  "summary": "Give each zone controller and rooftop controller a unique MS/TP address, add them to the supervisory controller, then choose the network handle. With Default Zone Handle the supervisor only monitors; with 2 it can schedule each zone through GUI Occupancy (MV 9); with 3 it takes full control.",
  "minimum_points": [
   {
    "ref": "MV 9",
    "name": "GUI Occupancy",
    "why": "Occupancy command (needs network handle 2 or 3)"
   },
   {
    "ref": "MV 7",
    "name": "Cfg Network Handle",
    "why": "1 monitor only, 2 zone occupancy, 3 full release"
   },
   {
    "ref": "AV 11",
    "name": "GUI Occupied Heat Spt",
    "why": "Occupied heating setpoint, °F"
   },
   {
    "ref": "AV 12",
    "name": "GUI Occupied Cool Spt",
    "why": "Occupied cooling setpoint, °F"
   },
   {
    "ref": "MV 11",
    "name": "GUI Effective Occupancy",
    "why": "Occupancy in effect"
   },
   {
    "ref": "AV 21",
    "name": "GUI Room Temperature",
    "why": "Zone temperature, °F"
   },
   {
    "ref": "AI 1",
    "name": "GUI Damper Position",
    "why": "Zone damper position, %"
   },
   {
    "ref": "AV 19",
    "name": "GUI PI Heat Weighted Demand",
    "why": "Heating demand sent to the rooftop, %"
   },
   {
    "ref": "AV 20",
    "name": "GUI PI Cool Weighted Demand",
    "why": "Cooling demand sent to the rooftop, %"
   }
  ],
  "enable": "Cfg Network Handle (MV 7) sets how much control the supervisory controller has: 1 = Default Zone Handle (monitor only, zones follow the rooftop schedule), 2 = Default Minus Occupancy (each zone can be scheduled through GUI Occupancy, MV 9), 3 = Full Release (the supervisor takes full control). The handle can only be written from the supervisory controller, not the zone menu.",
  "heartbeat": null,
  "remote_sensors": "To feed room temperature from the BMS, set GUI Room Temp Override (BV 10) to Override and write GUI Room Temperature (AV 21). GUI Outdoor Temperature (AV 22) is writable.",
  "setup": [
   "BACnet MS/TP only; set the MS/TP address (4-127) at the zone controller.",
   "The controller names itself TEC2647Z-72aaa and picks device instance 72aaa (aaa = MS/TP address); change them before mapping points if needed.",
   "Cfg RTC MAC (AV 2) must hold the address of the rooftop controller the zone follows."
  ],
  "gotchas": [
   "Zones that do not follow the supervisory schedule usually have the wrong network handle; it is written only from the supervisory controller.",
   "Configuration values (Cfg points) are writable but are setup values; don't write them cyclically."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "GUI Damper Position",
   "description": "Zone damper position",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Cfg Zone MAC",
   "description": "Zone controller MS/TP address",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Cfg RTC MAC",
   "description": "MS/TP address of the rooftop controller it follows",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Cfg AO2 OA Lock Spt",
   "description": "Outdoor temperature lockout for AO 2 reheat",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Cfg BO5 OA Lock Spt",
   "description": "Outdoor temperature lockout for BO 5 reheat",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Cfg Damper Min Pos",
   "description": "Damper minimum position",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Cfg Damper Max Pos",
   "description": "Damper maximum position",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Cfg Damper Max Heat Pos",
   "description": "Damper maximum position in heating",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Cfg Heating Spt Limit",
   "description": "Highest heating setpoint allowed",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Cfg Cooling Spt Limit",
   "description": "Lowest cooling setpoint allowed",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Cfg Deadband",
   "description": "Minimum heat/cool setpoint deadband",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "GUI Occupied Heat Spt",
   "description": "Occupied heating setpoint",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "GUI Occupied Cool Spt",
   "description": "Occupied cooling setpoint",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "GUI Unoccupied Heat Spt",
   "description": "Unoccupied heating setpoint",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "GUI Unoccupied Cool Spt",
   "description": "Unoccupied cooling setpoint",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "GUI Standby Heat Spt",
   "description": "Standby heating setpoint",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "GUI Standby Cool Spt",
   "description": "Standby cooling setpoint",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "GUI AO2 Status",
   "description": "AO 2 reheat output",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "GUI UI3 Status",
   "description": "UI 3 input value",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "GUI PI Heat Weighted Demand",
   "description": "Weighted heating demand sent to the rooftop",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "GUI PI Cool Weighted Demand",
   "description": "Weighted cooling demand sent to the rooftop",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "GUI Room Temperature",
   "description": "Room temperature (writable with override)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "GUI Outdoor Temperature",
   "description": "Outdoor temperature",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "Cfg Device Instance",
   "description": "BACnet device instance",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "GUI P1 Heat Demand",
   "description": "Zone heating loop demand",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 25,
   "name": "GUI P1 Cool Demand",
   "description": "Zone cooling loop demand",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "GUI BI1 Status",
   "description": "Binary input 1 status",
   "units": "",
   "access": "R",
   "states": "0=Inactive (Contact Open), 1=Active (Contact Closed)"
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "GUI BI2 Status",
   "description": "Binary input 2 status",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "Cfg Temperature Scale",
   "description": "Temperature scale",
   "units": "",
   "access": "W",
   "states": "0=°C, 1=°F"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "Cfg Menu Scroll",
   "description": "Display menu scroll",
   "units": "",
   "access": "W",
   "states": "0=No Scroll, 1=Scroll Active"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "Cfg Motion Detector Function",
   "description": "Motion detector function",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "Cfg AO2 RA/DA",
   "description": "AO 2 direct or reverse acting",
   "units": "",
   "access": "W",
   "states": "0=Direct Acting (DA), 1=Reverse Acting (RA)"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "Cfg BO5 Time Base",
   "description": "BO 5 cycle time base",
   "units": "",
   "access": "W",
   "states": "0=15 Minutes, 1=10 Seconds"
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "Cfg BO5 Configuration",
   "description": "BO 5 normally open or closed",
   "units": "",
   "access": "W",
   "states": "0=Normally Open (N.O.), 1=Normally Closed (N.C.)"
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "GUI BO5 Status",
   "description": "BO 5 reheat output status",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Sta AO2 Lock Status",
   "description": "AO 2 outdoor lockout active",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "Sta BO5 Lock Status",
   "description": "BO 5 outdoor lockout active",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "GUI Room Temp Override",
   "description": "Room temperature override enable",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Override"
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "Sta RTC Smart Recovery",
   "description": "Smart recovery active at the rooftop",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "Cfg Setpoint Type",
   "description": "Setpoint changes permanent or temporary",
   "units": "",
   "access": "R",
   "states": "0=Permanent, 1=Temporary"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "Cfg Zone Baud",
   "description": "MS/TP baud rate",
   "units": "",
   "access": "R",
   "states": "1=9600, 2=19200, 3=38400, 4=76800, 5=Auto"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "Cfg Reheat Configuration",
   "description": "Reheat type",
   "units": "",
   "access": "W",
   "states": "1=None, 2=Analog Duct Reheat Only, 3=On/Off Duct Reheat Only, 4=On/Off Peripheral Reheat Only, 5=Analog Duct Reheat and On/Off Peripheral Reheat"
  },
  {
   "type": "MV",
   "instance": 3,
   "name": "Cfg BI1 Configuration",
   "description": "Binary input 1 function",
   "units": "",
   "access": "W",
   "states": "1=None, 2=Motion N.O., 3=Motion N.C."
  },
  {
   "type": "MV",
   "instance": 4,
   "name": "Cfg PI Heat Weight",
   "description": "Weight of this zone in heating demand",
   "units": "",
   "access": "W",
   "states": "1=0%, 2=25%, 3=50%, 4=75%, 5=100%"
  },
  {
   "type": "MV",
   "instance": 5,
   "name": "Cfg PI Cool Weight",
   "description": "Weight of this zone in cooling demand",
   "units": "",
   "access": "W",
   "states": "1=0%, 2=25%, 3=50%, 4=75%, 5=100%"
  },
  {
   "type": "MV",
   "instance": 6,
   "name": "Cfg Temporary Occupancy Time",
   "description": "Temporary occupancy duration",
   "units": "",
   "access": "R",
   "states": "1=0 Hours, 2=1 Hour, 3=2 Hours, 4=3 Hours, 5=4 Hours, 6=5 Hours, 7=6 Hours, 8=7 Hours, 9=8 Hours, 10=9 Hours, 11=10 Hours, 12=11 Hours, 13=12 Hours"
  },
  {
   "type": "MV",
   "instance": 7,
   "name": "Cfg Network Handle",
   "description": "How much control the supervisory controller takes",
   "units": "",
   "access": "W",
   "states": "1=Default Zone Handle (Supervisory Controller Monitors the Zoning System), 2=Default Minus Occupancy (Allows Each Zone to be Scheduled Independently), 3=Full Release (Supervisory Controller Assumes Complete Control of the Zoning System)"
  },
  {
   "type": "MV",
   "instance": 8,
   "name": "GUI Zone Keypad Lockout",
   "description": "Zone keypad lockout level",
   "units": "",
   "access": "W",
   "states": "1=No Lockout, 2=Level 1, 3=Level 2, 4=Level 3"
  },
  {
   "type": "MV",
   "instance": 9,
   "name": "GUI Occupancy",
   "description": "Occupancy command",
   "units": "",
   "access": "W",
   "states": "1=Local Occupancy, 2=Occupied, 3=Unoccupied"
  },
  {
   "type": "MV",
   "instance": 10,
   "name": "Sta RTC Zone Sequencing",
   "description": "Rooftop sequence (cool or heat) seen by the zone",
   "units": "",
   "access": "W",
   "states": "1=Cool, 2=Heat"
  },
  {
   "type": "MV",
   "instance": 11,
   "name": "GUI Effective Occupancy",
   "description": "Effective occupancy",
   "units": "",
   "access": "R",
   "states": "1=Occupied, 2=Unoccupied, 3=Temporary Occupied, 4=Standby"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/johnson-controls/tec2647z-3-zone-controller",
 "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"
}
