{
 "manufacturer": "ONICON",
 "manufacturer_slug": "onicon",
 "model": "System-20 BTU Meter",
 "model_slug": "system-20-btu-meter",
 "aliases": [
  "System-20",
  "System 20",
  "ONICON System-20",
  "S-20 BTU meter"
 ],
 "equipment_type": "BTU (energy) meter",
 "applies_to": "ONICON System-20 BTU meters with the RS485 BACnet MS/TP interface, used on chilled and hot water loops.",
 "summary": "The System-20 calculates thermal energy from a flow meter and a matched pair of supply and return temperature sensors. Over BACnet MS/TP it reports energy and flow rates, both temperatures, energy and volume totals, auxiliary pulse totals and a meter status code. In dual mode it keeps separate totals for two modes (for example heating and cooling), so the totals come in single mode, mode 1 and mode 2 sets.",
 "bacnet_transport": [
  "BACnet MS/TP"
 ],
 "firmware": "Software version 0.1.15 and higher",
 "default_device_instance": 57017,
 "access_inferred": true,
 "notes": [
  "The manual lists each object by identifier and function; the Object_Name property is shown only as \"Various\". Names here are the printed function text.",
  "Single mode objects accumulate when the meter runs in single mode; Mode 1 and Mode 2 objects accumulate in dual mode. BV 1 shows the active mode.",
  "Units shown are the factory defaults. Energy can be kBtu, MBtu, ton-hours, kJ, MJ, kWh or MWh; volume gallons, liters, ft3 or m3; temperature °F or °C.",
  "The protocol statement counts 10 analog inputs, but only AI 1 to AI 7 are described in the object table.",
  "There is no read/write column per object. The reset BVs are marked W because writing 1 resets the total; the rest are shown as read-only.",
  "The numbered MV 1 states skip 8; the State_Text list in the same section has Low Signal Quality in that position."
 ],
 "source": {
  "title": "System-20 BTU Meter Installation and Operation Guide",
  "doc_number": "DOC-0003557",
  "revision_date": "Rev.F",
  "url": "https://www.onicon.com/wp-content/uploads/system-20-btu-meter-manual-doc-0003557.pdf"
 },
 "integration": {
  "summary": "Read the energy rate, flow rate and the two temperatures for live trending, plus the energy and volume totals for the mode the meter runs in. Watch MV 1 Meter Status for sensor and supply faults. Nothing needs to be written except the optional total resets.",
  "minimum_points": [
   {
    "ref": "AI 1",
    "name": "Energy rate",
    "why": "Energy rate, kBtu/h by default"
   },
   {
    "ref": "AI 2",
    "name": "Volume rate",
    "why": "Flow rate, gpm by default"
   },
   {
    "ref": "AI 3",
    "name": "Supply temperature",
    "why": "Supply water temperature"
   },
   {
    "ref": "AI 4",
    "name": "Return temperature",
    "why": "Return water temperature"
   },
   {
    "ref": "AV 1",
    "name": "Single mode energy total",
    "why": "Energy total when run in single mode"
   },
   {
    "ref": "AV 16",
    "name": "Single mode volume total",
    "why": "Volume total when run in single mode"
   },
   {
    "ref": "MV 1",
    "name": "Meter Status",
    "why": "Meter status; 1 = Normal, 11 = System Fault"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "BACnet MS/TP on terminal block TB1, 2-wire half duplex, 1/4 unit load.",
   "MAC address 1-255 per the specification (the display menu shows 0-127), default 17. Device instance default 57017, writable.",
   "Baud 9600, 19200, 38400 or 76800; default 38400. 120 ohm termination selectable, default off; no biasing.",
   "Protocol (BACnet or Modbus), address, instance and baud are set from the meter display menu."
  ],
  "gotchas": [
   "Pick the totals that match the operating mode: the single mode objects cover single mode, the mode 1 and mode 2 objects cover dual mode.",
   "Reset the user-defined and aux totals only through the reset BVs (write 1).",
   "The trend log multiple holds 120 records and rolls over; the interval can be set from 30 s to 1 h, default 15 min."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "Energy rate",
   "description": "",
   "units": "kBtu/h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "Volume rate",
   "description": "",
   "units": "gpm",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "Supply temperature",
   "description": "",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "Return temperature",
   "description": "",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Delta temperature",
   "description": "",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Peak energy rate",
   "description": "Interval set by the trend log object",
   "units": "kBtu/h",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "Average delta temp",
   "description": "Interval set by the trend log object",
   "units": "°F",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "Single mode energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "Mode 1 energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "Mode 2 energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "Single mode Y-T-D energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "Mode 1 Y-T-D energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "Mode 2 Y-T-D energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "Single mode previous year energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "Mode 1 previous year energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "Mode 2 previous year energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "Single mode user defined energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "Mode 1 user defined energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "Mode 2 user defined energy total",
   "description": "",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "Single mode incremental energy total",
   "description": "Incremental total, logged by the trend log",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "Mode 1 incremental energy total",
   "description": "Incremental total, logged by the trend log",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "Mode 2 incremental energy total",
   "description": "Incremental total, logged by the trend log",
   "units": "kBtu",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "Single mode volume total",
   "description": "",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "Mode 1 volume total",
   "description": "",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "Mode 2 volume total",
   "description": "",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "Single mode Y-T-D volume total",
   "description": "Marked * (trend log interval) in the manual",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "Mode 1 Y-T-D volume total",
   "description": "Marked * (trend log interval) in the manual",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "Mode 2 Y-T-D volume total",
   "description": "Marked * (trend log interval) in the manual",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "Single mode previous year volume total",
   "description": "Marked * (trend log interval) in the manual",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "Mode 1 previous year volume total",
   "description": "",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "Mode 2 previous year volume total",
   "description": "",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 25,
   "name": "Single mode user defined volume total",
   "description": "",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "Mode 1 user defined volume total",
   "description": "",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "Mode 2 user defined volume total",
   "description": "",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "Single mode incremental volume total",
   "description": "Incremental total, logged by the trend log",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "Mode 1 incremental volume total",
   "description": "Incremental total, logged by the trend log",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "Mode 2 incremental volume total",
   "description": "Incremental total, logged by the trend log",
   "units": "gal",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "Aux pulse input 1 total",
   "description": "Pulse count",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 32,
   "name": "Aux pulse input 2 total",
   "description": "Pulse count",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "Aux pulse input 3 total",
   "description": "Pulse count",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 34,
   "name": "Run hours",
   "description": "",
   "units": "h",
   "access": "R",
   "states": ""
  },
  {
   "type": "BV",
   "instance": 1,
   "name": "Mode indication",
   "description": "Active mode",
   "units": "",
   "access": "R",
   "states": "0=Mode 1, 1=Mode 2"
  },
  {
   "type": "BV",
   "instance": 2,
   "name": "Location",
   "description": "Flow meter location",
   "units": "",
   "access": "R",
   "states": "0=Supply, 1=Return"
  },
  {
   "type": "BV",
   "instance": 3,
   "name": "Single mode user energy total reset",
   "description": "Write 1 to reset this total",
   "units": "",
   "access": "W",
   "states": "1 = reset total"
  },
  {
   "type": "BV",
   "instance": 4,
   "name": "Mode 1 user energy total reset",
   "description": "Write 1 to reset this total",
   "units": "",
   "access": "W",
   "states": "1 = reset total"
  },
  {
   "type": "BV",
   "instance": 5,
   "name": "Mode 2 user energy total reset",
   "description": "Write 1 to reset this total",
   "units": "",
   "access": "W",
   "states": "1 = reset total"
  },
  {
   "type": "BV",
   "instance": 6,
   "name": "Single mode user volume total reset",
   "description": "Write 1 to reset this total",
   "units": "",
   "access": "W",
   "states": "1 = reset total"
  },
  {
   "type": "BV",
   "instance": 7,
   "name": "Mode 1 user volume total reset",
   "description": "Write 1 to reset this total",
   "units": "",
   "access": "W",
   "states": "1 = reset total"
  },
  {
   "type": "BV",
   "instance": 8,
   "name": "Mode 2 user volume total reset",
   "description": "Write 1 to reset this total",
   "units": "",
   "access": "W",
   "states": "1 = reset total"
  },
  {
   "type": "BV",
   "instance": 9,
   "name": "Aux total 1 reset",
   "description": "Write 1 to reset this total",
   "units": "",
   "access": "W",
   "states": "1 = reset total"
  },
  {
   "type": "BV",
   "instance": 10,
   "name": "Aux total 2 reset",
   "description": "Write 1 to reset this total",
   "units": "",
   "access": "W",
   "states": "1 = reset total"
  },
  {
   "type": "BV",
   "instance": 11,
   "name": "Aux total 3 reset",
   "description": "Write 1 to reset this total",
   "units": "",
   "access": "W",
   "states": "1 = reset total"
  },
  {
   "type": "BV",
   "instance": 12,
   "name": "Flow direction",
   "description": "Reverse flow flag",
   "units": "",
   "access": "R",
   "states": "1=Reverse flow"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "Meter Status",
   "description": "Operating status of the meter",
   "units": "",
   "access": "R",
   "states": "1=Normal, 2=Low Supply Temperature, 3=High Supply Temperature, 4=Low Return Temperature, 5=High Return Temperature, 6=Delta T < Minimum, 7=High Energy Rate, 9=Comm error, 10=Low Supply Voltage, 11=System Fault"
  },
  {
   "type": "TL",
   "instance": 1,
   "name": "Log Data",
   "description": "Trend log multiple, 120 records",
   "units": "",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/onicon/system-20-btu-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"
}
