{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Janitza", "model": "B21 / B23 / B24", "models": ["B21", "B23", "B24"], "vendor_website": "janitza.com", "revision": 3, "revised": "2026-11-10", "source": "Janitza electronics, \"MID-Energiez\u00e4hler Produkthandbuch\", version 2.5, Doc. no. 2.100.005.2", "sources": [{"title": "MID-Energiez\u00e4hler Produkthandbuch (B21, B23, B24)", "url": "https://static.mercateo.com/0c/9ab2633a2fa94a48bce2f201f515aaa8/pdf/janitza-bhb-b2x-de.pdf", "note": "chapter 4.3, standard registers compatible with UMG devices (19000-19108)", "version": "Version 2.5, Doc. no. 2.100.005.2"}], "notes": [ "Addresses are the protocol addresses of the manual; values are 32-bit floats read with FC03.", "Not in this map: the special registers of chapter 4.4 (64-bit energy counters, tariffs, per-phase energy, integer measurements, inputs and outputs, identification); this map covers the UMG-compatible standard block.", "Quantities that a given meter does not measure read as invalid values; the single-phase B21 has no per-phase L2 and L3 values." ], "byte_order": "big", "word_order": "big", "address_base": 0, "x_status": "official", "registers": [ {"name": "Voltage L1 N", "area": "holding", "address": 19000, "type": "float32", "unit": "V", "access": "R"}, {"name": "Voltage L2 N", "area": "holding", "address": 19002, "type": "float32", "unit": "V", "access": "R"}, {"name": "Voltage L3 N", "area": "holding", "address": 19004, "type": "float32", "unit": "V", "access": "R"}, {"name": "Voltage L1 L2", "area": "holding", "address": 19006, "type": "float32", "unit": "V", "access": "R"}, {"name": "Voltage L2 L3", "area": "holding", "address": 19008, "type": "float32", "unit": "V", "access": "R"}, {"name": "Voltage L3 L1", "area": "holding", "address": 19010, "type": "float32", "unit": "V", "access": "R"}, {"name": "Apparent current, L1 N", "area": "holding", "address": 19012, "type": "float32", "unit": "A", "access": "R"}, {"name": "Apparent current, L2 N", "area": "holding", "address": 19014, "type": "float32", "unit": "A", "access": "R"}, {"name": "Apparent current, L3 N", "area": "holding", "address": 19016, "type": "float32", "unit": "A", "access": "R"}, {"name": "Real power L1 N", "area": "holding", "address": 19020, "type": "float32", "unit": "W", "access": "R"}, {"name": "Real power L2 N", "area": "holding", "address": 19022, "type": "float32", "unit": "W", "access": "R"}, {"name": "Real power L3 N", "area": "holding", "address": 19024, "type": "float32", "unit": "W", "access": "R"}, {"name": "Real power L1+L2+L3", "area": "holding", "address": 19026, "type": "float32", "unit": "W", "access": "R"}, {"name": "Apparent power L1 N", "area": "holding", "address": 19028, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Apparent power L2 N", "area": "holding", "address": 19030, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Apparent power L3 N", "area": "holding", "address": 19032, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Apparent power L1+L2+L3", "area": "holding", "address": 19034, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Reactive power L1", "area": "holding", "address": 19036, "type": "float32", "unit": "var", "access": "R"}, {"name": "Reactive power L2", "area": "holding", "address": 19038, "type": "float32", "unit": "var", "access": "R"}, {"name": "Reactive power L3", "area": "holding", "address": 19040, "type": "float32", "unit": "var", "access": "R"}, {"name": "Reactive power L1+L2+L3", "area": "holding", "address": 19042, "type": "float32", "unit": "var", "access": "R"}, {"name": "Power factor L1", "area": "holding", "address": 19044, "type": "float32", "access": "R"}, {"name": "Power factor L2", "area": "holding", "address": 19046, "type": "float32", "access": "R"}, {"name": "Power factor L3", "area": "holding", "address": 19048, "type": "float32", "access": "R"}, {"name": "Measured frequency", "area": "holding", "address": 19050, "type": "float32", "unit": "Hz", "access": "R"}, {"name": "Real energy L1", "area": "holding", "address": 19054, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Real energy L2", "area": "holding", "address": 19056, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Real energy L3", "area": "holding", "address": 19058, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Real energy L1+L2+L3", "area": "holding", "address": 19060, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Real energy L1, consumed", "area": "holding", "address": 19062, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Real energy L2, consumed", "area": "holding", "address": 19064, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Real energy L3, consumed", "area": "holding", "address": 19066, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Real energy L1+L2+L3, consumed", "area": "holding", "address": 19068, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Real energy L1, delivered", "area": "holding", "address": 19070, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Real energy L2, delivered", "area": "holding", "address": 19072, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Real energy L3, delivered", "area": "holding", "address": 19074, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Real energy L1+L2+L3, delivered", "area": "holding", "address": 19076, "type": "float32", "unit": "Wh", "access": "R"}, {"name": "Apparent energy L1", "area": "holding", "address": 19078, "type": "float32", "unit": "VAh", "access": "R"}, {"name": "Apparent energy L2", "area": "holding", "address": 19080, "type": "float32", "unit": "VAh", "access": "R"}, {"name": "Apparent energy L3", "area": "holding", "address": 19082, "type": "float32", "unit": "VAh", "access": "R"}, {"name": "Apparent energy L1+L2+L3", "area": "holding", "address": 19084, "type": "float32", "unit": "VAh", "access": "R"}, {"name": "Reactive energy L1", "area": "holding", "address": 19086, "type": "float32", "unit": "varh", "access": "R"}, {"name": "Reactive energy L2", "area": "holding", "address": 19088, "type": "float32", "unit": "varh", "access": "R"}, {"name": "Reactive energy L3", "area": "holding", "address": 19090, "type": "float32", "unit": "varh", "access": "R"}, {"name": "Reactive energy L1+L2+L3", "area": "holding", "address": 19092, "type": "float32", "unit": "varh", "access": "R"}, {"name": "Reactive energy L1, inductive", "area": "holding", "address": 19094, "type": "float32", "unit": "varh", "access": "R"}, {"name": "Reactive energy L2, inductive", "area": "holding", "address": 19096, "type": "float32", "unit": "varh", "access": "R"}, {"name": "Reactive energy L3, inductive", "area": "holding", "address": 19098, "type": "float32", "unit": "varh", "access": "R"}, {"name": "Reactive energy L1+L2+L3, inductive", "area": "holding", "address": 19100, "type": "float32", "unit": "varh", "access": "R"}, {"name": "Reactive energy L1, capacitive", "area": "holding", "address": 19102, "type": "float32", "unit": "varh", "access": "R"}, {"name": "Reactive energy L2, capacitive", "area": "holding", "address": 19104, "type": "float32", "unit": "varh", "access": "R"}, {"name": "Reactive energy L3, capacitive", "area": "holding", "address": 19106, "type": "float32", "unit": "varh", "access": "R"}, {"name": "Reactive energy L1+L2+L3, capacitive", "area": "holding", "address": 19108, "type": "float32", "unit": "varh", "access": "R"} ] }