{
 "manufacturer": "Circutor",
 "manufacturer_slug": "circutor",
 "model": "CVM-B50 power analyzer (BACnet IP)",
 "model_slug": "cvm-b50",
 "aliases": [
  "CVM-B50",
  "Circutor CVM-B50"
 ],
 "equipment_type": "Power meter (power analyzer)",
 "applies_to": "Circutor CVM-B50 power analyzers with Ethernet (Modbus TCP and BACnet IP).",
 "summary": "The CVM-B50 is a panel power analyzer with Ethernet that serves BACnet IP. Its PICS lists 50 Analog Inputs: per-phase and three-phase voltage, current, power, power factor, THD, consumed and generated energy, neutral current and maximum demands. Unlike the CVM-C10 family it has demand objects for inductive and capacitive reactive power and no average-current or three-phase current demand object.",
 "bacnet_transport": [
  "BACnet IP"
 ],
 "firmware": "Application software 1.0.3 (PICS dated 20/02/2026)",
 "default_device_instance": 1,
 "access_inferred": true,
 "notes": [
  "The PICS has no read/write column; all objects are Analog Inputs and are read-only.",
  "Object names are kept as printed, including Ph2NU1-3 for the phase-to-neutral voltages.",
  "There are no Analog Value objects for address settings; the device ID and UDP port are set on the meter or its web page."
 ],
 "source": {
  "title": "CVM-B50 Power analyzer Instruction manual (Annex A, PICS map)",
  "doc_number": "M487B01-03-25A",
  "revision_date": null,
  "url": "https://docs.circutor.com/docs/M487B01-03.pdf"
 },
 "integration": {
  "summary": "Set the BACnet device ID and port on the meter screen or web page, then read the power, energy and demand AIs. Nothing needs to be written.",
  "minimum_points": [
   {
    "ref": "AI 15",
    "name": "ActPwOn3Ph",
    "why": "Three-phase active power, kW"
   },
   {
    "ref": "AI 30",
    "name": "ActEnergy",
    "why": "Active energy consumed, kWh"
   },
   {
    "ref": "AI 0",
    "name": "Ph2NU1",
    "why": "Voltage L1-N"
   },
   {
    "ref": "AI 1",
    "name": "Ph1Current",
    "why": "Current L1"
   },
   {
    "ref": "AI 19",
    "name": "PwFactOn3Ph",
    "why": "Three-phase power factor"
   },
   {
    "ref": "AI 48",
    "name": "MaxDemand_kW",
    "why": "Maximum demand, kW"
   }
  ],
  "enable": null,
  "heartbeat": null,
  "remote_sensors": null,
  "setup": [
   "BACnet IP over UDP, default port 47808 (settable 1024-65535).",
   "Default device ID 1 (0-4,194,303), set on the BACnet ID screen or web page."
  ],
  "gotchas": [
   "Voltage objects are named Ph2NU1-3 for all three phases."
  ]
 },
 "points": [
  {
   "type": "AI",
   "instance": 0,
   "name": "Ph2NU1",
   "description": "Voltage L1-N",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 1,
   "name": "Ph1Current",
   "description": "Current L1",
   "units": "A",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 2,
   "name": "ActPwrPh1",
   "description": "Active power L1",
   "units": "kW",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 3,
   "name": "ReactPwrPh1",
   "description": "Reactive power L1",
   "units": "kvar",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 4,
   "name": "PwrFactPh1",
   "description": "Power factor L1",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 5,
   "name": "Ph2NU2",
   "description": "Voltage L2-N",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "Ph2Current",
   "description": "Current L2",
   "units": "A",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 7,
   "name": "ActPwrPh2",
   "description": "Active power L2",
   "units": "kW",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 8,
   "name": "ReactPwrPh2",
   "description": "Reactive power L2",
   "units": "kvar",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 9,
   "name": "PwrFactPh2",
   "description": "Power factor L2",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 10,
   "name": "Ph2NU3",
   "description": "Voltage L3-N",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 11,
   "name": "Ph3Current",
   "description": "Current L3",
   "units": "A",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 12,
   "name": "ActPwrPh3",
   "description": "Active power L3",
   "units": "kW",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 13,
   "name": "ReactPwrPh3",
   "description": "Reactive power L3",
   "units": "kvar",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 14,
   "name": "PwrFactPh3",
   "description": "Power factor L3",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 15,
   "name": "ActPwOn3Ph",
   "description": "Three-phase active power",
   "units": "kW",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 16,
   "name": "InductPwOn3Ph",
   "description": "Three-phase inductive reactive power",
   "units": "kvarL",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 17,
   "name": "CapPwOn3Ph",
   "description": "Three-phase capacitive reactive power",
   "units": "kvarC",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 18,
   "name": "Cosphi",
   "description": "Three-phase cos phi",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 19,
   "name": "PwFactOn3Ph",
   "description": "Three-phase power factor",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 20,
   "name": "Frequency",
   "description": "Frequency",
   "units": "Hz",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 21,
   "name": "Ph2PhU12",
   "description": "Voltage L1-L2",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 22,
   "name": "Ph2PhU23",
   "description": "Voltage L2-L3",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 23,
   "name": "Ph2PhU31",
   "description": "Voltage L3-L1",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 24,
   "name": "THDVal_U1",
   "description": "Voltage THD L1",
   "units": "%THD",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 25,
   "name": "THDVal_U2",
   "description": "Voltage THD L2",
   "units": "%THD",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 26,
   "name": "THDVal_U3",
   "description": "Voltage THD L3",
   "units": "%THD",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 27,
   "name": "THDVal_I1",
   "description": "Current THD L1",
   "units": "%THD",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 28,
   "name": "THDVal_I2",
   "description": "Current THD L2",
   "units": "%THD",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 29,
   "name": "THDVal_I3",
   "description": "Current THD L3",
   "units": "%THD",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 30,
   "name": "ActEnergy",
   "description": "Three-phase active energy, consumed",
   "units": "kWh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 31,
   "name": "InductEnergy",
   "description": "Three-phase inductive reactive energy, consumed",
   "units": "kvarLh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 32,
   "name": "CapEnergy",
   "description": "Three-phase capacitive reactive energy, consumed",
   "units": "kvarCh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 33,
   "name": "AppEnergy",
   "description": "Three-phase apparent energy, consumed",
   "units": "kVAh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 34,
   "name": "ActEnergy_exp",
   "description": "Three-phase active energy, generated",
   "units": "kWh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 35,
   "name": "IndEnergy_exp",
   "description": "Three-phase inductive reactive energy, generated",
   "units": "kvarLh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 36,
   "name": "CapEnergy_exp",
   "description": "Three-phase capacitive reactive energy, generated",
   "units": "kvarCh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 37,
   "name": "AppEnergy_exp",
   "description": "Three-phase apparent energy, generated",
   "units": "kVAh",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 38,
   "name": "NeutralCurrent",
   "description": "Neutral current",
   "units": "A",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 39,
   "name": "AppPwrPh1",
   "description": "Apparent power L1",
   "units": "kVA",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 40,
   "name": "AppPwrPh2",
   "description": "Apparent power L2",
   "units": "kVA",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 41,
   "name": "AppPwrPh3",
   "description": "Apparent power L3",
   "units": "kVA",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 42,
   "name": "AppPw3Ph",
   "description": "Three-phase apparent power",
   "units": "kVA",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 43,
   "name": "MaxDemand_A1",
   "description": "Maximum demand, current L1",
   "units": "A",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 44,
   "name": "MaxDemand_A2",
   "description": "Maximum demand, current L2",
   "units": "A",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 45,
   "name": "MaxDemand_A3",
   "description": "Maximum demand, current L3",
   "units": "A",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 46,
   "name": "MaxDemand_kvarL",
   "description": "Maximum demand, inductive reactive power",
   "units": "kvarL",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 47,
   "name": "MaxDemand_kvarC",
   "description": "Maximum demand, capacitive reactive power",
   "units": "kvarC",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 48,
   "name": "MaxDemand_kW",
   "description": "Maximum demand, active power",
   "units": "kW",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 49,
   "name": "MaxDemand_kVA",
   "description": "Maximum demand, apparent power",
   "units": "kVA",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/circutor/cvm-b50",
 "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"
}
