{
 "manufacturer": "TROX",
 "manufacturer_slug": "trox",
 "model": "FSL-CONTROL III decentralised ventilation controller (software 8.0)",
 "model_slug": "fsl-control-iii",
 "aliases": [
  "FSL-CONTROL III",
  "FSL-C-III",
  "Schoolair",
  "FSL decentralised ventilation",
  "M172"
 ],
 "equipment_type": "Decentralised ventilation unit controller",
 "applies_to": "TROX FSL decentralised (single-room) ventilation units with the FSL-CONTROL III controller, software version 8.0.",
 "summary": "FSL-CONTROL III is the controller of TROX decentralised façade and parapet ventilation units. It runs on a Schneider Electric M172 controller and connects to BACnet MS/TP or BACnet IP through an interface card. The object list has 62 objects: analogue inputs for temperatures, humidity, air quality, flow rates, valve positions and states, analogue/binary/multistate values for BMS presets (operating mode and type, setpoints, fan stage, fire, window, changeover), and multistate inputs for the current state.",
 "bacnet_transport": [
  "BACnet MS/TP",
  "BACnet IP"
 ],
 "firmware": "Software 8.0 (M172 firmware 596.12)",
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "This list is from the 2024 manual (software 8.0). The 2020 manual (A00000080125 V1) numbers many objects differently (for example AI 0 was the supply air temperature), so check the controller software version.",
  "Values written by the BMS are the \"Default\" (fIn/bIn/eIn) objects; the \"Output\" (fOut/bOut/eOut) objects are read-only.",
  "Some states are carried in analogue objects (fan stage, operating state, operating mode override); the codes are listed in the states field.",
  "Temperature defaults of 327.67 and 65535 mean \"not set / invalid\".",
  "The device object reports Schneider Electric (vendor 10), model M172, because the controller hardware is a Schneider M172."
 ],
 "source": {
  "title": "FSL-CONTROL III - Installation, commissioning and maintenance manual (software version 8.0)",
  "doc_number": "A00000080122 V4",
  "revision_date": "2024-10",
  "url": "https://www.trox.de/en/downloads/eac245fd534e988d/FSL-C-III_ICM_A00000080122_V4_2024_10_GB_en--1-.pdf"
 },
 "points": [
  {
   "type": "AI",
   "instance": 0,
   "name": "fOutFanLevel",
   "description": "Output fan stage",
   "units": "",
   "access": "R",
   "states": "1 = 0_Manual 2 = 1_Manual 3 = 2_Manual 4 = 3_Manual 5 = 4_Manual 6 = 5_Manual 7 = 0_AUTO 8 = 1_AUTO 9 = 2_AUTO 10 = 3_AUTO 11 = 4_AUTO 12 = 5_AUTO"
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "fOutOperatingState",
   "description": "Output operating state",
   "units": "",
   "access": "R",
   "states": "0 = OFF 1 = Standby 2 = Control 3 = Manual 4 = Device Start Up 5 = Shutdown 6 = Fire protection 7 = Frost protection 8 = StartUp Circuity 9 = Error 10 = Valve Kick 11 = Night purge"
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "fOutOperatingTypeOverriding",
   "description": "Output operating mode override",
   "units": "",
   "access": "R",
   "states": "0 = None 1 = Boost 2 = Exercise 3 = Night purge 4 = Fan Force"
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "fOutValvePositionCoolingSlave03",
   "description": "Output position cooling valve slave 3",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "fOutValvePositionHeatingSlave03",
   "description": "Output position heating valve slave 3",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "fOutTempSupplySlave03",
   "description": "Output supply air temperature slave 3",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "fOutTempSupplySlave02",
   "description": "Output supply air temperature slave 2",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "fOutValvePositionHeatingSlave02",
   "description": "Output position heating valve slave 2",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "fOutValvePositionCoolingSlave02",
   "description": "Output position cooling valve slave 2",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "fOutValvePositionCoolingSlave01",
   "description": "Output position cooling valve slave 1",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "fOutValvePositionHeatingSlave01",
   "description": "Output position heating valve slave 1",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "fOutTempSupplySlave01",
   "description": "Output supply air temperature slave 1",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 12,
   "name": "fOutAlarmB",
   "description": "Output consolidated alarm B",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 13,
   "name": "fOutAlarmA",
   "description": "Output consolidated alarm A",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 14,
   "name": "fOutValvePositionCoolingMaster",
   "description": "Output position cooling valve master",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 15,
   "name": "fOutValvePositionHeatingMaster",
   "description": "Output position heating valve master",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 16,
   "name": "fOutSystemDevices",
   "description": "Output number of connected devices",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 17,
   "name": "fOutVolumeFlowExhaust",
   "description": "Output extract air flow rate",
   "units": "l/s",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 18,
   "name": "fOutVolumeFlowOda",
   "description": "Output supply air flow rate",
   "units": "l/s",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 19,
   "name": "fOutAirQualityRoom",
   "description": "Output air quality",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 20,
   "name": "fOutHumidityRoom",
   "description": "Output relative humidity",
   "units": "%RH",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 21,
   "name": "fOutTempSetPointSupply",
   "description": "Output supply air setpoint temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 22,
   "name": "fOutTempRangeHeating",
   "description": "Output lower limit temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 23,
   "name": "fOutTempRangeCooling",
   "description": "Output upper limit temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 24,
   "name": "fOutTempOffset",
   "description": "Output temperature offset",
   "units": "K",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 25,
   "name": "fOutTempFlow",
   "description": "Output flow temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 26,
   "name": "fOutTempReturnFlow",
   "description": "Output return temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 27,
   "name": "fOutTempRoom",
   "description": "Output room temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 28,
   "name": "fOutTempOda",
   "description": "Output outdoor air temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 29,
   "name": "fOutTempSupply",
   "description": "Output supply air temperature",
   "units": "°C",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "bOutFire",
   "description": "Output fire emergency stop",
   "units": "",
   "access": "R",
   "states": "0=normal, 1=fire"
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "bOutWindow",
   "description": "Output window contact",
   "units": "",
   "access": "R",
   "states": "0=closed, 1=open"
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "bOutExtratime",
   "description": "Output overtime",
   "units": "",
   "access": "R",
   "states": "0=inactive, 1=active"
  },
  {
   "type": "MI",
   "instance": 0,
   "name": "eOutOperatingMode",
   "description": "Output operating mode",
   "units": "",
   "access": "R",
   "states": "1=Off, 2=Automatic, 3=Manually"
  },
  {
   "type": "MI",
   "instance": 1,
   "name": "eOutOperatingType",
   "description": "Output operating type",
   "units": "",
   "access": "R",
   "states": "1=None, 2=Standby, 3=Unoccupied, 4=Occupied"
  },
  {
   "type": "MI",
   "instance": 2,
   "name": "eOutVentilationType",
   "description": "Output ventilation type",
   "units": "",
   "access": "R",
   "states": "1=None, 2=Secondary Air, 3=Outside Air"
  },
  {
   "type": "MI",
   "instance": 3,
   "name": "eOutDemandRoom",
   "description": "Request from room",
   "units": "",
   "access": "R",
   "states": "1=None, 2=Heating, 3=Cooling"
  },
  {
   "type": "MI",
   "instance": 4,
   "name": "eOutDemandValve",
   "description": "Request valve",
   "units": "",
   "access": "R",
   "states": "1=None, 2=Heating, 3=Cooling"
  },
  {
   "type": "AV",
   "instance": 0,
   "name": "fInSpTempRangeCooling",
   "description": "Default temperature limit cooling",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "fInSpTempRangeHeating",
   "description": "Default temperature limit heating",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "fInPvTempRoom",
   "description": "Default current room temperature",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "fInSpTempRoom",
   "description": "Default room temperature setpoint value",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "fInSpOffsetRoom",
   "description": "Default offset to room temperature setpoint value",
   "units": "K",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "fInSpTempSupply",
   "description": "Default supply air temperature setpoint value",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "fInSpOffsetSupply",
   "description": "Default offset to supply air temperature setpoint",
   "units": "K",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "fInPvHumidityRoom",
   "description": "Default relative humidity room air",
   "units": "%RH",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "fInSpFanLevel",
   "description": "Default fan stage",
   "units": "",
   "access": "W",
   "states": "1 = Stage 1 2 = Stage 2 3 = Stage 3 4 = Stage 4 5 = Stage 5"
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "fInPvAirQualityqRoom",
   "description": "Default air quality (room)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "fInPvAirQualityOda",
   "description": "Default air quality (external)",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "fInPvVolumeFlowDifference",
   "description": "Default volume flow rate difference",
   "units": "l/s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "fInPvOperatingTypeOverriding",
   "description": "Default operating mode override",
   "units": "",
   "access": "W",
   "states": "0 = Inactive 1 = Boost 2 = Class 3 = Night purge 4 = Fan Forced operation (Fume cupboard switching)"
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "fInPvTempOda",
   "description": "Default outdoor air temperature",
   "units": "°C",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 0,
   "name": "bInFire",
   "description": "Default fire emergency stop",
   "units": "",
   "access": "W",
   "states": "0=normal, 1=fire"
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "bInWindow",
   "description": "Default window contact",
   "units": "",
   "access": "W",
   "states": "0=closed, 1=open"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "bInExtratime",
   "description": "Default overtime",
   "units": "",
   "access": "W",
   "states": "0=inactive, 1=active"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "bInFilterReset",
   "description": "Default filter change",
   "units": "",
   "access": "W",
   "states": "0=inactive, 1=reset"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "bInCondensation",
   "description": "Default condensate",
   "units": "",
   "access": "W",
   "states": "0=inactive, 1=active"
  },
  {
   "type": "MV",
   "instance": 0,
   "name": "eInOperatingMode",
   "description": "Default operating mode",
   "units": "",
   "access": "W",
   "states": "1=invalid, 2=off, 3=automatic"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "eInOperatingType",
   "description": "Default operating mode",
   "units": "",
   "access": "W",
   "states": "1=invalid, 2=standby, 3=unoccupied, 4=occupied"
  },
  {
   "type": "MV",
   "instance": 2,
   "name": "eInChangeOver",
   "description": "Default changeover",
   "units": "",
   "access": "W",
   "states": "1=invalid, 2=warm water, 3=cold water"
  },
  {
   "type": "MV",
   "instance": 3,
   "name": "eInCovMode",
   "description": "Default COV Mode",
   "units": "",
   "access": "W",
   "states": "1=invalid, 2=disabled, 3=local broadcast, 4=global broadcast"
  },
  {
   "type": "MV",
   "instance": 4,
   "name": "eInOdaAutomatic",
   "description": "Outdoor air",
   "units": "",
   "access": "W",
   "states": "1=invalid, 2=inactive, 3=active"
  }
 ],
 "integration": {
  "summary": "Write MV 0 eInOperatingMode (off/automatic) and MV 1 eInOperatingType (standby/unoccupied/occupied) to run the unit from the BMS, and AV 3 fInSpTempRoom or AV 4 fInSpOffsetRoom for the room setpoint. Feed BV 0 bInFire and BV 1 bInWindow if the BMS handles them. Read MI 0/MI 1 for the actual mode, AI 1 for the operating state, AI 27 room temperature and AI 12/AI 13 for the consolidated alarms.",
  "minimum_points": [
   {
    "ref": "MV 0",
    "name": "eInOperatingMode",
    "why": "Mode preset: 2 off, 3 automatic (1 invalid)"
   },
   {
    "ref": "MV 1",
    "name": "eInOperatingType",
    "why": "Occupancy preset: standby, unoccupied, occupied"
   },
   {
    "ref": "AV 3",
    "name": "fInSpTempRoom",
    "why": "Room temperature setpoint from the BMS, °C"
   },
   {
    "ref": "BV 0",
    "name": "bInFire",
    "why": "Fire emergency stop from the BMS"
   },
   {
    "ref": "MI 0",
    "name": "eOutOperatingMode",
    "why": "Actual mode: off, automatic, manual"
   },
   {
    "ref": "AI 1",
    "name": "fOutOperatingState",
    "why": "Operating state code (standby, control, fire...)"
   },
   {
    "ref": "AI 27",
    "name": "fOutTempRoom",
    "why": "Room temperature"
   },
   {
    "ref": "AI 29",
    "name": "fOutTempSupply",
    "why": "Supply air temperature"
   },
   {
    "ref": "AI 13",
    "name": "fOutAlarmA",
    "why": "Consolidated alarm A"
   },
   {
    "ref": "AI 12",
    "name": "fOutAlarmB",
    "why": "Consolidated alarm B"
   }
  ],
  "enable": "MV 0 eInOperatingMode presets off (2) or automatic (3); 1 = invalid (no preset). MV 1 eInOperatingType presets standby, unoccupied or occupied.",
  "heartbeat": null,
  "remote_sensors": "AV 2 fInPvTempRoom, AV 7 fInPvHumidityRoom, AV 9/AV 10 air quality and AV 13 fInPvTempOda accept values from the BMS.",
  "setup": [
   "Device Object_Identifier = BACnet subnet x 65536 + BACnet identifier; default object name \"FSL-CONTROL III\".",
   "BACnet MS/TP or BACnet IP needs the matching interface card on the master controller.",
   "Max_Master default 127, Max_Info_Frames default 1."
  ],
  "gotchas": [
   "MV 3 eInCovMode is stored in EEPROM (RW-E); set it once rather than writing it repeatedly.",
   "AI 0, AI 1 and AI 2 carry state codes as numbers, not engineering values."
  ]
 },
 "page": "https://easybacnet.com/bacnet-points-lists/trox/fsl-control-iii",
 "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"
}
