{
 "manufacturer": "Johnson Controls",
 "manufacturer_slug": "johnson-controls",
 "model": "TEC2645-4 Thermostat with Single Proportional Output and One-Speed Fan (BACnet MS/TP)",
 "model_slug": "tec2645-4-proportional-thermostat",
 "short_model": "TEC2645-4 Proportional Thermostat",
 "aliases": [
  "TEC2645-4",
  "TEC2645"
 ],
 "equipment_type": "Fan coil unit controller (room thermostat)",
 "applies_to": "Fan coils, reheat valves and zoning equipment with one 0-10 VDC proportional output and a single-speed fan, using the TEC2645-4 thermostat.",
 "summary": "The TEC2645-4 is a BACnet MS/TP thermostat with one proportional output and on/auto control of a single-speed fan. Its object list has system mode, fan mode, occupancy command, six setpoints, loop demands, input status, alarms and configuration parameters.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "Objects from Table 4 on pages 18-21 of the technical bulletin, which also holds separate tables for the other TEC26xx-4 models.",
  "Access comes from the guide's footnotes: read/write, read-only, or writable only after the matching override object is set to Override.",
  "The device object (instance 73aaa, aaa = MS/TP address) is not listed as a point.",
  "Temperatures are listed in °F; the guide also gives the °C range.",
  "BV 70 to BV 77 are reserved digital outputs for future use and are not listed."
 ],
 "source": {
  "title": "TEC Series BACnet MS/TP Network Temperature and Humidity Controllers Technical Bulletin",
  "doc_number": "LIT-12011592",
  "revision_date": "2013-03-04",
  "url": "https://docs.johnsoncontrols.com/bas/api/khub/documents/TppxRMQl8pgfqB6NRc9sqw/content"
 },
 "integration": {
  "summary": "Address the thermostat on the BACnet MS/TP trunk, then command System Mode (MV 16) and Occupancy Command (MV 18) and Fan Mode (MV 17) and write the occupied setpoints (AV 39/40). Read Room Temp, Effective Occupancy, Fan Status and the filter and service alarms.",
  "minimum_points": [
   {
    "ref": "MV 16",
    "name": "System Mode",
    "why": "System mode: off, auto, cool or heat"
   },
   {
    "ref": "MV 18",
    "name": "Occupancy Command",
    "why": "Occupancy command from the BAS"
   },
   {
    "ref": "MV 17",
    "name": "Fan Mode",
    "why": "Fan mode; states follow Fan Mode Sequence"
   },
   {
    "ref": "AV 39",
    "name": "Occupied Heat Setpoint",
    "why": "Occupied heating setpoint, °F"
   },
   {
    "ref": "AV 40",
    "name": "Occupied Cool Setpoint",
    "why": "Occupied cooling setpoint, °F"
   },
   {
    "ref": "MV 33",
    "name": "Effective Occupancy",
    "why": "Occupancy state in effect"
   },
   {
    "ref": "AV 7",
    "name": "Room Temp",
    "why": "Room temperature, °F"
   },
   {
    "ref": "MV 28",
    "name": "Fan Status",
    "why": "Fan speed status"
   },
   {
    "ref": "BI 36",
    "name": "Filter Alarm",
    "why": "Filter alarm"
   },
   {
    "ref": "BI 37",
    "name": "Service Alarm",
    "why": "Service alarm"
   }
  ],
  "enable": "Occupancy Command (MV 18, 1=Resume Schedule, 2=Occupied, 3=Unoccupied, 4=Temporary Occupied) sets occupancy from the BAS; the first state hands occupancy back to the thermostat. System Mode (MV 16) can switch the unit off.",
  "heartbeat": "The guide marks some objects (Room Temp and Fan Status) as possibly releasing on their own after 10 minutes with no BACnet traffic. Keep writing overridden values.",
  "remote_sensors": "To feed room temperature from the BAS, set Room Temp Override (BV 8) to Override, then write Room Temp (AV 7). Outdoor Temperature (AV 9) is only valid when it is written over the network.",
  "setup": [
   "BACnet MS/TP only. Set the MS/TP address (4 to 127) with the Com addr parameter at the thermostat.",
   "The thermostat names itself TEC2645-aaa and picks device instance 73aaa, where aaa is the MS/TP address (e.g. 73004). Change either before mapping points if needed.",
   "Leave the thermostat on automatic baud detection; at least one device on the trunk (normally the supervisory controller) needs a fixed baud rate.",
   "Max_Master in the device object is writable."
  ],
  "gotchas": [
   "Writing one setpoint of a heating/cooling pair can make the thermostat move the other one to keep the minimum deadband.",
   "Set the configuration parameters before mapping; the guide recommends re-mapping all objects if configuration changes afterwards.",
   "TEC26xx-4 objects do not line up with the older TEC26xx-2 objects; rediscover all points when replacing a -2 thermostat.",
   "Objects with no access mark in the guide are listed here as read-only."
  ]
 },
 "points": [
  {
   "type": "AV",
   "instance": 7,
   "name": "Room Temp",
   "description": "Room temperature; writable when its override object is set; Range -40.0 to 122.0 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Room Temp Override",
   "description": "Set to Override to write Room Temp from the network",
   "units": "",
   "access": "W",
   "states": "0=Normal, 1=Override"
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Outdoor Temperature",
   "description": "Outdoor air temperature; valid only when written over the network; Range -40.0 to 122.0 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 12,
   "name": "Supply Temperature",
   "description": "Supply air temperature sensor input; Range -40.0 to 122.0 °F",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 14,
   "name": "AUX Command",
   "description": "Network command for the auxiliary output",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=On"
  },
  {
   "type": "MV",
   "instance": 15,
   "name": "Sequence of Operation",
   "description": "Equipment sequence (cooling, heating, reheat, 4-pipe)",
   "units": "",
   "access": "W",
   "states": "0=Cooling Only, 1=Heating Only, 2=Cooling and Reheat, 3=Heating and Reheat"
  },
  {
   "type": "MV",
   "instance": 16,
   "name": "System Mode",
   "description": "System mode command",
   "units": "",
   "access": "W",
   "states": "1=Off, 2=Auto, 3=Cool, 4=Heat"
  },
  {
   "type": "MV",
   "instance": 17,
   "name": "Fan Mode",
   "description": "Fan mode command",
   "units": "",
   "access": "W",
   "states": "1=On, 2=Auto"
  },
  {
   "type": "MV",
   "instance": 18,
   "name": "Occupancy Command",
   "description": "Occupancy command from the network",
   "units": "",
   "access": "W",
   "states": "1=Resume Schedule, 2=Occupied, 3=Unoccupied, 4=Temporary Occupied"
  },
  {
   "type": "MV",
   "instance": 19,
   "name": "Keypad Lockout",
   "description": "Keypad lockout level",
   "units": "",
   "access": "W",
   "states": "1=Level 0, 2=Level 1, 3=Level 2, 4=Level 3, 5=Level 4, 6=Level 5"
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "PI Heating Demand",
   "description": "Heating loop demand",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "PI Cooling Demand",
   "description": "Cooling loop demand",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 25,
   "name": "AUX (BO5) Status",
   "description": "Auxiliary (BO5) output status",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "MV",
   "instance": 28,
   "name": "Fan Status",
   "description": "Fan speed status",
   "units": "",
   "access": "R",
   "states": "1=Off, 4=High"
  },
  {
   "type": "BI",
   "instance": 29,
   "name": "BI1 Status",
   "description": "Binary input 1 status",
   "units": "",
   "access": "R",
   "states": "0=Deactivated, 1=Activated"
  },
  {
   "type": "BI",
   "instance": 30,
   "name": "BI2 Status",
   "description": "Binary input 2 status",
   "units": "",
   "access": "R",
   "states": "0=Deactivated, 1=Activated"
  },
  {
   "type": "BI",
   "instance": 31,
   "name": "UI3 Status",
   "description": "Universal input 3 status",
   "units": "",
   "access": "R",
   "states": "0=Deactivated, 1=Activated"
  },
  {
   "type": "BI",
   "instance": 32,
   "name": "Local Motion",
   "description": "Motion detected by the PIR sensor",
   "units": "",
   "access": "R",
   "states": "0=Deactivated, 1=Activated"
  },
  {
   "type": "MV",
   "instance": 33,
   "name": "Effective Occupancy",
   "description": "Occupancy state in effect",
   "units": "",
   "access": "R",
   "states": "1=Occupied, 2=Unoccupied, 3=Temporary Occupied, 4=Stand-by"
  },
  {
   "type": "BI",
   "instance": 35,
   "name": "Window Alarm",
   "description": "Window open alarm",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BI",
   "instance": 36,
   "name": "Filter Alarm",
   "description": "Filter alarm",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "BI",
   "instance": 37,
   "name": "Service Alarm",
   "description": "Service alarm",
   "units": "",
   "access": "R",
   "states": "0=Off, 1=On"
  },
  {
   "type": "AV",
   "instance": 39,
   "name": "Occupied Heat Setpoint",
   "description": "Occupied heating setpoint; Range 40.0 to 90.0 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "Occupied Cool Setpoint",
   "description": "Occupied cooling setpoint; Range 54.0 to 100.0 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 41,
   "name": "Stand-by Heat Setpoint",
   "description": "Standby heating setpoint; Range 40.0 to 90.0 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 42,
   "name": "Stand-by Cool Setpoint",
   "description": "Standby cooling setpoint; Range 54.0 to 100.0 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 43,
   "name": "Unoccupied Heat Setpoint",
   "description": "Unoccupied heating setpoint; Range 40.0 to 90.0 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 44,
   "name": "Unoccupied Cool Setpoint",
   "description": "Unoccupied cooling setpoint; Range 54.0 to 100.0 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 46,
   "name": "BI1 Configuration",
   "description": "Binary input 1 function",
   "units": "",
   "access": "W",
   "states": "1=None, 2=Rem NSB, 3=Motion NO, 4=Motion NC, 5=Window"
  },
  {
   "type": "MV",
   "instance": 47,
   "name": "BI2 Configuration",
   "description": "Binary input 2 function",
   "units": "",
   "access": "W",
   "states": "1=None, 2=Door Dry, 3=Override, 4=Filter, 5=Service"
  },
  {
   "type": "MV",
   "instance": 48,
   "name": "UI3 Configuration",
   "description": "Universal input 3 function",
   "units": "",
   "access": "W",
   "states": "1=None, 2=COC/NH, 3=COC/NC, 4=COS, 5=SS"
  },
  {
   "type": "BV",
   "instance": 49,
   "name": "Menu Scroll",
   "description": "Display scrolling on or off",
   "units": "",
   "access": "W",
   "states": "0=No Scroll, 1=Scroll Active"
  },
  {
   "type": "BV",
   "instance": 50,
   "name": "Auto Mode Enable",
   "description": "Allows Auto system mode",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "BV",
   "instance": 51,
   "name": "Temperature Scale",
   "description": "Display units, °C or °F",
   "units": "",
   "access": "W",
   "states": "0=°C, 1=°F"
  },
  {
   "type": "MV",
   "instance": 54,
   "name": "AUX (BO5) Configuration",
   "description": "Auxiliary output function",
   "units": "",
   "access": "W",
   "states": "1=Not Used, 2=NO with Occ, 3=NC with Occ, 4=NO with Occ and Fan, 5=NC with Occ and Fan, 6=Network Controlled"
  },
  {
   "type": "AV",
   "instance": 56,
   "name": "Password Value",
   "description": "Installer password; Range 0 to 1,000",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 58,
   "name": "Heating Setpoint Limit",
   "description": "Maximum heating setpoint; Range 40.0 to 90.0 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 59,
   "name": "Cooling Setpoint Limit",
   "description": "Minimum cooling setpoint; Range 54.0 to 100.0 °F",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 60,
   "name": "Setpoint Type",
   "description": "Setpoint changes permanent or temporary",
   "units": "",
   "access": "W",
   "states": "0=Permanent, 1=Temporary"
  },
  {
   "type": "BV",
   "instance": 61,
   "name": "Setpoint Function",
   "description": "Dual or attached setpoints",
   "units": "",
   "access": "R",
   "states": "0=Dual Setpoints, 1=Attached Setpoints"
  },
  {
   "type": "MV",
   "instance": 62,
   "name": "Temporary Occupancy Time",
   "description": "Duration of a temporary occupancy override",
   "units": "",
   "access": "W",
   "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, 14=13 Hours, 15=14 Hours, 16=15 Hours, 17=16 Hours, 18=17 Hours, 19=18 Hours, 20=19 Hours, 21=20 Hours, 22=21 Hours, 23=22 Hours, 24=23 Hours, 25=24 Hours"
  },
  {
   "type": "AV",
   "instance": 63,
   "name": "Deadband",
   "description": "Minimum heating/cooling setpoint deadband; Range 2 to 5 F° (differential)",
   "units": "°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 64,
   "name": "Reheat Time Base (BO5)",
   "description": "Reheat output cycle time base",
   "units": "",
   "access": "W",
   "states": "0=15 Minutes, 1=10 Seconds"
  },
  {
   "type": "MV",
   "instance": 65,
   "name": "Proportional Band",
   "description": "Control proportional band",
   "units": "",
   "access": "R",
   "states": "1=3 (3°F/1.7°C), 2=4 (4°F/2.2°C), 3=5 (5°F/2.8°C), 4=6 (6°F/3.3°C), 5=7 (7°F/3.9°C), 6=8 (8°F/4.4°C), 7=9 (9°F/5.0°C), 8=10 (10°F/5.6°C)"
  },
  {
   "type": "AV",
   "instance": 67,
   "name": "Stand-by Time",
   "description": "Time before standby; Range 0.5 to 24.0 h",
   "units": "h",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 68,
   "name": "Unoccupied Time",
   "description": "Time before unoccupied; Range 0.0 to 24.0 h",
   "units": "h",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 78,
   "name": "Direct/Reverse Acting",
   "description": "Output action direct or reverse",
   "units": "",
   "access": "W",
   "states": "0=Direct Acting, 1=Reverse Acting"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/johnson-controls/tec2645-4-proportional-thermostat",
 "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"
}
