{
  "manufacturer": "janitza",
  "model": "b21-b23-b24",
  "device": "b21-b23-b24",
  "category": "Altro",
  "protocol": "modbus",
  "version": "v1",
  "firmware": null,
  "verification": "IMPORTED",
  "isDemo": false,
  "source": {
    "title": "janitza b21-b23-b24 — modbus-database (registers.json)",
    "url": "https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/janitza-b21-b23-b24.htm",
    "documentRef": null,
    "revision": null
  },
  "generatedAt": "2026-09-21T14:44:01.245Z",
  "registers": [
    {
      "address": "19000",
      "addressNumeric": 8999,
      "signal": "voltage_l1_n",
      "name": "Voltage-L1-N",
      "description": "Voltage-L1-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19002",
      "addressNumeric": 9001,
      "signal": "voltage_l2_n",
      "name": "Voltage-L2-N",
      "description": "Voltage-L2-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19004",
      "addressNumeric": 9003,
      "signal": "voltage_l3_n",
      "name": "Voltage-L3-N",
      "description": "Voltage-L3-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19006",
      "addressNumeric": 9005,
      "signal": "voltage_l1_l2",
      "name": "Voltage-L1-L2",
      "description": "Voltage-L1-L2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19008",
      "addressNumeric": 9007,
      "signal": "voltage_l2_l3",
      "name": "Voltage-L2-L3",
      "description": "Voltage-L2-L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19010",
      "addressNumeric": 9009,
      "signal": "voltage_l3_l1",
      "name": "Voltage-L3-L1",
      "description": "Voltage-L3-L1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19012",
      "addressNumeric": 9011,
      "signal": "apparent_current_l1_n",
      "name": "Apparent-current,-L1-N",
      "description": "Apparent-current,-L1-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19014",
      "addressNumeric": 9013,
      "signal": "apparent_current_l2_n",
      "name": "Apparent-current,-L2-N",
      "description": "Apparent-current,-L2-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19016",
      "addressNumeric": 9015,
      "signal": "apparent_current_l3_n",
      "name": "Apparent-current,-L3-N",
      "description": "Apparent-current,-L3-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19020",
      "addressNumeric": 9019,
      "signal": "real_power_l1_n",
      "name": "Real-power-L1-N",
      "description": "Real-power-L1-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19022",
      "addressNumeric": 9021,
      "signal": "real_power_l2_n",
      "name": "Real-power-L2-N",
      "description": "Real-power-L2-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19024",
      "addressNumeric": 9023,
      "signal": "real_power_l3_n",
      "name": "Real-power-L3-N",
      "description": "Real-power-L3-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19026",
      "addressNumeric": 9025,
      "signal": "real_power_l1_l2_l3",
      "name": "Real-power-L1+L2+L3",
      "description": "Real-power-L1+L2+L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19028",
      "addressNumeric": 9027,
      "signal": "apparent_power_l1_n",
      "name": "Apparent-power-L1-N",
      "description": "Apparent-power-L1-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19030",
      "addressNumeric": 9029,
      "signal": "apparent_power_l2_n",
      "name": "Apparent-power-L2-N",
      "description": "Apparent-power-L2-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19032",
      "addressNumeric": 9031,
      "signal": "apparent_power_l3_n",
      "name": "Apparent-power-L3-N",
      "description": "Apparent-power-L3-N",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19034",
      "addressNumeric": 9033,
      "signal": "apparent_power_l1_l2_l3",
      "name": "Apparent-power-L1+L2+L3",
      "description": "Apparent-power-L1+L2+L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19036",
      "addressNumeric": 9035,
      "signal": "reactive_power_l1",
      "name": "Reactive-power-L1",
      "description": "Reactive-power-L1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "var",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19038",
      "addressNumeric": 9037,
      "signal": "reactive_power_l2",
      "name": "Reactive-power-L2",
      "description": "Reactive-power-L2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "var",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19040",
      "addressNumeric": 9039,
      "signal": "reactive_power_l3",
      "name": "Reactive-power-L3",
      "description": "Reactive-power-L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "var",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19042",
      "addressNumeric": 9041,
      "signal": "reactive_power_l1_l2_l3",
      "name": "Reactive-power-L1+L2+L3",
      "description": "Reactive-power-L1+L2+L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "var",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19044",
      "addressNumeric": 9043,
      "signal": "power_factor_l1",
      "name": "Power-factor-L1",
      "description": "Power-factor-L1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19046",
      "addressNumeric": 9045,
      "signal": "power_factor_l2",
      "name": "Power-factor-L2",
      "description": "Power-factor-L2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19048",
      "addressNumeric": 9047,
      "signal": "power_factor_l3",
      "name": "Power-factor-L3",
      "description": "Power-factor-L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19050",
      "addressNumeric": 9049,
      "signal": "measured_frequency",
      "name": "Measured-frequency",
      "description": "Measured-frequency",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Hz",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19054",
      "addressNumeric": 9053,
      "signal": "real_energy_l1",
      "name": "Real-energy-L1",
      "description": "Real-energy-L1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19056",
      "addressNumeric": 9055,
      "signal": "real_energy_l2",
      "name": "Real-energy-L2",
      "description": "Real-energy-L2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19058",
      "addressNumeric": 9057,
      "signal": "real_energy_l3",
      "name": "Real-energy-L3",
      "description": "Real-energy-L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19060",
      "addressNumeric": 9059,
      "signal": "real_energy_l1_l2_l3",
      "name": "Real-energy-L1+L2+L3",
      "description": "Real-energy-L1+L2+L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19062",
      "addressNumeric": 9061,
      "signal": "real_energy_l1_consumed",
      "name": "Real-energy-L1,-consumed",
      "description": "Real-energy-L1,-consumed",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19064",
      "addressNumeric": 9063,
      "signal": "real_energy_l2_consumed",
      "name": "Real-energy-L2,-consumed",
      "description": "Real-energy-L2,-consumed",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19066",
      "addressNumeric": 9065,
      "signal": "real_energy_l3_consumed",
      "name": "Real-energy-L3,-consumed",
      "description": "Real-energy-L3,-consumed",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19068",
      "addressNumeric": 9067,
      "signal": "real_energy_l1_l2_l3_consumed",
      "name": "Real-energy-L1+L2+L3,-consumed",
      "description": "Real-energy-L1+L2+L3,-consumed",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19070",
      "addressNumeric": 9069,
      "signal": "real_energy_l1_delivered",
      "name": "Real-energy-L1,-delivered",
      "description": "Real-energy-L1,-delivered",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19072",
      "addressNumeric": 9071,
      "signal": "real_energy_l2_delivered",
      "name": "Real-energy-L2,-delivered",
      "description": "Real-energy-L2,-delivered",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19074",
      "addressNumeric": 9073,
      "signal": "real_energy_l3_delivered",
      "name": "Real-energy-L3,-delivered",
      "description": "Real-energy-L3,-delivered",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19076",
      "addressNumeric": 9075,
      "signal": "real_energy_l1_l2_l3_delivered",
      "name": "Real-energy-L1+L2+L3,-delivered",
      "description": "Real-energy-L1+L2+L3,-delivered",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19078",
      "addressNumeric": 9077,
      "signal": "apparent_energy_l1",
      "name": "Apparent-energy-L1",
      "description": "Apparent-energy-L1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VAh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19080",
      "addressNumeric": 9079,
      "signal": "apparent_energy_l2",
      "name": "Apparent-energy-L2",
      "description": "Apparent-energy-L2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VAh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19082",
      "addressNumeric": 9081,
      "signal": "apparent_energy_l3",
      "name": "Apparent-energy-L3",
      "description": "Apparent-energy-L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VAh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19084",
      "addressNumeric": 9083,
      "signal": "apparent_energy_l1_l2_l3",
      "name": "Apparent-energy-L1+L2+L3",
      "description": "Apparent-energy-L1+L2+L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VAh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19086",
      "addressNumeric": 9085,
      "signal": "reactive_energy_l1",
      "name": "Reactive-energy-L1",
      "description": "Reactive-energy-L1",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "varh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19088",
      "addressNumeric": 9087,
      "signal": "reactive_energy_l2",
      "name": "Reactive-energy-L2",
      "description": "Reactive-energy-L2",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "varh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19090",
      "addressNumeric": 9089,
      "signal": "reactive_energy_l3",
      "name": "Reactive-energy-L3",
      "description": "Reactive-energy-L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "varh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19092",
      "addressNumeric": 9091,
      "signal": "reactive_energy_l1_l2_l3",
      "name": "Reactive-energy-L1+L2+L3",
      "description": "Reactive-energy-L1+L2+L3",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "varh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19094",
      "addressNumeric": 9093,
      "signal": "reactive_energy_l1_inductive",
      "name": "Reactive-energy-L1,-inductive",
      "description": "Reactive-energy-L1,-inductive",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "varh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19096",
      "addressNumeric": 9095,
      "signal": "reactive_energy_l2_inductive",
      "name": "Reactive-energy-L2,-inductive",
      "description": "Reactive-energy-L2,-inductive",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "varh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19098",
      "addressNumeric": 9097,
      "signal": "reactive_energy_l3_inductive",
      "name": "Reactive-energy-L3,-inductive",
      "description": "Reactive-energy-L3,-inductive",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "varh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19100",
      "addressNumeric": 9099,
      "signal": "reactive_energy_l1_l2_l3_inductive",
      "name": "Reactive-energy-L1+L2+L3,-inductive",
      "description": "Reactive-energy-L1+L2+L3,-inductive",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "varh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "19102",
      "addressNumeric": 9101,
      "signal": "reactive_energy_l1_capacitive",
      "name": "Reactive-energy-L1,-capacitive",
      "description": "Reactive-energy-L1,-capacitive",
      "functionCode": 3,
      "datatype": "float32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "varh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    }
  ]
}