{
 "manufacturer": "Badger Meter",
 "manufacturer_slug": "badger-meter",
 "model": "ModMAG M2000 electromagnetic flow meter (BACnet MS/TP and BACnet/IP)",
 "model_slug": "modmag-m2000",
 "aliases": [
  "M2000",
  "ModMAG M2000",
  "M2000 BACnet",
  "M2000 mag meter BACnet",
  "MAG-UM-03547",
  "MAG-UM-03548",
  "Badger mag meter BACnet"
 ],
 "equipment_type": "Electromagnetic flow meter (BACnet daughterboard)",
 "applies_to": "Badger Meter ModMAG M2000 electromagnetic flow meters with the BACnet MS/TP or BACnet/IP communication daughterboard.",
 "summary": "The M2000 talks BACnet through a plug-in daughterboard (BACnet MS/TP or BACnet/IP) that maps the meter's Modbus parameters to BACnet objects. Almost everything is an Analog Value: flow rate and velocity, forward/reverse/net totals in m³ and user units, batch total, plus the full meter setup (detector, units, scaling, outputs, filters, empty-pipe detection) and port diagnostics. Text items such as firmware names and display strings are CharacterString Values. Both manuals use the same instance numbers; the network-settings objects differ by card.",
 "bacnet_transport": [
  "BACnet MS/TP",
  "BACnet IP"
 ],
 "firmware": "M-Series v1.22 application, daughterboard v1.02 (PICS)",
 "default_device_instance": 10001,
 "access_inferred": false,
 "notes": [
  "AV 149-152, 159, 160 and 166-169 (IP address, DHCP, UDP port, Ethernet MAC, web server, foreign-device settings) exist only on the BACnet/IP card. AV 155-157 and 164 are MS/TP settings; the BACnet/IP manual's communication-settings table marks 155-157 and 164 as reserved.",
  "The manuals list the remaining instances in the communication-settings block as RESERVED; they are left out here.",
  "Parameter indexes 120-136 have no BACnet object in either manual (AV 98-114 are not used).",
  "Writable setup values (detector factors, units, outputs, filters) change the meter's calibration and configuration; leave them alone unless commissioning.",
  "Enumerations for units, outputs and other settings are taken from the BACnet/IP manual's enumeration table.",
  "Sources: MAG-UM-03547-EN-01 (MS/TP, April 2022) and MAG-UM-03548-EN-01 (BACnet/IP, July 2022)."
 ],
 "source": {
  "title": "Electromagnetic Flow Meters, M2000 BACnet MS/TP Communication Protocol, User Manual",
  "doc_number": "MAG-UM-03547-EN-01",
  "revision_date": "2022-04",
  "url": "https://badgermeter.widen.net/content/wmrokmil4z/original?download=false&x.app=api"
 },
 "integration": {
  "summary": "Set up the daughterboard from Main Menu > Communications > Daughterbrd Config (MS/TP baud, MAC, max master and instance, or IP/DHCP/port and instance), then cycle power. Read the flow rate and the forward, reverse and net totals in user units, and the flow direction. Leave the writable setup objects alone outside commissioning.",
  "minimum_points": [
   {
    "ref": "AV 93",
    "name": "FlowRate_User",
    "why": "Flow rate in the configured units"
   },
   {
    "ref": "AV 91",
    "name": "FlowVelocity_Usr",
    "why": "Flow velocity in user units"
   },
   {
    "ref": "AV 87",
    "name": "T3_TNet_User",
    "why": "Net total, user units"
   },
   {
    "ref": "AV 83",
    "name": "T1_Tplus_User",
    "why": "Forward total, user units"
   },
   {
    "ref": "AV 85",
    "name": "T2_Tminus_User",
    "why": "Reverse total, user units"
   },
   {
    "ref": "AV 97",
    "name": "FlowDirection",
    "why": "Present flow direction"
   },
   {
    "ref": "AV 94",
    "name": "RelFlowRatePerc",
    "why": "Flow as % of full scale"
   },
   {
    "ref": "AV 125",
    "name": "EmptyPipeActRes",
    "why": "Empty pipe detection reading"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "MS/TP card defaults: 9600 baud, MAC 1, max master 127, instance 10001. Change them at Main Menu > Communications > Daughterbrd Config and cycle power.",
   "BACnet/IP card defaults: DHCP on, static IP 192.168.0.1 / 255.255.0.0, gateway 10.0.1.1, UDP port 47808, instance 10001, web server on.",
   "Before fitting a card in the field, set Port B to address 1, extended address 126, 9600 baud, 8 bits, even parity, 1 stop bit; needs meter firmware v1.22 or later.",
   "BACnet/IP foreign-device registration is set on the web page; a zero BBMD address, port or TTL turns it off. Changes need a power cycle."
  ],
  "gotchas": [
   "Configuration changes only take effect after a power cycle.",
   "The MS/TP card is a B-SA device on MS/TP master; it supports ReadProperty, ReadPropertyMultiple and WriteProperty, no COV.",
   "Many objects are calibration or setup values; writing them changes how the meter measures.",
   "Totals in m³ (AV 82, 84, 86) are independent of the display units; the _User versions follow the configured volume units."
  ]
 },
 "points": [
  {
   "type": "AV",
   "instance": 0,
   "name": "DetDiamEnum",
   "description": "Detector (pipe) size code",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 1,
   "name": "DetDiamActual",
   "description": "Detector diameter",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "DetectorFactor",
   "description": "Detector calibration factor",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 3,
   "name": "FACT_DetFactor",
   "description": "Factory detector factor",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 4,
   "name": "DetectorOffset",
   "description": "Detector offset",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 5,
   "name": "FACT_DetOffset",
   "description": "Factory detector offset",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 6,
   "name": "AmplifierFactor",
   "description": "Amplifier factor",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 7,
   "name": "FACT_AmpFactor",
   "description": "Factory amplifier factor",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 8,
   "name": "DetectorCurrent",
   "description": "Detector coil current",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 9,
   "name": "FACT_DetCurrent",
   "description": "Factory detector current",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "PowerLineFreq",
   "description": "Power line frequency",
   "units": "",
   "access": "W",
   "states": "0=50 Hz, 1=60 Hz"
  },
  {
   "type": "AV",
   "instance": 11,
   "name": "ExcitationFreq",
   "description": "Coil excitation frequency",
   "units": "",
   "access": "W",
   "states": "0=1 Hz, 1=3.125/3.75 Hz, 2=6.25/7.5 Hz, 3=12.5/15 Hz"
  },
  {
   "type": "AV",
   "instance": 12,
   "name": "ScaleFactor",
   "description": "Scale factor",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 13,
   "name": "VelocityUnits",
   "description": "Velocity units",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 14,
   "name": "FlowUnits",
   "description": "Flow rate units",
   "units": "",
   "access": "W",
   "states": "0=LPS, 1=LPM, 2=LPH, 3=M3S, 4=M3M, 5=M3H, 6=F3S, 7=F3M, 8=F3H, 9=GPS, 10=GPM, 11=GPH, 12=MGD, 13=IPS, 14=IPM, 15=IPH, 16=LBM, 17=OZM, 18=BPM"
  },
  {
   "type": "AV",
   "instance": 15,
   "name": "VolumeUnits",
   "description": "Totalizer volume units",
   "units": "",
   "access": "W",
   "states": "0=liters, 1=hectoliters, 2=m³, 3=ft³, 4=US gal, 5=Mgal, 6=UK gal, 7=lb, 8=oz, 9=acre-ft, 10=barrels, 11=Mega UK gal, 12=second foot-day, 13=kgal"
  },
  {
   "type": "AV",
   "instance": 16,
   "name": "UnitMultiplier",
   "description": "Unit multiplier",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "ZeroScaleFlow",
   "description": "Flow at zero scale",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 18,
   "name": "FullScalVelocity",
   "description": "Full-scale velocity",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "FullScaleFlow",
   "description": "Full-scale flow",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "LowFlowCutoff",
   "description": "Low flow cutoff",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 21,
   "name": "FlowDirection",
   "description": "Flow direction setting (uni/bi-directional)",
   "units": "",
   "access": "W",
   "states": "0=Uni-directional, 1=Bi-directional"
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "DampingFactor",
   "description": "Damping time",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 23,
   "name": "DigInOperation",
   "description": "Digital input function",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=Remote reset, 2=Positive zero return, 3=Batch reset"
  },
  {
   "type": "AV",
   "instance": 24,
   "name": "DigInStatus",
   "description": "Digital input state",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 25,
   "name": "AnalogOutRange",
   "description": "Analog output range",
   "units": "",
   "access": "W",
   "states": "1=4-20 mA, 2=0-20 mA, 3=0-10 mA, 4=2-10 mA"
  },
  {
   "type": "AV",
   "instance": 26,
   "name": "AnalogOutOffset",
   "description": "Analog output offset",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 27,
   "name": "AnalogOutCalPtA",
   "description": "Analog output calibration point A",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 28,
   "name": "AnalogOutCalPtB",
   "description": "Analog output calibration point B",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 29,
   "name": "FACT_AOutCalPtA",
   "description": "Factory analog output point A",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 30,
   "name": "FACT_AOutCalPtB",
   "description": "Factory analog output point B",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 31,
   "name": "AnalogOutSlope",
   "description": "Analog output slope",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 32,
   "name": "AnalogOffset4MA",
   "description": "4 mA trim offset",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 33,
   "name": "AnalogOffset20MA",
   "description": "20 mA trim offset",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 34,
   "name": "AnalogOutCurrent",
   "description": "Present analog output current",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 35,
   "name": "AlarmMode",
   "description": "Analog output behaviour on meter error",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 36,
   "name": "FixedCurrentMode",
   "description": "Fixed current mode value",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 37,
   "name": "Out1_PPUnit_m3",
   "description": "Output 1 pulses per m³",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 38,
   "name": "Out1_PPUnit_user",
   "description": "Output 1 pulses per user unit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 39,
   "name": "Out1_PulseWidth",
   "description": "Output 1 pulse width",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "Out1_FS_Freq",
   "description": "Output 1 full-scale frequency",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 41,
   "name": "Out1_AlarmMin",
   "description": "Output 1 alarm low limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 42,
   "name": "Out1_AlarmMax",
   "description": "Output 1 alarm high limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 43,
   "name": "Out1_Mode",
   "description": "Output 1 contact mode",
   "units": "",
   "access": "W",
   "states": "0=Normally open, 1=Normally closed"
  },
  {
   "type": "AV",
   "instance": 44,
   "name": "Out1_Operation",
   "description": "Output 1 function",
   "units": "",
   "access": "W",
   "states": "0=Off, 1=Flow alarm, 2=Empty pipe alarm, 3=Error alarm, 4=Forward pulse, 5=AMR pulse, 6=Reverse pulse, 7=Frequency, 8=Preset batch, 9=Flow direction, 10=Verification test, 11=24 V DC supply, 12=ADE, 13=Totalizer alarm"
  },
  {
   "type": "AV",
   "instance": 45,
   "name": "Out2_PPUnit_m3",
   "description": "Output 2 pulses per m³",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 46,
   "name": "Out2_PPUnit_user",
   "description": "Output 2 pulses per user unit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 47,
   "name": "Out2_PulseWidth",
   "description": "Output 2 pulse width",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 48,
   "name": "Out2_FS_Freq",
   "description": "Output 2 full-scale frequency",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 49,
   "name": "Out2_AlarmMin",
   "description": "Output 2 alarm low limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 50,
   "name": "Out2_AlarmMax",
   "description": "Output 2 alarm high limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 51,
   "name": "Out2_Mode",
   "description": "Output 2 contact mode",
   "units": "",
   "access": "W",
   "states": "0=Normally open, 1=Normally closed"
  },
  {
   "type": "AV",
   "instance": 52,
   "name": "Out2_Operation",
   "description": "Output 2 function",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 53,
   "name": "Out3_FS_Freq",
   "description": "Output 3 full-scale frequency",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 54,
   "name": "Out3_AlarmMin",
   "description": "Output 3 alarm low limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 55,
   "name": "Out3_AlarmMax",
   "description": "Output 3 alarm high limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 56,
   "name": "Out3_Mode",
   "description": "Output 3 contact mode",
   "units": "",
   "access": "W",
   "states": "0=Normally open, 1=Normally closed"
  },
  {
   "type": "AV",
   "instance": 57,
   "name": "Out3_HW_Select",
   "description": "Output 3 hardware type",
   "units": "",
   "access": "W",
   "states": "0=Relay, 1=Open collector"
  },
  {
   "type": "AV",
   "instance": 58,
   "name": "Out3_Operation",
   "description": "Output 3 function",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 59,
   "name": "Out4_AlarmMin",
   "description": "Output 4 alarm low limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 60,
   "name": "Out4_AlarmMax",
   "description": "Output 4 alarm high limit",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 61,
   "name": "Out4_Mode",
   "description": "Output 4 contact mode",
   "units": "",
   "access": "W",
   "states": "0=Normally open, 1=Normally closed"
  },
  {
   "type": "AV",
   "instance": 62,
   "name": "Out4_HW_Select",
   "description": "Output 4 hardware type",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 63,
   "name": "Out4_Operation",
   "description": "Output 4 function",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 64,
   "name": "A_PacketsProc",
   "description": "Port A diagnostic counter: PacketsProc",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 65,
   "name": "A_BcastPackets",
   "description": "Port A diagnostic counter: BcastPackets",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 66,
   "name": "A_CRCErrs",
   "description": "Port A diagnostic counter: CRCErrs",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 67,
   "name": "A_PacketsRcvd",
   "description": "Port A diagnostic counter: PacketsRcvd",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 68,
   "name": "A_PacketsSent",
   "description": "Port A diagnostic counter: PacketsSent",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 69,
   "name": "A_ParityErrs",
   "description": "Port A diagnostic counter: ParityErrs",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 70,
   "name": "A_FramingErrs",
   "description": "Port A diagnostic counter: FramingErrs",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 71,
   "name": "A_OverrunErrs",
   "description": "Port A diagnostic counter: OverrunErrs",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 72,
   "name": "A_BreakDets",
   "description": "Port A diagnostic counter: BreakDets",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 73,
   "name": "B_PacketsProc",
   "description": "Port B diagnostic counter: PacketsProc",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 74,
   "name": "B_BcastPackets",
   "description": "Port B diagnostic counter: BcastPackets",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 75,
   "name": "B_CRCErrs",
   "description": "Port B diagnostic counter: CRCErrs",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 76,
   "name": "B_PacketsRcvd",
   "description": "Port B diagnostic counter: PacketsRcvd",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 77,
   "name": "B_PacketsSent",
   "description": "Port B diagnostic counter: PacketsSent",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 78,
   "name": "B_ParityErrs",
   "description": "Port B diagnostic counter: ParityErrs",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 79,
   "name": "B_FramingErrs",
   "description": "Port B diagnostic counter: FramingErrs",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 80,
   "name": "B_OverrunErrs",
   "description": "Port B diagnostic counter: OverrunErrs",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 81,
   "name": "B_BreakDets",
   "description": "Port B diagnostic counter: BreakDets",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 82,
   "name": "T1_Tplus_m3",
   "description": "Forward total, m³",
   "units": "m³",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 83,
   "name": "T1_Tplus_User",
   "description": "Forward total, user units",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 84,
   "name": "T2_Tminus_m3",
   "description": "Reverse total, m³",
   "units": "m³",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 85,
   "name": "T2_Tminus_User",
   "description": "Reverse total, user units",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 86,
   "name": "T3_TNet_m3",
   "description": "Net total, m³",
   "units": "m³",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 87,
   "name": "T3_TNet_User",
   "description": "Net total, user units",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 88,
   "name": "T1_TplusRollCtr",
   "description": "Forward total rollover count",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 89,
   "name": "T2_TminusRollCtr",
   "description": "Reverse total rollover count",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 90,
   "name": "FlowVelocity_MS",
   "description": "Flow velocity, m/s",
   "units": "m/s",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 91,
   "name": "FlowVelocity_Usr",
   "description": "Flow velocity, user units",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 92,
   "name": "FlowRate_m3",
   "description": "Flow rate, m³ basis",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 93,
   "name": "FlowRate_User",
   "description": "Flow rate, user units",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 94,
   "name": "RelFlowRatePerc",
   "description": "Flow as percent of full scale",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 95,
   "name": "PresBatchTot_m3",
   "description": "Batch total, m³",
   "units": "m³",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 96,
   "name": "PresBatchTot_Usr",
   "description": "Batch total, user units",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 97,
   "name": "FlowDirection",
   "description": "Present flow direction",
   "units": "",
   "access": "R",
   "states": "0=No Flow, 1=Forward Flow, 2=Reverse Flow"
  },
  {
   "type": "AV",
   "instance": 115,
   "name": "PowerLossTot_s",
   "description": "Total time without power",
   "units": "s",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 116,
   "name": "DispBklightMode",
   "description": "Display backlight mode",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 117,
   "name": "PreBatchAmt",
   "description": "Preset batch amount",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 118,
   "name": "MenuResetAllowed",
   "description": "Allow totalizer reset from the menu",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 119,
   "name": "MenuLangSetting",
   "description": "Display language",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 120,
   "name": "FileSysNumRecsRd",
   "description": "Data log records read",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 121,
   "name": "ConfigStatus",
   "description": "Configuration status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 122,
   "name": "PortBExtAddr",
   "description": "Port B extended address",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 123,
   "name": "AnalogInMeasVal",
   "description": "Verification tool analog measurement",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 124,
   "name": "AnalogInMeasCtr",
   "description": "Verification tool measurement counter",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 125,
   "name": "EmptyPipeActRes",
   "description": "Empty pipe detection reading",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 126,
   "name": "EmptyPipeCal_V",
   "description": "Empty pipe calibration value",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 127,
   "name": "EmptyPipeMeasVal",
   "description": "Empty pipe measured value",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 128,
   "name": "FullPipeCal_V",
   "description": "Full pipe calibration value",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 129,
   "name": "EmptyPipeMode",
   "description": "Empty pipe detection mode",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 130,
   "name": "CmdActionReq",
   "description": "Command request register",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 131,
   "name": "FlowSimulation",
   "description": "Flow simulation value",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 132,
   "name": "SecurityStatus",
   "description": "Security status",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 133,
   "name": "RandomVal",
   "description": "Random value for remote login",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 134,
   "name": "RemoteLogin",
   "description": "Remote login code (write only)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 135,
   "name": "SoftwreMedianFlt",
   "description": "Software median filter",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 136,
   "name": "IIRCoefActualVal",
   "description": "IIR filter coefficient, actual",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 137,
   "name": "IIRActualState",
   "description": "IIR filter state",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 138,
   "name": "IIRCoefMin",
   "description": "IIR filter coefficient, minimum",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 139,
   "name": "IIRCoefMax",
   "description": "IIR filter coefficient, maximum",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 140,
   "name": "IIRHysteresis",
   "description": "IIR filter hysteresis",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 141,
   "name": "IIRSensitivity",
   "description": "IIR filter sensitivity",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 142,
   "name": "ZFlowStabSize",
   "description": "Zero flow stabilization size",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 143,
   "name": "ZFlowStabExp",
   "description": "Zero flow stabilization exponent",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 144,
   "name": "ZFlowStabAcc",
   "description": "Zero flow stabilization accumulator",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 145,
   "name": "ZFlowStabTimer",
   "description": "Zero flow stabilization timer",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 146,
   "name": "ComBoardProdType",
   "description": "Installed communication daughterboard type",
   "units": "",
   "access": "R",
   "states": "4=BACnet MS/TP, 5=BACnet/IP, 6=Modbus TCP, 7=EtherNet/IP"
  },
  {
   "type": "AV",
   "instance": 147,
   "name": "ComBoardMajorVer",
   "description": "Daughterboard major version",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 148,
   "name": "ComBoardMinorVer",
   "description": "Daughterboard minor version",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 149,
   "name": "DHCPUsed",
   "description": "DHCP on/off (BACnet/IP card)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 150,
   "name": "IPAddress",
   "description": "IP address (BACnet/IP card)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 151,
   "name": "SubnetMask",
   "description": "Subnet mask (BACnet/IP card)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 152,
   "name": "GatewayIPAddr",
   "description": "Gateway address (BACnet/IP card)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 155,
   "name": "BacnetMSTPBaud",
   "description": "MS/TP baud rate",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 156,
   "name": "BacnetMSTPMacId",
   "description": "MS/TP MAC address",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 157,
   "name": "BacnetMaxMaster",
   "description": "MS/TP max master",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 158,
   "name": "BacnetInstance",
   "description": "BACnet device instance",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 159,
   "name": "BacnetUDPPort",
   "description": "BACnet UDP port (BACnet/IP card)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 160,
   "name": "EthernetMACAddr",
   "description": "Ethernet MAC address (BACnet/IP card)",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 161,
   "name": "ProductCode",
   "description": "Product code",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 164,
   "name": "BacnetMaxInfoFrm",
   "description": "MS/TP max info frames",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 166,
   "name": "WebserverAccess",
   "description": "Web server on/off (BACnet/IP card)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 167,
   "name": "BacnetFDIPAddr",
   "description": "Foreign device BBMD address (BACnet/IP card)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 168,
   "name": "BacnetFDPort",
   "description": "Foreign device BBMD port (BACnet/IP card)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 169,
   "name": "BacnetFDTime",
   "description": "Foreign device time-to-live (BACnet/IP card)",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 0,
   "name": "ProductName",
   "description": "Product name",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 1,
   "name": "FirmwareName",
   "description": "Firmware name",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 2,
   "name": "ApplicationVer",
   "description": "Application version",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 3,
   "name": "CompileDate",
   "description": "Firmware compile date",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 4,
   "name": "CompileTime",
   "description": "Firmware compile time",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 5,
   "name": "PCBSerialNum",
   "description": "Circuit board serial number",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 6,
   "name": "OTPBootChecksum",
   "description": "Boot loader checksum",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 7,
   "name": "FlashOSChecksum",
   "description": "Firmware checksum",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 8,
   "name": "BootVer",
   "description": "Boot loader version",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 9,
   "name": "OsVer",
   "description": "Operating system version",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 10,
   "name": "PwrOnSplashLn1",
   "description": "Power-on display text, line 1",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 11,
   "name": "PwrOnSplashLn2",
   "description": "Power-on display text, line 2",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 12,
   "name": "MeterTagName",
   "description": "Meter tag name",
   "units": "",
   "access": "W",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 13,
   "name": "AOutCurrentStr",
   "description": "Analog output current as text",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 14,
   "name": "T1_TplusDispStr",
   "description": "Forward total as display text",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 15,
   "name": "T2_TminusDispStr",
   "description": "Reverse total as display text",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "CSV",
   "instance": 16,
   "name": "T3_TNetDispStr",
   "description": "Net total as display text",
   "units": "",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/badger-meter/modmag-m2000",
 "note": "Re-typed from the manufacturer's public documentation (see source). Point availability varies by firmware and options; verify against the live device."
}
