{
 "manufacturer": "Distech Controls",
 "manufacturer_slug": "distech-controls",
 "model": "ECB-PTU-107 preloaded applications",
 "model_slug": "ecb-ptu-107-preloaded-applications",
 "aliases": [
  "ECB-PTU-107",
  "ECB-PTU 107"
 ],
 "equipment_type": "Fan coil / terminal unit controller (preloaded application)",
 "applies_to": "Fan coil, chilled ceiling/beam and heat pump terminal units run by an ECB-PTU-107 with its factory application.",
 "summary": "The ECB-PTU-107 is a Distech Controls ECB-PTU BACnet MS/TP terminal unit controller that ships with preloaded, configurable fan coil, chilled beam/ceiling and heat pump applications. The preloaded program exposes a fixed set of analog, binary and multistate value objects for setpoints, occupancy, mode, fan and valve control. The application is set up with dc gfxApplications in EC-Net or with an Allure EC-Smart-Vue sensor.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": null,
 "default_device_instance": null,
 "access_inferred": true,
 "notes": [
  "Objects are documented one per section in the guide's Variables chapter; hardware inputs and outputs are described there too but are not listed here.",
  "The guide has no read/write column, so access is inferred from each object's description: values the guide says are set, configured or received from the BMS are marked writable; values it describes as displayed (measured or calculated) are read-only, although the guide allows overriding some of them for testing.",
  "Which objects are used depends on the configured system type, fan type, valve types and input configuration.",
  "Differs from the ECB-PTU-207/208/307 lists: no outside-air damper or CO2 objects, and fewer fan and valve type options (no variable-speed fan, no 0-10V valves).",
  "Left out because the guide prints two different instance numbers for them (section heading vs table row): UnoccOccDelay (AV 32), AppVersion (AV 100), RulesNumber (MV 8)."
 ],
 "source": {
  "title": "ECB-PTU-107 Preloaded Applications User Guide",
  "doc_number": "ECB-PTU-107 Preloaded_UG_13_EN",
  "revision_date": "2017-07 (version 1.3)",
  "url": "https://docs.distech-controls.com/api/khub/documents/kfEpSP5K~YBQk1AcE4MScw/content"
 },
 "integration": {
  "summary": "Command occupancy with MV 2 and the mode with MV 1, write the occupied setpoints AV 40 and AV 41, and read back MV 14, MV 11, AV 1 and MV 16. Leave MV 3 at Auto unless the BMS should pick the fan speed.",
  "minimum_points": [
   {
    "ref": "MV 2",
    "name": "OccupancyCmd",
    "why": "Occupancy command from the BMS"
   },
   {
    "ref": "MV 1",
    "name": "HvacModeCmd",
    "why": "HVAC mode command (auto, heat, cool, off)"
   },
   {
    "ref": "MV 3",
    "name": "FanSpeedCmd",
    "why": "Fan speed command (auto, off, low, med, high)"
   },
   {
    "ref": "AV 40",
    "name": "OccCoolSp",
    "why": "Occupied cooling setpoint"
   },
   {
    "ref": "AV 41",
    "name": "OccHeatSp",
    "why": "Occupied heating setpoint"
   },
   {
    "ref": "MV 14",
    "name": "OccupancyStatus",
    "why": "Effective occupancy state"
   },
   {
    "ref": "MV 11",
    "name": "HvacModeStatus",
    "why": "Actual HVAC mode"
   },
   {
    "ref": "AV 1",
    "name": "SpaceTemp",
    "why": "Space temperature used for control"
   },
   {
    "ref": "MV 16",
    "name": "FanSpeedSt",
    "why": "Actual fan speed"
   },
   {
    "ref": "BV 2",
    "name": "CondSensorSt",
    "why": "Condensation alarm; cooling valve closes"
   }
  ],
  "enable": "Write MV 2 OccupancyCmd for occupancy and MV 1 HvacModeCmd for the mode; any value other than Auto forces the unit into that mode. MV 3 FanSpeedCmd set to Auto leaves the fan to the control loop.",
  "heartbeat": null,
  "remote_sensors": "The guide says AV 1 SpaceTemp and other measured values can be overridden through the BACnet priority array (it calls this a testing feature). MV 5 MotionSensor can be written from the network; the guide says to use a priority lower than 14 to override local control.",
  "setup": [
   "Controllers sit on a BACnet MS/TP network; the Allure EC-Smart-Vue configuration menu can set the MS/TP network parameters.",
   "Master/slave groups share room values over the local MS/TP network using the room number (AV 81 CtrlRoom)."
  ],
  "gotchas": [
   "Temperatures are in °C in this guide.",
   "Configuration values (system type, valve and fan types) are commissioning settings; don't write them cyclically."
  ]
 },
 "points": [
  {
   "type": "AV",
   "instance": 1,
   "name": "SpaceTemp",
   "description": "Range -10 to 50 °C",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "CoolingValveCtrl",
   "description": "Range 0 to 100%",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "HeatingValveCtrl",
   "description": "Range 0 to 100%",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "SpaceCO2",
   "description": "",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "ElectHeatCtrl",
   "description": "Range 0 to 100%",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "SpaceTempSI3",
   "description": "Range -10 to 50 °C",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "DischargeTemp",
   "description": "",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "ReturnTemp",
   "description": "",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "WaterTemp",
   "description": "",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "SpOffsetUI2",
   "description": "Range -5 to 5 °C",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "MidSetpoint",
   "description": "",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "ElectHeatStatus",
   "description": "Range 0 to 100%",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "SpOffsetRange",
   "description": "Range 0 to 10°K",
   "units": "K",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "SetPtOffset",
   "description": "Range -10 to 10°K",
   "units": "K",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "SpaceCO2Range",
   "description": "",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "SpaceTempOffset",
   "description": "Range -5 to 5°K",
   "units": "K",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "FloatingDriveTime",
   "description": "",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "EffectSp",
   "description": "",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "FreezeProtSp",
   "description": "",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 36,
   "name": "ActCoolSp",
   "description": "",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 37,
   "name": "ActHeatSp",
   "description": "",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 38,
   "name": "UnoccCoolSp",
   "description": "",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 39,
   "name": "StandbyCoolSp",
   "description": "",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "OccCoolSp",
   "description": "",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 41,
   "name": "OccHeatSp",
   "description": "",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 42,
   "name": "StandbyHeatSp",
   "description": "",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 43,
   "name": "UnoccHeatSp",
   "description": "",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 44,
   "name": "TerminalLoad",
   "description": "Range -100 to 100%",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 45,
   "name": "SensorSleepTime",
   "description": "",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 46,
   "name": "ChgOverDelay",
   "description": "",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 47,
   "name": "HoldTime",
   "description": "",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 48,
   "name": "ByPassTime",
   "description": "",
   "units": "min",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 52,
   "name": "WaterSpHeat",
   "description": "",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 53,
   "name": "WaterSpCool",
   "description": "",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 54,
   "name": "MaxDischAirSp",
   "description": "",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 55,
   "name": "MinDischAirSp",
   "description": "",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 58,
   "name": "AuxHeatEnable",
   "description": "Range 0 to 100%",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 59,
   "name": "ElectheatPeriod",
   "description": "Range 60 to 300 s",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 60,
   "name": "FanOffDelay",
   "description": "",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 61,
   "name": "FanCoolLow",
   "description": "Range 0 to 100%",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 62,
   "name": "FanHeatLow",
   "description": "Range 0 to 100%",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 63,
   "name": "CoolMaxFan",
   "description": "Range 0 to 100%",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 64,
   "name": "HeatMaxFan",
   "description": "Range 0 to 100%",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 65,
   "name": "CoolMinFan",
   "description": "Range 0 to 100%",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 66,
   "name": "HeatMinFan",
   "description": "Range 0 to 100%",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 80,
   "name": "Elevation",
   "description": "",
   "units": "m",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 81,
   "name": "CtrlRoom",
   "description": "Range 0 to 127",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 86,
   "name": "InfraRedZone",
   "description": "Range 0 to 12",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 89,
   "name": "RemoteCtrlInfo",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 90,
   "name": "MasterInfo",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 91,
   "name": "SlaveInfo",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 92,
   "name": "SendSpaceTempCO2",
   "description": "",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "WindowStatus",
   "description": "",
   "units": "",
   "access": "R",
   "states": "Open/Close"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "CondSensorSt",
   "description": "",
   "units": "",
   "access": "R",
   "states": "Alarm/Normal"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "WindowContact",
   "description": "Default Close",
   "units": "",
   "access": "R",
   "states": "Open/close"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "AuxContact",
   "description": "Default Off",
   "units": "",
   "access": "R",
   "states": "On/Off"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "ChgOverSt",
   "description": "Default Cool",
   "units": "",
   "access": "R",
   "states": "Heat/Cool"
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "MS1.Occupancy",
   "description": "Default Unoccupied",
   "units": "",
   "access": "W",
   "states": "Occupied/Unoccupied"
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "RoomOccupancy",
   "description": "Default Unoccupied",
   "units": "",
   "access": "R",
   "states": "Occupied/Unoccupied"
  },
  {
   "type": "BV",
   "instance": 13,
   "name": "HeatValveConfig",
   "description": "Default NormClose",
   "units": "",
   "access": "W",
   "states": "NormOpen/NormClose"
  },
  {
   "type": "BV",
   "instance": 14,
   "name": "CoolValveConfig",
   "description": "Default NormClose",
   "units": "",
   "access": "W",
   "states": "NormOpen/NormClose"
  },
  {
   "type": "BV",
   "instance": 16,
   "name": "EnableRoomUnocc",
   "description": "Default Yes",
   "units": "",
   "access": "W",
   "states": "Yes/No"
  },
  {
   "type": "BV",
   "instance": 17,
   "name": "ECSmartComfortExt",
   "description": "Default Light",
   "units": "",
   "access": "W",
   "states": "Light/Blind"
  },
  {
   "type": "BV",
   "instance": 18,
   "name": "NetChgOver",
   "description": "Default Cool",
   "units": "",
   "access": "W",
   "states": "Heat/Cool"
  },
  {
   "type": "BV",
   "instance": 19,
   "name": "ComSensorUnits",
   "description": "Default deg.C",
   "units": "",
   "access": "W",
   "states": "deg.C/deg.F"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "HvacModeCmd",
   "description": "Default Auto",
   "units": "",
   "access": "W",
   "states": "1=Auto, 2=Heat, 3=Cool, 4=Off"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "OccupancyCmd",
   "description": "",
   "units": "",
   "access": "W",
   "states": "1=Occupied, 2=Unoccupied, 3=Bypass, 4=Standby"
  },
  {
   "type": "MV",
   "instance": 3,
   "name": "FanSpeedCmd",
   "description": "Default Auto",
   "units": "",
   "access": "W",
   "states": "1=Auto, 2=Off, 3=Low, 4=Med, 5=High"
  },
  {
   "type": "MV",
   "instance": 5,
   "name": "MotionSensor",
   "description": "Default Unused",
   "units": "",
   "access": "W",
   "states": "1=Occupied, 2=Unoccupied, 3=Unused"
  },
  {
   "type": "MV",
   "instance": 6,
   "name": "ChangeOverInput",
   "description": "Default Unused",
   "units": "",
   "access": "R",
   "states": "1=Unused, 2=Heat, 3=Cool"
  },
  {
   "type": "MV",
   "instance": 11,
   "name": "HvacModeStatus",
   "description": "Default Auto",
   "units": "",
   "access": "R",
   "states": "1=Auto, 2=Heat, 3=Cool, 4=Off"
  },
  {
   "type": "MV",
   "instance": 13,
   "name": "MS1.FanSpeed",
   "description": "Default Auto",
   "units": "",
   "access": "W",
   "states": "1=Auto, 2=Off, 3=Low, 4=Med, 5=High"
  },
  {
   "type": "MV",
   "instance": 14,
   "name": "OccupancyStatus",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=Occupied, 2=Unoccupied, 3=Bypass, 4=Standby"
  },
  {
   "type": "MV",
   "instance": 15,
   "name": "EcoVue",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=1 Leaf, 2=2 Leaves, 3=3 Leaves, 4=4 Leaves"
  },
  {
   "type": "MV",
   "instance": 16,
   "name": "FanSpeedSt",
   "description": "",
   "units": "",
   "access": "R",
   "states": "1=Off, 2=Low, 3=Med, 4=High"
  },
  {
   "type": "MV",
   "instance": 17,
   "name": "FanCtrlMode",
   "description": "Default Smart",
   "units": "",
   "access": "W",
   "states": "1=On, 2=Auto, 3=Smart"
  },
  {
   "type": "MV",
   "instance": 18,
   "name": "UI2Config",
   "description": "Default SpOffset",
   "units": "",
   "access": "W",
   "states": "1=Unused, 2=Discharge Temp, 3=Return Temp, 4=Water Temp, 5=SpOffset"
  },
  {
   "type": "MV",
   "instance": 19,
   "name": "SI3Config",
   "description": "Default SpaceTemp",
   "units": "",
   "access": "W",
   "states": "1=Unused, 2=Discharge Temp, 3=Return Temp, 4=Water Temp, 5=SpaceTemp"
  },
  {
   "type": "MV",
   "instance": 20,
   "name": "DI4Config",
   "description": "Default Unused",
   "units": "",
   "access": "W",
   "states": "1=Unused, 2=WindowContactNO, 3=WindowContactNC"
  },
  {
   "type": "MV",
   "instance": 21,
   "name": "DI5Config",
   "description": "Default Unused",
   "units": "",
   "access": "W",
   "states": "1=Unused, 2=AuxContactNO, 3=AuxContactNC, 4=ChangOverHtg, 5=ChangOverClg, 6=CondSensorNO, 7=CondSensorNC"
  },
  {
   "type": "MV",
   "instance": 22,
   "name": "DI6Config",
   "description": "Default AuxContactNO",
   "units": "",
   "access": "W",
   "states": "1=Unused, 2=AuxContactNO, 3=AuxContactNC, 4=ChangOverHtg, 5=ChangOverClg, 6=OccSensorNO, 7=OccSensorNC"
  },
  {
   "type": "MV",
   "instance": 23,
   "name": "ConfigOccSensor",
   "description": "",
   "units": "",
   "access": "W",
   "states": "1=Unused, 2=Multi-Sensor, 3=ComSensor, 4=DigitaInput, 5=Auto/All"
  },
  {
   "type": "MV",
   "instance": 24,
   "name": "SystemType",
   "description": "Default CoolHeat",
   "units": "",
   "access": "W",
   "states": "1=Cool, 2=CoolElectHeat, 3=ChgOver, 4=ChgOverElectHeat, 5=Heat, 6=HeatElectHeat, 7=CoolHeat, 8=CoolHeatElectHeat"
  },
  {
   "type": "MV",
   "instance": 25,
   "name": "FanType",
   "description": "Default 3Speed",
   "units": "",
   "access": "W",
   "states": "1=None, 2=3Speed"
  },
  {
   "type": "MV",
   "instance": 26,
   "name": "CoolValveType",
   "description": "",
   "units": "",
   "access": "W",
   "states": "1=Unused, 2=Thermal, 3=On-Off, 4=Floating"
  },
  {
   "type": "MV",
   "instance": 27,
   "name": "HeatValveType",
   "description": "Default Thermal",
   "units": "",
   "access": "W",
   "states": "1=Unused, 2=Thermal, 3=On-Off, 4=Floating"
  },
  {
   "type": "MV",
   "instance": 28,
   "name": "SpaceTempCtrl",
   "description": "",
   "units": "",
   "access": "W",
   "states": "1=Local, 2=Master, 3=Slave, 4=Auto"
  },
  {
   "type": "MV",
   "instance": 29,
   "name": "ComSensorDisplay",
   "description": "Default SpaceTemp",
   "units": "",
   "access": "W",
   "states": "1=SpaceTemp, 2=SpOffset, 3=MidSetpoint, 4=EffectSp"
  },
  {
   "type": "MV",
   "instance": 30,
   "name": "ComSensorLock",
   "description": "",
   "units": "",
   "access": "W",
   "states": "1=All, 2=Sp and override, 3=Sp Only, 4=No access"
  },
  {
   "type": "MV",
   "instance": 31,
   "name": "DischAirLimitType",
   "description": "Default NotLimited",
   "units": "",
   "access": "W",
   "states": "1=NotLimited, 2=LowLimit, 3=HighLimit, 4=HighLowLimit"
  },
  {
   "type": "MV",
   "instance": 50,
   "name": "ControlMode",
   "description": "Default Local",
   "units": "",
   "access": "W",
   "states": "1=Local, 2=Master, 3=Slave"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/distech-controls/ecb-ptu-107-preloaded-applications",
 "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"
}
