{
 "manufacturer": "ONICON",
 "manufacturer_slug": "onicon",
 "model": "FT-3000 series (FT-3200) inline electromagnetic flow meter, BACnet MS/TP",
 "model_slug": "ft-3200-electromagnetic-flow-meter",
 "aliases": [
  "FT-3200",
  "FT-3000",
  "FT-32**-*****-21**",
  "ONICON FT-3000 BACnet"
 ],
 "equipment_type": "Electromagnetic flow meter",
 "applies_to": "ONICON FT-3000 series inline electromagnetic flow meters with the BACnet MS/TP output (PICS model FT-32**-*****-21**).",
 "summary": "The FT-3000 series mag meter has a native BACnet MS/TP port. It exposes flow rate (and percent of scale), board temperatures and battery charge as Analog Inputs, forward and reverse total and partial volumes as both Analog Values and Positive Integer Values, a reset BV, a battery-state MSV and two BitString alarm words.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "BACnet firmware 2.0.0, application 1.06.0000.0004 (PICS 02/23/2025)",
 "default_device_instance": "4194303 (not initialized; must be set before use)",
 "access_inferred": false,
 "notes": [
  "Units follow the meter's configured volume and flow units; the supplement lists the supported BACnet unit codes (metric and US, per second/minute/hour/day).",
  "MEA_ERROR and SYS_ERROR are BitString Value objects (listed as type Other); the bit meanings are in the states column.",
  "RST_SEL_CNT acts like a strobe: writing Active resets the selected counters, and the device clears the priority array so it always reads Inactive.",
  "Analog Input Present_Value and Reliability are writable only for testing on non-MID meters with Out_Of_Service set.",
  "A Network Port object (NP MS/TP, instance 0) is also present.",
  "Source: FT-3000 Series BACnet Supplement DOC-0007832 Rev.A, section 2.2."
 ],
 "source": {
  "title": "FT-3000 Series Inline Electromagnetic Flow Meter BACnet Supplement",
  "doc_number": "DOC-0007832 Rev.A",
  "revision_date": null,
  "url": "https://www.onicon.com/wp-content/uploads/2025/06/ft-3200-bacnet-supplement-DOC-0007832.pdf"
 },
 "integration": {
  "summary": "In menu 8-Communication set the MAC address, baud, Max Master and a device instance (it ships as 4194303, not initialized). Read flow rate, the forward total volume and the alarm bitstrings; write RST_SEL_CNT only to reset the selected partial counters.",
  "minimum_points": [
   {
    "ref": "AI 0",
    "name": "FLOW_RATE",
    "why": "Flow rate in configured units"
   },
   {
    "ref": "AV 0",
    "name": "TOT_VOL_POS_V",
    "why": "Forward flow total volume"
   },
   {
    "ref": "AV 2",
    "name": "TOT_VOL_NEG_V",
    "why": "Reverse flow total volume"
   },
   {
    "ref": "AI 1",
    "name": "FLOW_RATE_(PC)",
    "why": "Flow, % of full scale"
   },
   {
    "ref": "Other 0",
    "name": "MEA_ERROR",
    "why": "Measurement alarm bits (empty pipe, flow limits)"
   },
   {
    "ref": "Other 1",
    "name": "SYS_ERROR",
    "why": "System alarm bits (battery, temp, power)"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "Settings are in menu 8-Communication, behind the programming access code.",
   "MAC 0-127 = MS/TP master, 128-254 = slave; baud 9600, 19200, 38400, 57600 or 76800; field-settable 120 ohm termination (switches 1 and 2).",
   "Device instance ships as 4194303 ('not initialized'); set 1-4,194,302 before use. Once changed it cannot be set back to 4194303.",
   "Bnet W.E. controls whether the device instance, name, location and description can be written over BACnet.",
   "No segmentation."
  ],
  "gotchas": [
   "The meter does not take part properly until the device instance is changed from 4194303.",
   "Volumes appear twice (AV as REAL and PIV as integer counter); pick one type and map it consistently.",
   "RST_SEL_CNT always reads Inactive; it is a reset strobe, not a state."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 0,
   "name": "FLOW_RATE",
   "description": "Flow rate",
   "units": "configurable (gpm, l/s...)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "FLOW_RATE_(PC)",
   "description": "Flow rate as % of full scale",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "BRD_T1_TEMP",
   "description": "Board temperature T1",
   "units": "°C or °F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "BRD_T2_TEMP",
   "description": "Board temperature T2",
   "units": "°C or °F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "BATT CHARGE",
   "description": "Battery charge",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 0,
   "name": "TOT_VOL_POS_V",
   "description": "Total volume, positive (forward) flow",
   "units": "configurable volume",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "PAR_VOL_POS_V",
   "description": "Partial (resettable) volume, positive flow",
   "units": "configurable volume",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "TOT_VOL_NEG_V",
   "description": "Total volume, negative (reverse) flow",
   "units": "configurable volume",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "PAR_VOL_NEG_V",
   "description": "Partial (resettable) volume, negative flow",
   "units": "configurable volume",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 0,
   "name": "RST_SEL_CNT",
   "description": "Reset selected counters (write Active)",
   "units": "",
   "access": "C",
   "states": "0=No Command, 1=Reset Command"
  },
  {
   "type": "Other",
   "instance": 0,
   "name": "MEA_ERROR",
   "description": "BitString Value: measurement alarm bits",
   "units": "",
   "access": "R",
   "states": "bit 0 overflow, 1 pulse 1 overflow, 2 pulse 2 overflow, 3 flow min, 4 flow max, 5 signal error, 6 excitation error, 7 empty pipe"
  },
  {
   "type": "Other",
   "instance": 1,
   "name": "SYS_ERROR",
   "description": "BitString Value: system alarm bits",
   "units": "",
   "access": "R",
   "states": "bit 0 battery fault, 1 low battery, 2 over temperature, 3 power fail"
  },
  {
   "type": "PIV",
   "instance": 0,
   "name": "TOT_VOL_POS_C",
   "description": "Total volume, positive flow (integer counter)",
   "units": "configurable volume",
   "access": "R",
   "states": ""
  },
  {
   "type": "PIV",
   "instance": 1,
   "name": "PAR_VOL_POS_C",
   "description": "Partial volume, positive flow (integer counter)",
   "units": "configurable volume",
   "access": "R",
   "states": ""
  },
  {
   "type": "PIV",
   "instance": 2,
   "name": "TOT_VOL_NEG_C",
   "description": "Total volume, negative flow (integer counter)",
   "units": "configurable volume",
   "access": "R",
   "states": ""
  },
  {
   "type": "PIV",
   "instance": 3,
   "name": "PAR_VOL_NEG_C",
   "description": "Partial volume, negative flow (integer counter)",
   "units": "configurable volume",
   "access": "R",
   "states": ""
  },
  {
   "type": "MV",
   "instance": 0,
   "name": "BATT_STATE",
   "description": "Battery status",
   "units": "",
   "access": "R",
   "states": "1=Battery OK, 2=Battery Low, 3=Battery Empty, 4=Battery Fault"
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/onicon/ft-3200-electromagnetic-flow-meter",
 "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"
}
