{
 "manufacturer": "Belimo",
 "manufacturer_slug": "belimo",
 "model": "Energy Valve V4",
 "model_slug": "energy-valve-v4",
 "aliases": [
  "Energy Valve",
  "EV..R2+BAC",
  "EV..R2+KBAC",
  "EV..R2+MID",
  "EV..R3+BAC",
  "Belimo Energy Valve 4"
 ],
 "equipment_type": "Pressure-independent control valve with energy meter",
 "applies_to": "Belimo Energy Valve version 4, DN 15 to 50, BACnet models EV..R2+(K)BAC, EV..R2+MID and EV..R3+BAC.",
 "summary": "The Energy Valve V4 is a pressure-independent characterized control valve with an ultrasonic flow sensor and two temperature sensors, so it reports flow, delta T, power and heating/cooling energy. It speaks BACnet MS/TP and BACnet IP (including foreign-device registration). The setpoint on AO 1 means position, flow, power or differential pressure depending on the control mode in MV 100, and the engineering units of most analog objects follow selectable unit objects.",
 "bacnet_transport": [
  "BACnet IP",
  "BACnet MS/TP"
 ],
 "firmware": "Application 04.01.0000, firmware 14.10.0002 (interface description V4.2.0)",
 "default_device_instance": 1,
 "access_inferred": false,
 "notes": [
  "Version 1-3 Energy Valves use a different object list; this file covers V4 only.",
  "Units of flow, power, energy, volume, temperature and pressure objects follow the unit-select MVs 123-131 and can change.",
  "MV 200 selects the certified (MID models only) or lifetime meter register for the energy and volume objects.",
  "Sensor 1 objects (AI 20/21, AV 20, BI 20) are out of service unless MV 220/221 select the matching sensor type.",
  "Differential pressure objects are used with the differential pressure control mode.",
  "AV 55 and AV 135 are both printed as AbsDiffPressure in the document; check the names read from the device."
 ],
 "integration": {
  "summary": "Set MV 122 SpSource to Bus, choose the control mode in MV 100 and the flow and power limits, then command AO 1 SpRel from the BMS. Read flow, temperatures, delta T, power and energy for monitoring, and watch MV 99 SummaryStatus and AV 140 ErrorState for faults. If you enable a bus fail action, the BMS must keep rewriting the setpoint inside the watchdog time.",
  "minimum_points": [
   {
    "ref": "AO 1",
    "name": "SpRel",
    "why": "Setpoint: position, flow, power or dp per control mode"
   },
   {
    "ref": "MV 122",
    "name": "SpSource",
    "why": "Must be Bus for AO 1 to take effect"
   },
   {
    "ref": "AV 19",
    "name": "AbsFlow_UnitSel",
    "why": "Measured flow"
   },
   {
    "ref": "AV 22",
    "name": "DeltaT_UnitSel",
    "why": "Coil delta T"
   },
   {
    "ref": "AV 46",
    "name": "HeatingPower_UnitSel",
    "why": "Heating power delivered; units set by MV 124"
   },
   {
    "ref": "AV 45",
    "name": "CoolingPower_UnitSel",
    "why": "Cooling power delivered; units set by MV 124"
   },
   {
    "ref": "AV 47",
    "name": "CoolingEnergy_UnitSel",
    "why": "Cooling energy meter"
   },
   {
    "ref": "AV 48",
    "name": "HeatingEnergy_UnitSel",
    "why": "Heating energy meter"
   },
   {
    "ref": "MV 99",
    "name": "SummaryStatus",
    "why": "Overall OK / warning / not OK"
   },
   {
    "ref": "AV 140",
    "name": "ErrorState",
    "why": "Bit-coded fault and warning flags"
   }
  ],
  "enable": "Write MV 122 SpSource = 2 (Bus) so the valve follows AO 1 SpRel instead of the 0-10 V signal on wire 3. MV 1 Override can force open, close, min, max, nominal or motor stop.",
  "heartbeat": "AV 130 BusWatchdog sets a timeout of 5-3600 s (default 120 s). If no write arrives within that time, the valve runs the action in MV 130 BusFailAction (default None; options Open, Close, Max, Min, Stop) and sets the bus watchdog bit in AV 140. With a fail action set, the BMS must keep rewriting the setpoint.",
  "remote_sensors": null,
  "setup": [
   "Default device instance 1; on MS/TP the device ID is this value plus the MAC address.",
   "MS/TP: baud 9600-115200, default 38400; MAC address 0-127, default 1; max 32 nodes per segment without repeater.",
   "BACnet IP: UDP port configurable, default 47808; foreign-device registration supported.",
   "Configure with Belimo Assistant 2 or the valve's built-in web server.",
   "Bus termination (120 Ω) is set with Belimo Assistant 2; BV 99 shows its state."
  ],
  "gotchas": [
   "Writable objects with instance 90 and above are stored persistently; do not write them on a regular schedule.",
   "Changing MV 100 ControlMode resets the valve.",
   "Engineering units change when the unit-select MVs are written; recheck BMS scaling after any change.",
   "Vmax below 25% of nominal flow is raised to 25%.",
   "Avoid switching MV 200 between certified and lifetime registers, it breaks energy trending.",
   "Max 6 active COV subscriptions."
  ]
 },
 "source": {
  "title": "BACnet Interface Description, Energy Valve DN 15...50 (Version 4)",
  "doc_number": null,
  "revision_date": "2024-09 / V4.2.0",
  "url": "https://www.belimo.com/mam/general-documents/system_integration/BACnet/belimo_BACnet_Interface-description_Energy-Valve_V4_2_en-gb.pdf"
 },
 "points": [
  {
   "type": "AI",
   "instance": 1,
   "name": "RelPos",
   "description": "Relative valve position",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 6,
   "name": "SpAnalog",
   "description": "Analog setpoint when setpoint source is analog",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 20,
   "name": "Sens1Active_Volt",
   "description": "Sensor 1 input as voltage (active sensor)",
   "units": "V",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 21,
   "name": "Sens1Passive_Ohm",
   "description": "Sensor 1 input as resistance (passive sensor)",
   "units": "Ω",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 22,
   "name": "T1_UnitSel",
   "description": "Remote temperature T1",
   "units": "°C, K or °F (MV 127)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AI",
   "instance": 23,
   "name": "T2_UnitSel",
   "description": "Flow body temperature T2",
   "units": "°C, K or °F (MV 127)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AO",
   "instance": 1,
   "name": "SpRel",
   "description": "Relative setpoint: position, flow or power",
   "units": "%",
   "access": "C",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 2,
   "name": "AbsPos",
   "description": "Absolute valve position",
   "units": "°",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 10,
   "name": "RelFlow",
   "description": "Flow relative to maximum flow limit",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 17,
   "name": "SpAbsFlow_UnitSel",
   "description": "Active absolute flow setpoint",
   "units": "m³/s, m³/h, l/s, l/min, l/h, gpm or cfm (MV 123)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 19,
   "name": "AbsFlow_UnitSel",
   "description": "Measured absolute flow",
   "units": "m³/s, m³/h, l/s, l/min, l/h, gpm or cfm (MV 123)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 20,
   "name": "Sens1Temp_UnitSel",
   "description": "Sensor 1 as temperature (passive sensor)",
   "units": "°C, K or °F (MV 127)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 22,
   "name": "DeltaT_UnitSel",
   "description": "Delta T between T1 and T2",
   "units": "°C, K or °F (MV 128)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 40,
   "name": "RelPower",
   "description": "Power relative to maximum power limit",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 45,
   "name": "CoolingPower_UnitSel",
   "description": "Cooling power",
   "units": "W, kW, MW, BTU/h, kBTU/h or ton (MV 124)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 46,
   "name": "HeatingPower_UnitSel",
   "description": "Heating power",
   "units": "W, kW, MW, BTU/h, kBTU/h or ton (MV 124)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 47,
   "name": "CoolingEnergy_UnitSel",
   "description": "Cooling energy meter",
   "units": "J, kJ, MJ, GJ, Wh, kWh, MWh, BTU, kBTU or ton-h (MV 125)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 48,
   "name": "HeatingEnergy_UnitSel",
   "description": "Heating energy meter",
   "units": "J, kJ, MJ, GJ, Wh, kWh, MWh, BTU, kBTU or ton-h (MV 125)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 52,
   "name": "Volume_UnitSel",
   "description": "Accumulated volume",
   "units": "m³, l, gal or cf (MV 126)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 55,
   "name": "AbsDiffPressure",
   "description": "Measured differential water pressure",
   "units": "Pa, bar, psi, mbar or kPa (MV 131)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 56,
   "name": "RelDiffPressure",
   "description": "Differential pressure relative to max dp setpoint",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 60,
   "name": "GlycolConcentration",
   "description": "Glycol concentration, measured or override value",
   "units": "%",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 90,
   "name": "Vmin",
   "description": "Minimum flow limit",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 93,
   "name": "Vmin_UnitSel",
   "description": "Minimum flow limit",
   "units": "m³/s, m³/h, l/s, l/min, l/h, gpm or cfm (MV 123)",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 94,
   "name": "Vmax",
   "description": "Maximum flow limit (25-100% of nominal)",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 97,
   "name": "Vmax_UnitSel",
   "description": "Maximum flow limit",
   "units": "m³/s, m³/h, l/s, l/min, l/h, gpm or cfm (MV 123)",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 100,
   "name": "Vnom_UnitSel",
   "description": "Nominal flow of the valve",
   "units": "m³/s, m³/h, l/s, l/min, l/h, gpm or cfm (MV 123)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 110,
   "name": "Pmax",
   "description": "Maximum power limit",
   "units": "%",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 113,
   "name": "Pmax_UnitSel",
   "description": "Maximum power limit",
   "units": "W, kW, MW, BTU/h, kBTU/h or ton (MV 124)",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 116,
   "name": "Pnom_UnitSel",
   "description": "Nominal power",
   "units": "W, kW, MW, BTU/h, kBTU/h or ton (MV 124)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 120,
   "name": "SpDeltaT_UnitSel",
   "description": "Delta T setpoint for dT-Manager",
   "units": "°C, K or °F (MV 128)",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 127,
   "name": "SpAbsFlowDeltaT_UnitSel",
   "description": "Flow setpoint at delta T",
   "units": "m³/s, m³/h, l/s, l/min, l/h, gpm or cfm (MV 123)",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 130,
   "name": "BusWatchdog",
   "description": "Bus watchdog timeout (5-3600, default 120)",
   "units": "s",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 135,
   "name": "AbsDiffPressure",
   "description": "Differential water pressure setpoint",
   "units": "Pa, bar, psi, mbar or kPa (MV 131)",
   "access": "W",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 136,
   "name": "NomDiffPressure",
   "description": "Nominal differential pressure setpoint",
   "units": "Pa, bar, psi, mbar or kPa (MV 131)",
   "access": "R",
   "states": ""
  },
  {
   "type": "AV",
   "instance": 140,
   "name": "ErrorState",
   "description": "Bit-coded error and warning flags",
   "units": "",
   "access": "R",
   "states": "Bit 0=No communication to actuator, 1=Gear train disengaged, 2=Actuator cannot move, 3=Reverse flow, 4=Flow setpoint not reached, 5=Flow with closed valve, 6=Flow actual exceeds flow nominal, 7=Flow measurement error, 8=Remote temperature error, 9=Flowbody temperature error, 10=Communication to sensor interrupted, 11=Freeze warning, 12=Glycol detected, 13=Power setpoint not reached, 14=Device end of life reached, 15=Bus watchdog triggered, 16=No differential pressure detected, 17=Differential pressure setpoint can not be reached, 18=Minimum position applied"
  },
  {
   "type": "BI",
   "instance": 20,
   "name": "Sens1Switch",
   "description": "Sensor 1 as switch input",
   "units": "",
   "access": "R",
   "states": "0=Inactive, 1=Active"
  },
  {
   "type": "BV",
   "instance": 99,
   "name": "BusTermination",
   "description": "120 Ω bus termination enabled",
   "units": "",
   "access": "R",
   "states": "0=Disabled, 1=Enabled"
  },
  {
   "type": "MV",
   "instance": 1,
   "name": "Override",
   "description": "Override control of the setpoint",
   "units": "",
   "access": "C",
   "states": "1=None, 2=Open Valve, 3=Close Valve, 4=Minimum, 5=–, 6=Maximum, 7=Nominal, 8=–, 9=–, 10=–, 11=Motor stop"
  },
  {
   "type": "MV",
   "instance": 99,
   "name": "SummaryStatus",
   "description": "Summary of all status objects",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=Warning, 3=Not OK"
  },
  {
   "type": "MV",
   "instance": 100,
   "name": "ControlMode",
   "description": "How the setpoint is interpreted",
   "units": "",
   "access": "W",
   "states": "1=Position control, 2=Flow control, 3=Power control, 4=Differential pressure control"
  },
  {
   "type": "MV",
   "instance": 101,
   "name": "DeltaT_Limitation",
   "description": "Delta T manager mode",
   "units": "",
   "access": "W",
   "states": "1=Disabled, 2=dT-Manager, 3=dT-Manager scaling"
  },
  {
   "type": "MV",
   "instance": 102,
   "name": "StatusDeltaTMgr",
   "description": "Delta T manager status",
   "units": "",
   "access": "R",
   "states": "1=Not selected, 2=Standby, 3=Active, 4=Scaling standby, 5=Scaling active"
  },
  {
   "type": "MV",
   "instance": 103,
   "name": "StatusSensor",
   "description": "Flow and temperature sensor status",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=Flow measurement error, 3=Flowbody temperature not OK, 4=Remote temperature not OK, 5=Communication to flow sensor interrupted"
  },
  {
   "type": "MV",
   "instance": 104,
   "name": "StatusFlow",
   "description": "Flow status",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=Actual flow exceeds nominal flow, 3=Flow with closed valve, 4=Flow setpoint cannot be reached, 5=Reverse flow"
  },
  {
   "type": "MV",
   "instance": 105,
   "name": "StatusMedia",
   "description": "Medium status",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=Glycol detected, 3=Freeze warning"
  },
  {
   "type": "MV",
   "instance": 106,
   "name": "StatusActuator",
   "description": "Actuator status",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=Actuator cannot move, 3=Gear train disengaged, 4=No communication to actuator"
  },
  {
   "type": "MV",
   "instance": 107,
   "name": "StatusPower",
   "description": "Power control status",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=Power not reached"
  },
  {
   "type": "MV",
   "instance": 120,
   "name": "Command",
   "description": "Start service/test function; returns to None",
   "units": "",
   "access": "W",
   "states": "1=None, 2=–, 3=Synchronization"
  },
  {
   "type": "MV",
   "instance": 122,
   "name": "SpSource",
   "description": "Setpoint source: analog wire 3 or bus AO 1",
   "units": "",
   "access": "W",
   "states": "1=Analog, 2=Bus"
  },
  {
   "type": "MV",
   "instance": 123,
   "name": "UnitSelFlow",
   "description": "Engineering unit for flow objects",
   "units": "",
   "access": "W",
   "states": "1=m³/s, 2=m³/h, 3=l/s, 4=l/min, 5=l/h, 6=gpm, 7=cfm"
  },
  {
   "type": "MV",
   "instance": 124,
   "name": "UnitSelPower",
   "description": "Engineering unit for power objects",
   "units": "",
   "access": "W",
   "states": "1=W, 2=kW, 3=MW, 4=BTU/h, 5=kBTU/h, 6=ton"
  },
  {
   "type": "MV",
   "instance": 125,
   "name": "UnitSelEnergy",
   "description": "Engineering unit for energy objects",
   "units": "",
   "access": "W",
   "states": "1=J, 2=kJ, 3=MJ, 4=GJ, 5=Wh, 6=kWh, 7=MWh, 8=BTU, 9=kBTU, 10=tonh"
  },
  {
   "type": "MV",
   "instance": 126,
   "name": "UnitSelVolume",
   "description": "Engineering unit for volume objects",
   "units": "",
   "access": "W",
   "states": "1=m³, 2=Litre, 3=Gallon, 4=Cubic foot"
  },
  {
   "type": "MV",
   "instance": 127,
   "name": "UnitSelTemperature",
   "description": "Engineering unit for temperature sensors",
   "units": "",
   "access": "W",
   "states": "1=°C, 2=K, 3=°F"
  },
  {
   "type": "MV",
   "instance": 128,
   "name": "UnitSelDeltaT",
   "description": "Engineering unit for delta T",
   "units": "",
   "access": "W",
   "states": "1=°C, 2=K, 3=°F"
  },
  {
   "type": "MV",
   "instance": 130,
   "name": "BusFailAction",
   "description": "Action when bus watchdog expires",
   "units": "",
   "access": "W",
   "states": "1=None, 2=Open, 3=Close, 4=Max, 5=Min, 6=–, 7=Stop"
  },
  {
   "type": "MV",
   "instance": 131,
   "name": "UnitSelPressureDifference",
   "description": "Engineering unit for differential pressure",
   "units": "",
   "access": "W",
   "states": "1=Pa, 2=bar, 3=psi, 4=mbar, 5=kPa"
  },
  {
   "type": "MV",
   "instance": 140,
   "name": "DiffPressureSensorStatus",
   "description": "Differential pressure sensor status",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=Differential pressure not detected"
  },
  {
   "type": "MV",
   "instance": 141,
   "name": "DiffPressureControlStatus",
   "description": "Differential pressure control status",
   "units": "",
   "access": "R",
   "states": "1=OK, 2=Differential pressure setpoint cannot be reached, 3=Minimum position applied"
  },
  {
   "type": "MV",
   "instance": 200,
   "name": "SelectMeterRegisters",
   "description": "Certified (MID) or lifetime meter register",
   "units": "",
   "access": "W",
   "states": "1=Certified meter register, 2=Lifetime meter register"
  },
  {
   "type": "MV",
   "instance": 220,
   "name": "Sens1Type",
   "description": "Sensor 1 input type (bus setpoint only)",
   "units": "",
   "access": "W",
   "states": "1=None, 2=Active volt, 3=–, 4=Passive, 5=Switch"
  },
  {
   "type": "MV",
   "instance": 221,
   "name": "Sens1TempType",
   "description": "Sensor 1 passive element type",
   "units": "",
   "access": "W",
   "states": "1=None, 2=PT1000, 3=Ni1000EU, 4=–, 5=–, 6=–, 7=–, 8=NTC10k2, 9=NTC10k3"
  },
  {
   "type": "PIV",
   "instance": 31,
   "name": "CoolingEnergyPIV_UnitSel",
   "description": "Cooling energy meter as integer",
   "units": "MV 125 unit",
   "access": "R",
   "states": ""
  },
  {
   "type": "PIV",
   "instance": 32,
   "name": "HeatingEnergyPIV_UnitSel",
   "description": "Heating energy meter as integer",
   "units": "MV 125 unit",
   "access": "R",
   "states": ""
  },
  {
   "type": "PIV",
   "instance": 50,
   "name": "VolumePIV_UnitSel",
   "description": "Accumulated volume as integer",
   "units": "MV 126 unit",
   "access": "R",
   "states": ""
  },
  {
   "type": "PIV",
   "instance": 201,
   "name": "MeterSerialNo_Part1",
   "description": "Energy meter serial number, first digits",
   "units": "",
   "access": "R",
   "states": ""
  },
  {
   "type": "PIV",
   "instance": 202,
   "name": "MeterSerialNo_Part2",
   "description": "Energy meter serial number, last digits",
   "units": "",
   "access": "R",
   "states": ""
  }
 ],
 "page": "https://easybacnet.com/bacnet-points-lists/belimo/energy-valve-v4",
 "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"
}
