{
  "spec_version": 1,
  "slug": "finder-7m38",
  "manufacturer": "Finder",
  "model": "7M.38",
  "category": "Energy meter",
  "supplier_url": "https://www.findernet.com/en/worldwide/series/7m-series-smart-energy-meters/type/type-7m-38-three-phase-multi-function-bi-directional-energy-meters-with-backlit-matrix-lcd-display/",
  "default_configuration": {
    "protocol": "modbus_tcp",
    "port": 502,
    "unit_id": 33,
    "addressing": "zero_based",
    "byte_order": "BigEndian",
    "word_order": "HighFirst",
    "native_interface": "rs485",
    "serial": {
      "parity": "None",
      "baud_rate": 19200,
      "data_bits": 8,
      "stop_bits": 2
    }
  },
  "coils": [],
  "discrete_inputs": [],
  "input_registers": [
    {
      "address": 2500,
      "count": 2,
      "name": "Voltage L1",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2502,
      "count": 2,
      "name": "Voltage L2",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2504,
      "count": 2,
      "name": "Voltage L3",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2506,
      "count": 2,
      "name": "Average voltage L-N",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2508,
      "count": 2,
      "name": "Voltage L1-L2",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2510,
      "count": 2,
      "name": "Voltage L2-L3",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2512,
      "count": 2,
      "name": "Voltage L3-L1",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2514,
      "count": 2,
      "name": "Average voltage L-L",
      "data_type": "Float32",
      "units": "V",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2516,
      "count": 2,
      "name": "Current L1",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2518,
      "count": 2,
      "name": "Current L2",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2520,
      "count": 2,
      "name": "Current L3",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2522,
      "count": 2,
      "name": "Sum of currents",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2528,
      "count": 2,
      "name": "Average current",
      "data_type": "Float32",
      "units": "A",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2530,
      "count": 2,
      "name": "Active power L1",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2532,
      "count": 2,
      "name": "Active power L2",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2534,
      "count": 2,
      "name": "Active power L3",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2536,
      "count": 2,
      "name": "Active power, total",
      "data_type": "Float32",
      "units": "W",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2538,
      "count": 2,
      "name": "Reactive power L1",
      "data_type": "Float32",
      "units": "var",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2540,
      "count": 2,
      "name": "Reactive power L2",
      "data_type": "Float32",
      "units": "var",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2542,
      "count": 2,
      "name": "Reactive power L3",
      "data_type": "Float32",
      "units": "var",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2544,
      "count": 2,
      "name": "Reactive power, total",
      "data_type": "Float32",
      "units": "var",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2546,
      "count": 2,
      "name": "Apparent power L1",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2548,
      "count": 2,
      "name": "Apparent power L2",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2550,
      "count": 2,
      "name": "Apparent power L3",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2552,
      "count": 2,
      "name": "Apparent power, total",
      "data_type": "Float32",
      "units": "VA",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2554,
      "count": 2,
      "name": "Power factor L1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2556,
      "count": 2,
      "name": "Power factor L2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2558,
      "count": 2,
      "name": "Power factor L3",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2560,
      "count": 2,
      "name": "Power factor, total",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2576,
      "count": 2,
      "name": "Power angle, total",
      "data_type": "Float32",
      "units": "°",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2584,
      "count": 2,
      "name": "Frequency",
      "data_type": "Float32",
      "units": "Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2588,
      "count": 2,
      "name": "Current THD L1",
      "data_type": "Float32",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2590,
      "count": 2,
      "name": "Current THD L2",
      "data_type": "Float32",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2592,
      "count": 2,
      "name": "Current THD L3",
      "data_type": "Float32",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2594,
      "count": 2,
      "name": "Voltage THD L1",
      "data_type": "Float32",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2596,
      "count": 2,
      "name": "Voltage THD L2",
      "data_type": "Float32",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2598,
      "count": 2,
      "name": "Voltage THD L3",
      "data_type": "Float32",
      "units": "%",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2752,
      "count": 2,
      "name": "Active energy imported",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2754,
      "count": 2,
      "name": "Reactive energy imported",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2756,
      "count": 2,
      "name": "Active energy exported",
      "data_type": "Float32",
      "units": "kWh",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 2758,
      "count": 2,
      "name": "Reactive energy exported",
      "data_type": "Float32",
      "units": "kVArh",
      "scale_factor": 0.001,
      "offset": 0,
      "access": "R"
    }
  ],
  "holding_registers": [
    {
      "address": 30,
      "count": 1,
      "name": "Select active tariff",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 to 4."
    },
    {
      "address": 31,
      "count": 1,
      "name": "Reset energy counters",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "W",
      "description": "Bit 0 to bit 7 reset counters 1 to 8."
    },
    {
      "address": 148,
      "count": 1,
      "name": "Current input range",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "10000 = 100%."
    },
    {
      "address": 149,
      "count": 1,
      "name": "Voltage input range",
      "data_type": "UInt16",
      "units": "%",
      "scale_factor": 0.01,
      "offset": 0,
      "access": "RW",
      "description": "10000 = 100%."
    },
    {
      "address": 161,
      "count": 1,
      "name": "Nominal frequency",
      "data_type": "UInt16",
      "units": "Hz",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 192,
      "count": 1,
      "name": "Communication and LCD average interval",
      "data_type": "UInt16",
      "units": "s",
      "scale_factor": 0.1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 202,
      "count": 1,
      "name": "Modbus address",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "1 to 247, default 33."
    },
    {
      "address": 203,
      "count": 1,
      "name": "Baud rate",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = 1200, 1 = 2400, 2 = 4800, 3 = 9600, 4 = 19200, 5 = 38400, 6 = 57600, 7 = 115200."
    },
    {
      "address": 204,
      "count": 1,
      "name": "Stop bits",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = 1 stop bit, 1 = 2 stop bits."
    },
    {
      "address": 205,
      "count": 1,
      "name": "Parity",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = none, 1 = odd, 2 = even."
    },
    {
      "address": 206,
      "count": 1,
      "name": "Data bits",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "0 = 8 data bits."
    }
  ],
  "combined_registers": [],
  "notes": "RS-485 device: reach it through a Modbus RTU-to-TCP gateway using the factory serial settings above (address 33, 19200 bps, 8N2). Measurements and energy counters are IEEE-754 Float32 values read with function code 04, high word first. Energy is transmitted in Wh and scaled to kWh here. Configuration registers are holding registers; their addresses are the Modicom 4xxxx numbers minus 40000."
}
