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-21T13:15:50.897Z
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
