{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "SACI",
  "model": "ANG96",
  "models": ["ANG96"],
  "revision": 2,
  "vendor_website": "saci.es",
  "source": "Modbus Database (Jibril Sharafi, MIT licence), table saci/ang96; https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/saci-ang96.htm. Not verified against the manufacturer's documentation",
  "notes": [
    "SACI ANG96.",
    "Converted automatically from the Modbus Database (MIT licence, Jibril Sharafi).",
    "Not verified against the manufacturer's documentation. The byte order is a guess: the source does not give one.",
    "Corrections are welcome (CONTRIBUTING.md). Change x_status once this table has been checked against the manual."
  ],
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "unofficial",
  "x_origin": "modbus-database",
  "registers": [
    {"name": "Voltage (2)", "area": "holding", "address": 2, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Current L1 (4)", "area": "holding", "address": 4, "type": "float32", "unit": "A", "access": "R"},
    {"name": "THD% current L1", "area": "holding", "address": 6, "type": "float32", "unit": "%", "access": "R"},
    {"name": "THD% voltage (8)", "area": "holding", "address": 8, "type": "float32", "unit": "%", "access": "R"},
    {"name": "Active power L1", "area": "holding", "address": 16, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "Power factor (18)", "area": "holding", "address": 18, "type": "float32", "access": "R"},
    {"name": "Reactive power L1", "area": "holding", "address": 20, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Apparent power L1", "area": "holding", "address": 22, "type": "float32", "unit": "kVA", "access": "R"},
    {"name": "Voltage (24)", "area": "holding", "address": 24, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Voltage (32)", "area": "holding", "address": 32, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Current L2 (34)", "area": "holding", "address": 34, "type": "float32", "unit": "A", "access": "R"},
    {"name": "THD% current L2", "area": "holding", "address": 36, "type": "float32", "unit": "%", "access": "R"},
    {"name": "THD% voltage (38)", "area": "holding", "address": 38, "type": "float32", "unit": "%", "access": "R"},
    {"name": "Active power L2", "area": "holding", "address": 40, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "Power factor (48)", "area": "holding", "address": 48, "type": "float32", "access": "R"},
    {"name": "Reactive power L2", "area": "holding", "address": 50, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Apparent power L2", "area": "holding", "address": 52, "type": "float32", "unit": "kVA", "access": "R"},
    {"name": "Voltage (54)", "area": "holding", "address": 54, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Voltage (56)", "area": "holding", "address": 56, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Current L3 (64)", "area": "holding", "address": 64, "type": "float32", "unit": "A", "access": "R"},
    {"name": "THD% current L3", "area": "holding", "address": 66, "type": "float32", "unit": "%", "access": "R"},
    {"name": "THD% voltage (68)", "area": "holding", "address": 68, "type": "float32", "unit": "%", "access": "R"},
    {"name": "Active power L3", "area": "holding", "address": 70, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "Power factor (72)", "area": "holding", "address": 72, "type": "float32", "access": "R"},
    {"name": "Reactive power L3", "area": "holding", "address": 80, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Apparent power L3", "area": "holding", "address": 82, "type": "float32", "unit": "kVA", "access": "R"},
    {"name": "Neutral current", "area": "holding", "address": 84, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Frequency", "area": "holding", "address": 86, "type": "float32", "unit": "Hz", "access": "R"},
    {"name": "Power factor (88)", "area": "holding", "address": 88, "type": "float32", "access": "R"},
    {"name": "Apparent power total", "area": "holding", "address": 96, "type": "float32", "unit": "kVA", "access": "R"},
    {"name": "Active power total", "area": "holding", "address": 98, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "Reactive power total", "area": "holding", "address": 100, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Import active energy", "area": "holding", "address": 102, "type": "float32", "unit": "kWh", "access": "R"},
    {"name": "Export active energy", "area": "holding", "address": 104, "type": "float32", "unit": "kWh", "access": "R"},
    {"name": "Reactive energy. inductive", "area": "holding", "address": 112, "type": "float32", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy. capacitive", "area": "holding", "address": 114, "type": "float32", "unit": "kvarh", "access": "R"},
    {"name": "Generator mode. import active energy", "area": "holding", "address": 116, "type": "float32", "unit": "kWh", "access": "R"},
    {"name": "Generator mode. export active energy", "area": "holding", "address": 118, "type": "float32", "unit": "kWh", "access": "R"},
    {"name": "Generator mode. reactive energy. inductive", "area": "holding", "address": 120, "type": "float32", "unit": "kvarh", "access": "R"},
    {"name": "Generator mode. reactive energy. capacitive", "area": "holding", "address": 128, "type": "float32", "unit": "kvarh", "access": "R"},
    {"name": "Import active energy time counter", "area": "holding", "address": 130, "type": "uint32", "access": "R"},
    {"name": "Export active energy time counter", "area": "holding", "address": 132, "type": "uint32", "access": "R"},
    {"name": "Generator mode. import active energy time counter", "area": "holding", "address": 134, "type": "uint32", "access": "R"},
    {"name": "Generator model. export active energy time counter", "area": "holding", "address": 136, "type": "uint32", "access": "R"},
    {"name": "Current L1 (256)", "area": "holding", "address": 256, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current L1 (258)", "area": "holding", "address": 258, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current L2 (260)", "area": "holding", "address": 260, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current L2 (262)", "area": "holding", "address": 262, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current L3 (264)", "area": "holding", "address": 264, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current L3 (272)", "area": "holding", "address": 272, "type": "float32", "unit": "A", "access": "R"}
  ]
}
