{
  "spec_version": 1,
  "slug": "orno-or-we-517",
  "manufacturer": "ORNO",
  "model": "OR-WE-517",
  "category": "Energy meter",
  "supplier_url": "https://www.orno.pl/en/archived-products/350-3-phase-multi-tariff-energy-meter-with-rs-485-80a-4-5-modules-din-th-35mm-5902560322422.html",
  "default_configuration": {
    "protocol": "modbus_tcp",
    "port": 502,
    "unit_id": 1,
    "addressing": "zero_based",
    "byte_order": "BigEndian",
    "word_order": "HighFirst",
    "native_interface": "rs485",
    "serial": {
      "parity": "Even",
      "baud_rate": 9600,
      "data_bits": 8,
      "stop_bits": 1
    }
  },
  "coils": [],
  "discrete_inputs": [],
  "input_registers": [],
  "holding_registers": [
    {
      "address": 2,
      "count": 1,
      "name": "Meter ID",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 to 247."
    },
    {
      "address": 3,
      "count": 1,
      "name": "Baud rate",
      "data_type": "UInt16",
      "units": "bps",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1200, 2400, 4800 or 9600."
    },
    {
      "address": 4,
      "count": 1,
      "name": "Software version",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 6,
      "count": 1,
      "name": "Hardware version",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 8,
      "count": 1,
      "name": "CT ratio",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 9,
      "count": 2,
      "name": "S0 output rate",
      "data_type": "Float32",
      "units": "imp/kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 11,
      "count": 1,
      "name": "Combined code",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 12,
      "count": 1,
      "name": "Holiday/weekend tariff",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 13,
      "count": 1,
      "name": "Display cycle time",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14,
      "count": 2,
      "name": "Voltage L1",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 16,
      "count": 2,
      "name": "Voltage L2",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 18,
      "count": 2,
      "name": "Voltage L3",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 20,
      "count": 2,
      "name": "Grid frequency",
      "data_type": "Float32",
      "units": "Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 22,
      "count": 2,
      "name": "Current L1",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 24,
      "count": 2,
      "name": "Current L2",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 26,
      "count": 2,
      "name": "Current L3",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 28,
      "count": 2,
      "name": "Total active power",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 30,
      "count": 2,
      "name": "Active power L1",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 32,
      "count": 2,
      "name": "Active power L2",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 34,
      "count": 2,
      "name": "Active power L3",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 36,
      "count": 2,
      "name": "Total reactive power",
      "data_type": "Float32",
      "units": "var",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 38,
      "count": 2,
      "name": "Reactive power L1",
      "data_type": "Float32",
      "units": "var",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 40,
      "count": 2,
      "name": "Reactive power L2",
      "data_type": "Float32",
      "units": "var",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 42,
      "count": 2,
      "name": "Reactive power L3",
      "data_type": "Float32",
      "units": "var",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 44,
      "count": 2,
      "name": "Total apparent power",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 46,
      "count": 2,
      "name": "Apparent power L1",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 48,
      "count": 2,
      "name": "Apparent power L2",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 50,
      "count": 2,
      "name": "Apparent power L3",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1000,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 52,
      "count": 2,
      "name": "Total power factor",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 54,
      "count": 2,
      "name": "Power factor L1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 56,
      "count": 2,
      "name": "Power factor L2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 58,
      "count": 2,
      "name": "Power factor L3",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 256,
      "count": 2,
      "name": "Total active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 258,
      "count": 2,
      "name": "L1 total active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 260,
      "count": 2,
      "name": "L2 total active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 262,
      "count": 2,
      "name": "L3 total active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 264,
      "count": 2,
      "name": "Forward active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 266,
      "count": 2,
      "name": "L1 forward active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 268,
      "count": 2,
      "name": "L2 forward active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 270,
      "count": 2,
      "name": "L3 forward active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 272,
      "count": 2,
      "name": "Reverse active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 274,
      "count": 2,
      "name": "L1 reverse active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 276,
      "count": 2,
      "name": "L2 reverse active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 278,
      "count": 2,
      "name": "L3 reverse active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 280,
      "count": 2,
      "name": "Total reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 282,
      "count": 2,
      "name": "L1 reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 284,
      "count": 2,
      "name": "L2 reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 286,
      "count": 2,
      "name": "L3 reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 288,
      "count": 2,
      "name": "Forward reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 290,
      "count": 2,
      "name": "L1 forward reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 292,
      "count": 2,
      "name": "L2 forward reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 294,
      "count": 2,
      "name": "L3 forward reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 296,
      "count": 2,
      "name": "Reverse reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 298,
      "count": 2,
      "name": "L1 reverse reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 300,
      "count": 2,
      "name": "L2 reverse reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 302,
      "count": 2,
      "name": "L3 reverse reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 304,
      "count": 2,
      "name": "Tariff 1 total active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 306,
      "count": 2,
      "name": "Tariff 1 forward active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 308,
      "count": 2,
      "name": "Tariff 1 reverse active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 310,
      "count": 2,
      "name": "Tariff 1 total reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 312,
      "count": 2,
      "name": "Tariff 1 forward reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 314,
      "count": 2,
      "name": "Tariff 1 reverse reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 316,
      "count": 2,
      "name": "Tariff 2 total active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 318,
      "count": 2,
      "name": "Tariff 2 forward active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 320,
      "count": 2,
      "name": "Tariff 2 reverse active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 322,
      "count": 2,
      "name": "Tariff 2 total reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 324,
      "count": 2,
      "name": "Tariff 2 forward reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 326,
      "count": 2,
      "name": "Tariff 2 reverse reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 328,
      "count": 2,
      "name": "Tariff 3 total active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 330,
      "count": 2,
      "name": "Tariff 3 forward active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 332,
      "count": 2,
      "name": "Tariff 3 reverse active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 334,
      "count": 2,
      "name": "Tariff 3 total reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 336,
      "count": 2,
      "name": "Tariff 3 forward reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 338,
      "count": 2,
      "name": "Tariff 3 reverse reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 340,
      "count": 2,
      "name": "Tariff 4 total active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 342,
      "count": 2,
      "name": "Tariff 4 forward active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 344,
      "count": 2,
      "name": "Tariff 4 reverse active energy",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 346,
      "count": 2,
      "name": "Tariff 4 total reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 348,
      "count": 2,
      "name": "Tariff 4 forward reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 350,
      "count": 2,
      "name": "Tariff 4 reverse reactive energy",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    }
  ],
  "combined_registers": [],
  "notes": "RS-485 device: reach it through a Modbus RTU-to-TCP gateway using the factory serial settings above. All values are IEEE-754 Float32 with the high word first and are read/written with function code 03. Power values are reported by the meter in kW/kvar/kVA and converted to W/var/VA here (scale 1000). The tariff time-interval blocks at 0x0300-0x036F are not mapped because their packed date/time layout is model-specific."
}
