{
  "spec_version": 1,
  "slug": "belimo-energy-valve",
  "manufacturer": "Belimo",
  "model": "Energy Valve DN 15...50, version 4 (EV..R2+(K)BAC, EV..R2+MID, EV..R3+BAC)",
  "category": "HVAC controller",
  "supplier_url": "https://www.belimo.com/mam/general-documents/system_integration/Modbus/belimo_Modbus-Register_Energy-Valve_V4_2_2_en-gb.pdf",
  "default_configuration": {
    "protocol": "modbus_tcp",
    "port": 502,
    "unit_id": 1,
    "addressing": "zero_based",
    "byte_order": "BigEndian",
    "word_order": "LowFirst"
  },
  "coils": [],
  "discrete_inputs": [],
  "input_registers": [],
  "holding_registers": [
    {
      "address": 0,
      "count": 1,
      "name": "Setpoint relative",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "Setpoint related to the position, the volumetric flow (V'min / V'max) or the power (P'max); active when setpoint source (register 118) is bus. Range 0...10000. Default 0."
    },
    {
      "address": 1,
      "count": 1,
      "name": "Override control",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = none (default), 1 = open valve, 2 = close valve, 3 = minimum flow, 5 = maximum flow, 6 = nominal flow, 10 = motor stop."
    },
    {
      "address": 2,
      "count": 1,
      "name": "Command",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = none (default), 2 = sync. The value returns to 0 after the command has been executed."
    },
    {
      "address": 3,
      "count": 1,
      "name": "Device type",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "0 = device not connected, 1 = air / water, 2 = VAV / EPIV, 3 = fire, 4 = energy valve / flow sensor, 5 = 6-way EPIV."
    },
    {
      "address": 4,
      "count": 1,
      "name": "Relative position",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Range 0...10000."
    },
    {
      "address": 5,
      "count": 1,
      "name": "Absolute position",
      "data_type": "UInt16",
      "units": "°",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Angular position, range 0...9600 (0.01 degrees), i.e. 0...96 degrees."
    },
    {
      "address": 6,
      "count": 1,
      "name": "Relative volumetric flow",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Related to V'max (register 106). Range 0...15000."
    },
    {
      "address": 7,
      "count": 1,
      "name": "Absolute volumetric flow",
      "data_type": "UInt16",
      "units": "l/s",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Range 0...1576; the sensor reads up to 2.5 x V'nom."
    },
    {
      "address": 8,
      "count": 1,
      "name": "Absolute volumetric flow",
      "data_type": "UInt16",
      "units": "gpm",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Range 0...2498; the sensor reads up to 2.5 x V'nom."
    },
    {
      "address": 9,
      "count": 2,
      "name": "Absolute volumetric flow in the selected unit",
      "data_type": "UInt32",
      "units": "UnitSel",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R",
      "description": "32-bit value in the unit chosen by register 147, low word first. The sensor reads up to 2.5 x V'nom."
    },
    {
      "address": 11,
      "count": 1,
      "name": "Setpoint analog",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Setpoint in percent when setpoint source (register 118) is analog (0.5...10 V on wire 3). Not considered while an override is active."
    },
    {
      "address": 12,
      "count": 1,
      "name": "Sensor 1 value",
      "data_type": "UInt16",
      "units": "mV",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Additional sensor input on Y3, range 0...65535 mV; with a passive sensor type (register 121) the value is a resistance or a 0/1 switch state instead."
    },
    {
      "address": 13,
      "count": 1,
      "name": "Sensor 1 temperature",
      "data_type": "Int16",
      "units": "°C",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Range -2000...15000 counts (x0.01 degrees)."
    },
    {
      "address": 14,
      "count": 1,
      "name": "Sensor 1 temperature",
      "data_type": "Int16",
      "units": "°F",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Range -400...24800 counts (x0.01 degrees)."
    },
    {
      "address": 15,
      "count": 1,
      "name": "Setpoint absolute volumetric flow",
      "data_type": "UInt16",
      "units": "l/s",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Range 0...6300."
    },
    {
      "address": 16,
      "count": 1,
      "name": "Setpoint absolute volumetric flow",
      "data_type": "UInt16",
      "units": "gpm",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Range 0...998.5."
    },
    {
      "address": 17,
      "count": 2,
      "name": "Setpoint absolute volumetric flow in the selected unit",
      "data_type": "UInt32",
      "units": "UnitSel",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R",
      "description": "Unit chosen by register 147, low word first."
    },
    {
      "address": 19,
      "count": 1,
      "name": "Temperature 1 (remote)",
      "data_type": "Int16",
      "units": "°C",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Range -2000...15000 counts (x0.01 degrees)."
    },
    {
      "address": 20,
      "count": 1,
      "name": "Temperature 1 (remote)",
      "data_type": "Int16",
      "units": "°F",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Range -400...30200 counts (x0.01 degrees)."
    },
    {
      "address": 21,
      "count": 1,
      "name": "Temperature 2 (flow body)",
      "data_type": "Int16",
      "units": "°C",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Range -2000...15000 counts (x0.01 degrees)."
    },
    {
      "address": 22,
      "count": 1,
      "name": "Temperature 2 (flow body)",
      "data_type": "Int16",
      "units": "°F",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Range -400...30200 counts (x0.01 degrees)."
    },
    {
      "address": 23,
      "count": 1,
      "name": "Delta temperature",
      "data_type": "Int16",
      "units": "K",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Delta between the remote and the flow-body temperature."
    },
    {
      "address": 24,
      "count": 1,
      "name": "Delta temperature",
      "data_type": "Int16",
      "units": "°F",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 25,
      "count": 1,
      "name": "Glycol concentration",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Range 0...6000 (x0.01 percent). Effective measuring range depends on the device type."
    },
    {
      "address": 26,
      "count": 1,
      "name": "Relative power",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "Related to P'max (registers 166...172). Range 0...30000."
    },
    {
      "address": 27,
      "count": 2,
      "name": "Absolute power cooling",
      "data_type": "UInt32",
      "units": "kW",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R",
      "description": "Low word first. Range 0...3990000 (x0.001 kW)."
    },
    {
      "address": 29,
      "count": 2,
      "name": "Absolute power cooling",
      "data_type": "UInt32",
      "units": "kBTU/h",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R",
      "description": "Low word first. Range 0...136140 (x0.001 kBTU/h)."
    },
    {
      "address": 31,
      "count": 2,
      "name": "Absolute power cooling in the selected unit",
      "data_type": "UInt32",
      "units": "UnitSel",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Unit chosen by register 148, low word first."
    },
    {
      "address": 33,
      "count": 2,
      "name": "Absolute power heating",
      "data_type": "UInt32",
      "units": "kW",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R",
      "description": "Low word first. Range 0...3990000 (x0.001 kW)."
    },
    {
      "address": 35,
      "count": 2,
      "name": "Absolute power heating",
      "data_type": "UInt32",
      "units": "kBTU/h",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R",
      "description": "Low word first. Range 0...13614000 (x0.001 kBTU/h)."
    },
    {
      "address": 37,
      "count": 2,
      "name": "Absolute power heating in the selected unit",
      "data_type": "UInt32",
      "units": "UnitSel",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "Unit chosen by register 148, low word first."
    },
    {
      "address": 39,
      "count": 1,
      "name": "Setpoint delta temperature",
      "data_type": "UInt16",
      "units": "K",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "Considered when the delta T limitation is active. Range 0...5500 (x0.01 K)."
    },
    {
      "address": 40,
      "count": 1,
      "name": "Setpoint delta temperature",
      "data_type": "UInt16",
      "units": "°F",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "Considered when the delta T limitation is active. Range 0...9900 (x0.01 degrees)."
    },
    {
      "address": 41,
      "count": 2,
      "name": "Setpoint absolute flow at delta T",
      "data_type": "UInt32",
      "units": "l/s",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "RW",
      "description": "Considered when the delta T limitation is set to delta T manager scaling. Low word first."
    },
    {
      "address": 43,
      "count": 2,
      "name": "Setpoint absolute flow at delta T",
      "data_type": "UInt32",
      "units": "gpm",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "Considered when the delta T limitation is set to delta T manager scaling. Low word first."
    },
    {
      "address": 45,
      "count": 2,
      "name": "Setpoint absolute flow at delta T in the selected unit",
      "data_type": "UInt32",
      "units": "UnitSel",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "RW",
      "description": "Unit chosen by register 147, low word first."
    },
    {
      "address": 65,
      "count": 2,
      "name": "Absolute energy cooling",
      "data_type": "UInt32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Low word first. Range 0...2147483647 kWh."
    },
    {
      "address": 67,
      "count": 2,
      "name": "Absolute energy cooling",
      "data_type": "UInt32",
      "units": "kBTU",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Low word first."
    },
    {
      "address": 69,
      "count": 2,
      "name": "Absolute energy cooling in the selected unit",
      "data_type": "UInt32",
      "units": "UnitSel",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Unit chosen by register 150, low word first."
    },
    {
      "address": 71,
      "count": 2,
      "name": "Absolute energy heating",
      "data_type": "UInt32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Low word first."
    },
    {
      "address": 73,
      "count": 2,
      "name": "Absolute energy heating",
      "data_type": "UInt32",
      "units": "kBTU",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Low word first."
    },
    {
      "address": 75,
      "count": 2,
      "name": "Absolute energy heating in the selected unit",
      "data_type": "UInt32",
      "units": "UnitSel",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Unit chosen by register 150, low word first."
    },
    {
      "address": 99,
      "count": 1,
      "name": "Bus termination",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "0 = disabled (default), 1 = enabled: the 120 ohm bus termination is active."
    },
    {
      "address": 100,
      "count": 1,
      "name": "Series number, 1st part",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Parts 1, 2 and 4 of the four-part series number are readable; the example 00839-31324-064-008 is read as 00839 / 31324 / 008."
    },
    {
      "address": 101,
      "count": 1,
      "name": "Series number, 2nd part",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 102,
      "count": 1,
      "name": "Series number, 4th part",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 103,
      "count": 1,
      "name": "Firmware version",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Communication module firmware, e.g. 400 for version 4.00."
    },
    {
      "address": 104,
      "count": 1,
      "name": "Malfunction and service information",
      "data_type": "Binary",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Legacy single-register form of the error state; bits 0...15 correspond to register 157 (error state)."
    },
    {
      "address": 105,
      "count": 1,
      "name": "Minimum volumetric flow limit",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "V'min, range 0...V'max. Default 0."
    },
    {
      "address": 106,
      "count": 1,
      "name": "Maximum volumetric flow limit",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "V'max related to V'nom, range 2500...10000, values below 25 percent are raised to 25 percent. Default 10000."
    },
    {
      "address": 108,
      "count": 1,
      "name": "Bus fail action",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = none (default), 1 = open, 2 = close, 3 = max, 4 = min. Executed when the bus watchdog (register 109) expires."
    },
    {
      "address": 109,
      "count": 1,
      "name": "Timeout for bus watchdog",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Range 5...3600 s. Default 120."
    },
    {
      "address": 110,
      "count": 1,
      "name": "Nominal volumetric flow",
      "data_type": "UInt16",
      "units": "l/s",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "R",
      "description": "V'nom, range 0...10000 (x0.01 l/s)."
    },
    {
      "address": 111,
      "count": 1,
      "name": "Nominal volumetric flow",
      "data_type": "UInt16",
      "units": "gpm",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "V'nom, range 0...15850 (x0.1 gpm)."
    },
    {
      "address": 112,
      "count": 2,
      "name": "Nominal volumetric flow in the selected unit",
      "data_type": "UInt32",
      "units": "UnitSel",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R",
      "description": "V'nom in the unit chosen by register 147, low word first."
    },
    {
      "address": 116,
      "count": 1,
      "name": "Control mode",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = position control, 1 = flow control (default), 2 = power control, 3 = differential pressure control. A reset is performed when the value changes."
    },
    {
      "address": 118,
      "count": 1,
      "name": "Setpoint source",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = analog 0.5...10 V on wire 3 (default), 1 = bus (relative setpoint from register 0)."
    },
    {
      "address": 120,
      "count": 1,
      "name": "Sensor 1 type",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = none (default), 1 = active, 3 = passive, 4 = switch normally open, 5 = switch normally closed. Only selectable when setpoint source is bus."
    },
    {
      "address": 121,
      "count": 1,
      "name": "Sensor 1 passive type",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = none (default), 1 = PT1000, 2 = Ni1000, 7 = NTC10k2, 8 = NTC10k3. Only available when sensor 1 type is passive."
    },
    {
      "address": 129,
      "count": 1,
      "name": "Minimum volumetric flow limit",
      "data_type": "UInt16",
      "units": "l/s",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "V'min, range 0...630.5 l/s."
    },
    {
      "address": 130,
      "count": 1,
      "name": "Minimum volumetric flow limit",
      "data_type": "UInt16",
      "units": "gpm",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "RW",
      "description": "V'min, range 0...999.4 gpm."
    },
    {
      "address": 131,
      "count": 2,
      "name": "Minimum volumetric flow limit in the selected unit",
      "data_type": "UInt32",
      "units": "UnitSel",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "RW",
      "description": "V'min in the unit chosen by register 147, low word first."
    },
    {
      "address": 147,
      "count": 1,
      "name": "Unit selection flow",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = m3/s, 1 = m3/h, 2 = l/s, 3 = l/min, 4 = l/h (default), 5 = gpm, 6 = cfm. Applies to the 32-bit flow registers 9, 17, 112 and 131."
    },
    {
      "address": 148,
      "count": 1,
      "name": "Unit selection power",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = W, 1 = kW (default), 2 = MW, 3 = BTU/h, 4 = kBTU/h, 5 = ton. Applies to the 32-bit power registers 31, 37, 163 and 170."
    },
    {
      "address": 149,
      "count": 1,
      "name": "Unit selection volume",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = m3 (default), 1 = l, 2 = gal, 3 = cf."
    },
    {
      "address": 150,
      "count": 1,
      "name": "Unit selection energy",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = J, 1 = kJ, 2 = MJ, 3 = GJ, 4 = Wh, 5 = kWh (default), 6 = MWh, 7 = BTU, 8 = kBTU, 9 = ton. Applies to the 32-bit energy registers 69 and 75."
    },
    {
      "address": 157,
      "count": 2,
      "name": "Error state",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bit-coded, low word first. Bit 0 no communication to actuator, bit 1 gear train disengaged (manual override pressed), bit 2 actuator cannot move, bit 3 reverse flow, bit 4 flow setpoint not reached, bit 5 flow with closed valve, bit 6 actual flow exceeds nominal, bit 7 flow measurement error, bit 8 remote temperature error, bit 9 flow-body temperature error, bit 10 communication to sensor interrupted, bit 11 freeze warning."
    },
    {
      "address": 159,
      "count": 2,
      "name": "Nominal power",
      "data_type": "UInt32",
      "units": "kW",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R",
      "description": "P'nom, low word first. Range 0...1330000 (x0.001 kW)."
    },
    {
      "address": 161,
      "count": 2,
      "name": "Nominal power",
      "data_type": "UInt32",
      "units": "kBTU/h",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R",
      "description": "P'nom, low word first."
    },
    {
      "address": 163,
      "count": 2,
      "name": "Nominal power in the selected unit",
      "data_type": "UInt32",
      "units": "UnitSel",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "R",
      "description": "P'nom in the unit chosen by register 148, low word first."
    },
    {
      "address": 165,
      "count": 1,
      "name": "Maximum power limit",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "P'max related to P'nom, range 0.5...100 percent, considered when control mode (register 116) is power control."
    },
    {
      "address": 166,
      "count": 2,
      "name": "Absolute maximum power limit",
      "data_type": "UInt32",
      "units": "kW",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "RW",
      "description": "P'max, low word first. Range 6650...1330000 (x0.001 kW)."
    },
    {
      "address": 168,
      "count": 2,
      "name": "Absolute maximum power limit",
      "data_type": "UInt32",
      "units": "kBTU/h",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "RW",
      "description": "P'max, low word first."
    },
    {
      "address": 170,
      "count": 2,
      "name": "Absolute maximum power limit in the selected unit",
      "data_type": "UInt32",
      "units": "UnitSel",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "P'max in the unit chosen by register 148, low word first."
    },
    {
      "address": 179,
      "count": 1,
      "name": "Delta T limitation",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = delta T manager not active (default), 1 = dT-manager, 2 = dT-manager scaling."
    },
    {
      "address": 180,
      "count": 1,
      "name": "Delta T manager status",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "0 = not selected, 1 = standby, 2 = active, 3 = scaling standby, 4 = scaling active."
    }
  ],
  "combined_registers": [],
  "notes": "Source: Belimo 'Modbus Interface Description - Energy Valve DN 15...50 / V4.2.2', edition 2026-01/D, manufacturer date 16.04.25 (belimo_Modbus-Register_Energy-Valve_V4_2_2_en-gb.pdf), read from Belimo's own regional mirror https://www.belimo.ro/mam/general-documents/system_integration/Modbus/belimo_Modbus-Register_Energy-Valve_V4_2_2_en-gb.pdf because www.belimo.com answers automated requests with HTTP 403; same MAM document and edition, the URL above is the canonical location. The V4 valve has both transports: Modbus RTU over RS-485 (38400 Bd default, 1-8-N-2 default, address 1) and Modbus TCP over Ethernet (port 502 default). This seed declares the TCP path, which needs no serial block; the RTU factory values are what a gateway installation would use. Addressing: 'addressed by 1..n (Register No.) or 0..n-1 (Address)' with both columns on every row, so the stored values are the Address column (Register No. minus 1) - zero_based. Values above 65535 are split into two registers with the LowWord first, so the two-register rows are entered as UInt32 with word order LowFirst (the document's example: high word at Register No. x+1, low word at x, value = high * 65536 + low); rows the document marks '**)' are signed and entered as Int16. Left out on purpose: the differential-pressure block (registers 47-53, 57-58, 151-152, 173-177, 184-189), because in this edition that block's unit column is stacked separately from the rows and the address-to-name pairing for registers 48-53 cannot be read off row by row - the differential-pressure mode is still visible through control mode (register 116) = 3. Also left out: the device identification strings (register 200/201 energy-meter serial and production order number) and energy/volume pairs the document prints without a unique unit. Unsupported readings are returned as 65535, and the document warns that every valve applies its own size limitation inside the printed ranges."
}
