{
 "manufacturer": "Belimo",
 "manufacturer_slug": "belimo",
 "model": "Duct and Pipe Sensors (22DTH, 22UTH, 22DTM, 22ADP) BACnet",
 "model_slug": "duct-pipe-sensors-bacnet",
 "aliases": [
  "22DTH-..6..",
  "22UTH-..60X",
  "22DTM-..6",
  "22ADP-..6..",
  "22DTH-16M",
  "22DTH-56M",
  "22UTH-160X",
  "22UTH-560X",
  "22DTM-16",
  "22DTM-56",
  "22ADP-164",
  "22ADP-164L",
  "22ADP-56Q",
  "22ADP-56QB",
  "22ADP-564L",
  "22ADP-566L"
 ],
 "equipment_type": "Duct / outdoor sensors (temperature, humidity, CO2, VOC, differential pressure)",
 "applies_to": "Belimo BACnet MS/TP sensors: 22DTH duct temperature/humidity, 22UTH outdoor temperature/humidity, 22DTM duct CO2/VOC and 22ADP differential pressure/airflow sensors.",
 "summary": "This family of Belimo sensors shares one BACnet MS/TP object map. AI 0-11 carry the measured values (temperature, humidity, derived absolute humidity, enthalpy and dew point, CO2, VOC, differential pressure and fan airflow), and AV objects hold offsets, output scaling limits, channel assignment, fan k-factors, device settings and the optional LCD. Only the values the particular model measures are in service; the rest show Out of Service.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "2.3",
 "default_device_instance": null,
 "access_inferred": false,
 "notes": [
  "The document gives no BACnet object names, only instances and descriptions; names here are the printed descriptions.",
  "Points not measured by a given model read Out of Service; check the datasheet for which apply.",
  "SI or Imperial units are chosen with AV 38; on 22ADP models DIP switch 6 sets this instead.",
  "AV 22-25 are printed as AI[22]-AI[25] in the document but sit in the AV limits table and are R/W.",
  "AV 50 appears twice in the document (deduplicated); AV 56 and AV 57 share the same text.",
  "Document cover says Edition 2024-03 / V4.2 although the file name says V4_1."
 ],
 "integration": {
  "summary": "Set the MS/TP MAC address and baud rate on the RS-485 module's DIP switches, then read the AI objects the model supports. Offsets, limits and the SI/Imperial choice are configuration AVs to set once. For 22ADP fan airflow, set the fan manufacturer and k-factor first.",
  "minimum_points": [
   {
    "ref": "AI 0",
    "name": "Value temperature",
    "why": "Temperature (22DTH / 22UTH / 22DTM)"
   },
   {
    "ref": "AI 1",
    "name": "Value relative humidity",
    "why": "Relative humidity (22DTH / 22UTH)"
   },
   {
    "ref": "AI 5",
    "name": "Value CO2",
    "why": "CO2 (22DTM)"
   },
   {
    "ref": "AI 8",
    "name": "Differential pressure 1",
    "why": "Differential pressure (22ADP)"
   },
   {
    "ref": "AI 9",
    "name": "Volumetric flow 1",
    "why": "Fan airflow (22ADP)"
   },
   {
    "ref": "AI 4",
    "name": "Value dew point",
    "why": "Calculated dew point (22DTH / 22UTH)"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "MS/TP only; MAC address 1-127 set in binary on DIP1 switches 1-5 plus DIP2 switches 4-5 (0 is reserved).",
   "Baud rate on DIP2 switches 2-3: 9600, 19200, 38400 or 76800.",
   "DIP2 switch 1 turns on the 120 Ω terminator; all DIP switches ship OFF.",
   "Device ID = AV 46 offset + MAC address.",
   "Unconfirmed COV (AV 47) is the COV method; there are no COV subscriptions (DS-COVU-B only)."
  ],
  "gotchas": [
   "inWC offsets in AV 4/5 are written in thousandths (write 10 for 0.01 inWC).",
   "AV 39 altitude is always entered in metres.",
   "The 22ADP differential pressure range is set by DIP switches 1-3 on the sensor main board.",
   "Channel numbers 1 and 2 also drive the two 0-10 V outputs AOU1/AOU2."
  ]
 },
 "source": {
  "title": "BACnet Interface Description, Belimo Sensors 22DTH-..6.., 22UTH-..60X, 22DTM-..6, 22ADP-..6..",
  "doc_number": null,
  "revision_date": "2024-03 / V4.2",
  "url": "https://www.belimo.com/mam/general-documents/system_integration/BACnet/belimo_BACnet_Interface-description_Sensors_V4_1_en-gb.pdf"
 },
 "points": [
  {
   "type": "AI",
   "instance": 0,
   "name": "Value temperature",
   "description": "Measured temperature",
   "units": "°C / °F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "Value relative humidity",
   "description": "Measured relative humidity",
   "units": "%RH",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Value absolute humidity",
   "description": "Calculated absolute humidity",
   "units": "g/m³ / gr/ft³",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Value enthalpy",
   "description": "Calculated enthalpy",
   "units": "kJ/kg / BTU/lb",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Value dew point",
   "description": "Calculated dew point",
   "units": "°C / °F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Value CO2",
   "description": "Measured CO2",
   "units": "ppm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Value VOC",
   "description": "Measured VOC",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Value CO2 VOC Mix",
   "description": "Combined CO2/VOC air quality value",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "Differential pressure 1",
   "description": "Differential pressure, sensor S1 (22ADP)",
   "units": "Pa / inWC",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "Volumetric flow 1",
   "description": "Fan airflow from dp S1 and k-factor (22ADP)",
   "units": "m³/h or m³/s / cfm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "Differential pressure 2",
   "description": "Differential pressure, sensor S2 (dual ADP only)",
   "units": "Pa / inWC",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "Volumetric flow 2",
   "description": "Fan airflow from dp S2 (dual ADP only)",
   "units": "m³/h or m³/s / cfm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 0,
   "name": "Offset temperature",
   "description": "Temperature offset, -3 to +3 °C",
   "units": "°C / °F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Offset relative humidity",
   "description": "Humidity offset, -5 to +5 %RH",
   "units": "%RH",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Offset CO2",
   "description": "CO2 offset, -150 to +150 ppm",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Offset VOC",
   "description": "VOC offset, -15 to +15 %",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Offset differential pressure 1",
   "description": "dp S1 offset, -50 to +50 Pa (inWC in 1/1000)",
   "units": "Pa / inWC",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Offset differential pressure 2",
   "description": "dp S2 offset (dual ADP only)",
   "units": "Pa / inWC",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Lower limit temperature",
   "description": "Lower limit / 0 V scaling for temperature",
   "units": "°C / °F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Upper limit temperature",
   "description": "Upper limit / 10 V scaling for temperature",
   "units": "°C / °F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Lower limit relative humidity",
   "description": "Lower limit / 0 V scaling for relative humidity",
   "units": "%RH",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Upper limit relative humidity",
   "description": "Upper limit / 10 V scaling for relative humidity",
   "units": "%RH",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Lower limit absolute humidity",
   "description": "Lower limit / 0 V scaling for absolute humidity",
   "units": "g/m³ / gr/ft³",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Upper limit absolute humidity",
   "description": "Upper limit / 10 V scaling for absolute humidity",
   "units": "g/m³ / gr/ft³",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "Lower limit enthalpy",
   "description": "Lower limit / 0 V scaling for enthalpy",
   "units": "kJ/kg / BTU/lb",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "Upper limit enthalpy",
   "description": "Upper limit / 10 V scaling for enthalpy",
   "units": "kJ/kg / BTU/lb",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "Lower limit dew point",
   "description": "Lower limit / 0 V scaling for dew point",
   "units": "°C / °F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "Upper limit dew point",
   "description": "Upper limit / 10 V scaling for dew point",
   "units": "°C / °F",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Lower limit CO2",
   "description": "Lower limit / 0 V scaling for CO2",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "Upper limit CO2",
   "description": "Upper limit / 10 V scaling for CO2",
   "units": "ppm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Lower limit VOC",
   "description": "Lower limit / 0 V scaling for VOC",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "Upper limit VOC",
   "description": "Upper limit / 10 V scaling for VOC",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "Lower limit CO2 VOC Mix",
   "description": "Lower limit / 0 V scaling for CO2 VOC Mix",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "Upper limit CO2 VOC Mix",
   "description": "Upper limit / 10 V scaling for CO2 VOC Mix",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "Lower limit volumetric flow 1",
   "description": "Lower limit for airflow 1 (printed as AI[22])",
   "units": "m³/h or m³/s / cfm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "Upper limit volumetric flow 1",
   "description": "Upper limit for airflow 1 (printed as AI[23])",
   "units": "m³/h or m³/s / cfm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "Lower limit volumetric flow 2",
   "description": "Lower limit for airflow 2, dual ADP (printed as AI[24])",
   "units": "m³/h or m³/s / cfm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 25,
   "name": "Upper limit volumetric flow 2",
   "description": "Upper limit for airflow 2, dual ADP (printed as AI[25])",
   "units": "m³/h or m³/s / cfm",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "Channel temperature",
   "description": "Output/LCD channel for temperature (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "Channel relative humidity",
   "description": "Output/LCD channel for relative humidity (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "Channel absolute humidity",
   "description": "Output/LCD channel for absolute humidity (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "Channel enthalpy",
   "description": "Output/LCD channel for enthalpy (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "Channel dew point",
   "description": "Output/LCD channel for dew point (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "Channel CO2",
   "description": "Output/LCD channel for CO2 (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 32,
   "name": "Channel VOC",
   "description": "Output/LCD channel for VOC (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "Channel CO2 VOC Mix",
   "description": "Output/LCD channel for CO2 VOC Mix (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 34,
   "name": "Channel differential pressure 1",
   "description": "Output/LCD channel for differential pressure 1 (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "Channel volumetric flow 1",
   "description": "Output/LCD channel for volumetric flow 1 (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 36,
   "name": "Channel differential pressure 2",
   "description": "Output/LCD channel for differential pressure 2 (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 37,
   "name": "Channel volumetric flow 2",
   "description": "Output/LCD channel for volumetric flow 2 (0=unused, 1-4)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 38,
   "name": "Selection of the unitary system",
   "description": "SI or Imperial units (22ADP: set by DIP 6)",
   "units": "",
   "access": "W",
   "states": "1=SI, 2=Imperial"
  },
  {
   "type": "AV",
   "instance": 39,
   "name": "Height above sea level",
   "description": "Installation altitude, always in metres",
   "units": "m",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "Input k-factor volumetric flow 1",
   "description": "Fan k-factor x10 for airflow 1",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 41,
   "name": "Selection of the fan manufacturer 1",
   "description": "Fan maker formula for airflow 1",
   "units": "",
   "access": "W",
   "states": "0=Rosenberg/Comefri/Gebhart/Nicotra/Ziehl-Abegg, 1=EBM-Papst/AIR-CONCEPTS, 2=Fläkt-Woods"
  },
  {
   "type": "AV",
   "instance": 42,
   "name": "Input k-factor volumetric flow 2",
   "description": "Fan k-factor x10 for airflow 2 (dual ADP)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 43,
   "name": "Selection of the fan manufacturer 2",
   "description": "Fan maker formula for airflow 2 (dual ADP)",
   "units": "",
   "access": "W",
   "states": "0=Rosenberg/Comefri/Gebhart/Nicotra/Ziehl-Abegg, 1=EBM-Papst/AIR-CONCEPTS, 2=Fläkt-Woods"
  },
  {
   "type": "AV",
   "instance": 44,
   "name": "Response time for volumetric flow 1",
   "description": "Airflow 1 response time, 4-30 s",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 45,
   "name": "Response time for volumetric flow 2",
   "description": "Airflow 2 response time (dual ADP)",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 85,
   "name": "Zeroing differential pressure 1",
   "description": "Start zero calibration of dp S1",
   "units": "",
   "access": "W",
   "states": "0=No zeroing, 1=Start zeroing"
  },
  {
   "type": "AV",
   "instance": 86,
   "name": "Zeroing differential pressure 2",
   "description": "Start zero calibration of dp S2 (dual ADP)",
   "units": "",
   "access": "W",
   "states": "0=No zeroing, 1=Start zeroing"
  },
  {
   "type": "AV",
   "instance": 46,
   "name": "Offset device ID",
   "description": "Device ID = this offset + MAC address",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 47,
   "name": "Unconfirmed COV",
   "description": "Enable unsubscribed COV broadcasts",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 48,
   "name": "Minimum output voltage",
   "description": "Minimum voltage of the 0-10 V outputs",
   "units": "V",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 49,
   "name": "Operating hours",
   "description": "Operating hours counter",
   "units": "h",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 50,
   "name": "Maintenance time",
   "description": "Maintenance countdown in hours",
   "units": "h",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 52,
   "name": "Enable LCD",
   "description": "Turn the optional display on/off",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 53,
   "name": "Brightness LCD",
   "description": "Display brightness",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 54,
   "name": "Rotation LCD",
   "description": "Display rotation",
   "units": "",
   "access": "W",
   "states": "0=0°, 1=90°, 2=180°, 3=270°"
  },
  {
   "type": "AV",
   "instance": 55,
   "name": "Enable LCD traffic light function",
   "description": "Colour backlight by value",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 56,
   "name": "Enable symbol maintenance on LCD",
   "description": "Show maintenance symbol when AV 50 expires",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 57,
   "name": "Enable symbol maintenance on LCD",
   "description": "Second maintenance-symbol object, same text as AV 56",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 58,
   "name": "Enable LCD channel 1",
   "description": "Show channel 1 on the display",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 59,
   "name": "Enable LCD channel 2",
   "description": "Show channel 2 on the display",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 60,
   "name": "Enable LCD channel 3",
   "description": "Show channel 3 on the display",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 61,
   "name": "Enable LCD channel 4",
   "description": "Show channel 4 on the display",
   "units": "",
   "access": "W",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "AV",
   "instance": 62,
   "name": "Channel assignment for traffic light function",
   "description": "Which channel object (AV 26-35) drives the colours",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 63,
   "name": "Traffic light function color range 1",
   "description": "Backlight colour for range 1",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=Green, 2=Yellow, 3=Red, 4=Blue, 5=Magenta, 6=Cyan, 7=White"
  },
  {
   "type": "AV",
   "instance": 64,
   "name": "Traffic light function color range 2",
   "description": "Backlight colour for range 2",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=Green, 2=Yellow, 3=Red, 4=Blue, 5=Magenta, 6=Cyan, 7=White"
  },
  {
   "type": "AV",
   "instance": 65,
   "name": "Traffic light function color range 3",
   "description": "Backlight colour for range 3",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=Green, 2=Yellow, 3=Red, 4=Blue, 5=Magenta, 6=Cyan, 7=White"
  },
  {
   "type": "AV",
   "instance": 66,
   "name": "Setting for threshold range 1 | 2",
   "description": "Threshold between colour ranges 1 and 2",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 67,
   "name": "Setting for threshold range 2 | 3",
   "description": "Threshold between colour ranges 2 and 3",
   "units": "",
   "access": "W",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/belimo/duct-pipe-sensors-bacnet",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
