{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Janitza",
  "model": "ECS",
  "models": ["ECS"],
  "vendor_website": "janitza.com",
  "revision": 2,
  "source": "Modbus Database (Jibril Sharafi, MIT licence), table janitza/ecs; https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/janitza-ecs.htm. Not verified against the manufacturer's documentation",
  "notes": [
    "Janitza ECS.",
    "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": "Device type", "area": "holding", "address": 4099, "type": "uint16", "access": "R"},
    {"name": "Firmware version", "area": "holding", "address": 4100, "type": "uint16", "access": "R"},
    {"name": "Range overflow alarm", "area": "holding", "address": 4101, "type": "uint16", "access": "R"},
    {"name": "Running tariff", "area": "holding", "address": 4102, "type": "uint32", "access": "R"},
    {"name": "PID bytes 1 and 2", "area": "holding", "address": 4104, "type": "uint16", "access": "R"},
    {"name": "PID bytes 3 and 4", "area": "holding", "address": 4105, "type": "uint16", "access": "R"},
    {"name": "PID bytes 5 and 6", "area": "holding", "address": 4106, "type": "uint16", "access": "R"},
    {"name": "PID bytes 7 and 8", "area": "holding", "address": 4107, "type": "uint16", "access": "R"},
    {"name": "PID bytes 9 and 10", "area": "holding", "address": 4108, "type": "uint16", "access": "R"},
    {"name": "PID bytes 11 and 12", "area": "holding", "address": 4109, "type": "uint16", "access": "R"},
    {"name": "PID bytes 13 and 14", "area": "holding", "address": 4110, "type": "uint16", "access": "R"},
    {"name": "Active energy 1st phase T1, imp", "area": "holding", "address": 4119, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy 2nd phase T1, imp", "area": "holding", "address": 4123, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy 3rd phase T1, imp", "area": "holding", "address": 4127, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy sum T1, imp", "area": "holding", "address": 4131, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy 1st phase T2, imp", "area": "holding", "address": 4135, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy 2nd phase T2, imp", "area": "holding", "address": 4139, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy 3rd phase T2, imp", "area": "holding", "address": 4143, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy sum T2, imp", "area": "holding", "address": 4147, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active power 1st phase", "area": "holding", "address": 4151, "type": "uint32", "access": "R"},
    {"name": "Active power 2nd phase", "area": "holding", "address": 4153, "type": "uint32", "access": "R"},
    {"name": "Active power 3rd phase", "area": "holding", "address": 4155, "type": "uint32", "access": "R"},
    {"name": "Active power sum", "area": "holding", "address": 4157, "type": "int64", "access": "R"},
    {"name": "Active energy 1st phase T1, exp", "area": "holding", "address": 4161, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy 2nd phase T1, exp", "area": "holding", "address": 4165, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy 3rd phase T1, exp", "area": "holding", "address": 4169, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy sum T1, exp", "area": "holding", "address": 4173, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy 1st phase T2, exp", "area": "holding", "address": 4177, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy 2nd phase T2, exp", "area": "holding", "address": 4181, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy 3rd phase T2, exp", "area": "holding", "address": 4185, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Active energy sum T2, exp", "area": "holding", "address": 4189, "type": "int64", "unit": "kWh", "access": "R"},
    {"name": "Reactive energy 1st phase T1, imp", "area": "holding", "address": 4193, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy 2nd phase T1, imp", "area": "holding", "address": 4197, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy 3rd phase T1, imp", "area": "holding", "address": 4201, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy sum T1, imp", "area": "holding", "address": 4205, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy 1st phase T2, imp", "area": "holding", "address": 4209, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy 2nd phase T2, imp", "area": "holding", "address": 4213, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy 3rd phase T2, imp", "area": "holding", "address": 4217, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy sum T2, imp", "area": "holding", "address": 4221, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy 1st phase T1, exp", "area": "holding", "address": 4225, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy 2nd phase T1, exp", "area": "holding", "address": 4229, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy 3rd phase T1, exp", "area": "holding", "address": 4233, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy sum T1, exp", "area": "holding", "address": 4237, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy 1st phase T2, exp", "area": "holding", "address": 4241, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy 2nd phase T2, exp", "area": "holding", "address": 4245, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy 3rd phase T2, exp", "area": "holding", "address": 4249, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy sum T2, exp", "area": "holding", "address": 4253, "type": "int64", "unit": "kvarh", "access": "R"},
    {"name": "Reactive power 1st phase", "area": "holding", "address": 4257, "type": "uint32", "unit": "kvar", "access": "R"},
    {"name": "Reactive power 2nd phase", "area": "holding", "address": 4259, "type": "uint32", "unit": "kvar", "access": "R"},
    {"name": "Reactive power 3rd phase", "area": "holding", "address": 4261, "type": "uint32", "unit": "kvar", "access": "R"}
  ]
}
