{
 "manufacturer": "Thermokon",
 "manufacturer_slug": "thermokon",
 "model": "FTW04 BACnet MS/TP RS485 room humidity/temperature unit",
 "model_slug": "ftw04-bacnet-room-unit",
 "aliases": [
  "FTW04",
  "FTW04 BACnet",
  "FTW04_BACnet",
  "FTW04-RS485-BACnet"
 ],
 "equipment_type": "Room sensor / operating unit",
 "applies_to": "Thermokon FTW04 BACnet MS/TP RS485 room units (temperature, humidity, optional setpoint, button, rotary switch, LED, 2 digital inputs, 2 analogue outputs).",
 "summary": "FTW04 is a wall-mounted room unit with BACnet MS/TP. The interface description lists 28 objects including the device object: room temperature, humidity, setpoint potentiometer, button, digital inputs and rotary switch, two 0-10 V outputs, offsets, setpoint scaling and LED behaviour.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "1.0.0",
 "default_device_instance": "DeviceOffsetID (AV 0, default 100) + MAC address",
 "access_inferred": true,
 "notes": [
  "Objects marked # in the description (device offset, offsets, setpoint unit/limits after reset, TempUnit, LED configuration) keep their values after a reset; the # is not part of the name.",
  "Setpoint, button, rotary switch and LED objects only apply to variants that have those parts.",
  "The description has no access column; inputs are listed read-only and values/outputs writable.",
  "Two objects are printed with the same name SetpMIN (and SetpMAX): one is the limit after reset, the other the limit used in operation."
 ],
 "source": {
  "title": "Interface Description WRF04/FTW04 BACnet MS/TP",
  "doc_number": null,
  "revision_date": "Rev. A, 17.05.2013",
  "url": "https://www.thermokon.de/downloads/Software/Schnittstellenbeschreibung/BACnet/WRF04_FTW04-RS485_BACnet_InterfaceDescription.zip"
 },
 "points": [
  {
   "type": "AI",
   "instance": 0,
   "name": "Temperature",
   "description": "Room temperature (unit per BV 2)",
   "units": "°C/°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "Rel.Humidity",
   "description": "Relative humidity",
   "units": "%RH",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Set point",
   "description": "Setpoint potentiometer (unit/range per AV 3-7)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "BI",
   "instance": 0,
   "name": "Button",
   "description": "Status of the button",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 1,
   "name": "DigitalInput1",
   "description": "Status of digital input 1",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BI",
   "instance": 2,
   "name": "DigitalInput2",
   "description": "Status of digital input 2",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "MI",
   "instance": 0,
   "name": "RotarySwitch",
   "description": "Rotary switch position 1-5",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 0,
   "name": "AnalogOutput1",
   "description": "Analogue output 1, 0-100 % = 0-10 V",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 1,
   "name": "AnalogOutput2",
   "description": "Analogue output 2, 0-100 % = 0-10 V",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 0,
   "name": "DeviceOffsetID",
   "description": "Added to the MAC address to form the device ID",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "TempOffset",
   "description": "Temperature correction",
   "units": "°C/°F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "HumiOffset",
   "description": "Humidity correction",
   "units": "%RH",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "SetpUnit",
   "description": "Unit of the setpoint object",
   "units": "",
   "access": "W",
   "states": "0=no unit, 1=%, 2=°C, 3=°F, 4=Kelvin, 5=% relative humidity, 6=° angle"
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "SetpMIN",
   "description": "Lower setpoint limit after device reset (default 0)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "SetpMAX",
   "description": "Upper setpoint limit after device reset (default 100)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "SetpMIN",
   "description": "Lower setpoint limit, changeable in operation",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "SetpMAX",
   "description": "Upper setpoint limit, changeable in operation",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "ButtonCounter",
   "description": "Button press counter",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "DigInp1Counter",
   "description": "Digital input 1 rising-edge counter",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "DigInput2Counter",
   "description": "Digital input 2 rising-edge counter",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 0,
   "name": "LEDState",
   "description": "LED status",
   "units": "",
   "access": "W",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "LockLEDState",
   "description": "Active: LED toggle via button and digital inputs locked",
   "units": "",
   "access": "W",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "TempUnit",
   "description": "Temperature unit",
   "units": "",
   "access": "W",
   "states": "0=°C, 1=°F"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "LEDStateReset",
   "description": "LED status after device reset",
   "units": "",
   "access": "W",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "ToggleLEDbyButton",
   "description": "Button press toggles the LED",
   "units": "",
   "access": "W",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "ToggleLEDbyDigInput1",
   "description": "Rising edge on DI1 toggles the LED",
   "units": "",
   "access": "W",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "ToggleLEDbyDigInput2",
   "description": "Rising edge on DI2 toggles the LED",
   "units": "",
   "access": "W",
   "states": "0=Inactive, 1=Active"
  }
 ],
 "integration": {
  "summary": "Read the temperature and humidity, the setpoint potentiometer and the button/digital inputs; the BMS can drive the two 0-10 V outputs and the LED.",
  "minimum_points": [
   {
    "ref": "AI 0",
    "name": "Temperature",
    "why": "Room temperature"
   },
   {
    "ref": "AI 1",
    "name": "Rel.Humidity",
    "why": "Room relative humidity"
   },
   {
    "ref": "AI 2",
    "name": "Set point",
    "why": "Setpoint potentiometer value"
   },
   {
    "ref": "BI 0",
    "name": "Button",
    "why": "Button state"
   },
   {
    "ref": "MI 0",
    "name": "RotarySwitch",
    "why": "Rotary switch position 1-5"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "Baud rate 9600, 19200, 38400, 57600 or 76800 and MAC address are set on DIP switches.",
   "Device ID = DeviceOffsetID (default 100) + MAC address; the device restarts after either is changed."
  ],
  "gotchas": [
   "Device profile is B-SA with only ReadProperty and WriteProperty."
  ]
 },
 "page": "https://easybacnet.com/bacnet-points-lists/thermokon/ftw04-bacnet-room-unit",
 "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"
}
