{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Socomec",
  "model": "Countis ECI2",
  "models": ["Countis ECI2"],
  "vendor_website": "socomec.com",
  "revision": 2,
  "source": "Modbus Database (Jibril Sharafi, MIT licence), table socomec/countis-eci2; https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/socomec-countis-eci2.htm. Not verified against the manufacturer's documentation",
  "notes": [
    "Socomec Countis ECI2.",
    "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": "Label of custom unit", "area": "holding", "address": 37072, "type": "string", "length": 2, "access": "R"},
    {"name": "Name (40192)", "area": "holding", "address": 40192, "type": "string", "length": 5, "access": "R"},
    {"name": "Mode: 0: disabled 1: logical state 2: analogical value 3: combination (40197)", "area": "holding", "address": 40197, "type": "uint16", "access": "R"},
    {"name": "Operand1 (40198)", "area": "holding", "address": 40198, "type": "uint16", "access": "R"},
    {"name": "Operand2 (40199)", "area": "holding", "address": 40199, "type": "uint16", "access": "R"},
    {"name": "Severity: 0: none 1: information 2: warning 3: default (40200)", "area": "holding", "address": 40200, "type": "uint16", "access": "R"},
    {"name": "Logical mode: 0: low state 1: high state 2: falling edge 3: rising edge 4: both falling and rising edge (40201)", "area": "holding", "address": 40201, "type": "uint16", "access": "R"},
    {"name": "Combination mode: 0: OR 1: AND (40202)", "area": "holding", "address": 40202, "type": "uint16", "access": "R"},
    {"name": "Analogical value comparison type: 0: low and high comparison 1: only high 2: only low 3: match with high level on rising 4: match with low level on falling (40203)", "area": "holding", "address": 40203, "type": "uint16", "access": "R"},
    {"name": "AnaValHyst (40204)", "area": "holding", "address": 40204, "type": "uint16", "access": "R"},
    {"name": "AnaValLow (40205)", "area": "holding", "address": 40205, "type": "uint32", "access": "R"},
    {"name": "AnaValHigh (40207)", "area": "holding", "address": 40207, "type": "uint32", "access": "R"},
    {"name": "Name (40209)", "area": "holding", "address": 40209, "type": "string", "length": 5, "access": "R"},
    {"name": "Mode: 0: disabled 1: logical state 2: analogical value 3: combination (40214)", "area": "holding", "address": 40214, "type": "uint16", "access": "R"},
    {"name": "Operand1 (40215)", "area": "holding", "address": 40215, "type": "uint16", "access": "R"},
    {"name": "Operand2 (40216)", "area": "holding", "address": 40216, "type": "uint16", "access": "R"},
    {"name": "Severity: 0: none 1: information 2: warning 3: default (40217)", "area": "holding", "address": 40217, "type": "uint16", "access": "R"},
    {"name": "Logical mode: 0: low state 1: high state 2: falling edge 3: rising edge 4: both falling and rising edge (40218)", "area": "holding", "address": 40218, "type": "uint16", "access": "R"},
    {"name": "Combination mode: 0: OR 1: AND (40219)", "area": "holding", "address": 40219, "type": "uint16", "access": "R"},
    {"name": "Analogical value comparison type: 0: low and high comparison 1: only high 2: only low 3: match with high level on rising 4: match with low level on falling (40220)", "area": "holding", "address": 40220, "type": "uint16", "access": "R"},
    {"name": "AnaValHyst (40221)", "area": "holding", "address": 40221, "type": "uint16", "access": "R"},
    {"name": "AnaValLow (40222)", "area": "holding", "address": 40222, "type": "uint32", "access": "R"},
    {"name": "AnaValHigh (40224)", "area": "holding", "address": 40224, "type": "uint32", "access": "R"},
    {"name": "Name (40226)", "area": "holding", "address": 40226, "type": "string", "length": 5, "access": "R"},
    {"name": "Mode: 0: disabled 1: logical state 2: analogical value 3: combination (40231)", "area": "holding", "address": 40231, "type": "uint16", "access": "R"},
    {"name": "Operand1 (40232)", "area": "holding", "address": 40232, "type": "uint16", "access": "R"},
    {"name": "Operand2 (40233)", "area": "holding", "address": 40233, "type": "uint16", "access": "R"},
    {"name": "Severity: 0: none 1: information 2: warning 3: default (40234)", "area": "holding", "address": 40234, "type": "uint16", "access": "R"},
    {"name": "Logical mode: 0: low state 1: high state 2: falling edge 3: rising edge 4: both falling and rising edge (40235)", "area": "holding", "address": 40235, "type": "uint16", "access": "R"},
    {"name": "Combination mode: 0: OR 1: AND (40236)", "area": "holding", "address": 40236, "type": "uint16", "access": "R"},
    {"name": "Analogical value comparison type: 0: low and high comparison 1: only high 2: only low 3: match with high level on rising 4: match with low level on falling (40237)", "area": "holding", "address": 40237, "type": "uint16", "access": "R"},
    {"name": "AnaValHyst (40238)", "area": "holding", "address": 40238, "type": "uint16", "access": "R"},
    {"name": "AnaValLow (40239)", "area": "holding", "address": 40239, "type": "uint32", "access": "R"},
    {"name": "AnaValHigh (40241)", "area": "holding", "address": 40241, "type": "uint32", "access": "R"},
    {"name": "Name (40243)", "area": "holding", "address": 40243, "type": "string", "length": 5, "access": "R"},
    {"name": "Mode: 0: disabled 1: logical state 2: analogical value 3: combination (40248)", "area": "holding", "address": 40248, "type": "uint16", "access": "R"},
    {"name": "Operand1 (40249)", "area": "holding", "address": 40249, "type": "uint16", "access": "R"},
    {"name": "Operand2 (40250)", "area": "holding", "address": 40250, "type": "uint16", "access": "R"},
    {"name": "Severity: 0: none 1: information 2: warning 3: default (40251)", "area": "holding", "address": 40251, "type": "uint16", "access": "R"},
    {"name": "Logical mode: 0: low state 1: high state 2: falling edge 3: rising edge 4: both falling and rising edge (40252)", "area": "holding", "address": 40252, "type": "uint16", "access": "R"},
    {"name": "Combination mode: 0: OR 1: AND (40253)", "area": "holding", "address": 40253, "type": "uint16", "access": "R"},
    {"name": "Analogical value comparison type: 0: low and high comparison 1: only high 2: only low 3: match with high level on rising 4: match with low level on falling (40254)", "area": "holding", "address": 40254, "type": "uint16", "access": "R"},
    {"name": "AnaValHyst (40255)", "area": "holding", "address": 40255, "type": "uint16", "access": "R"},
    {"name": "AnaValLow (40256)", "area": "holding", "address": 40256, "type": "uint32", "access": "R"},
    {"name": "AnaValHigh (40258)", "area": "holding", "address": 40258, "type": "uint32", "access": "R"},
    {"name": "Name (40260)", "area": "holding", "address": 40260, "type": "string", "length": 5, "access": "R"},
    {"name": "Mode: 0: disabled 1: logical state 2: analogical value 3: combination (40265)", "area": "holding", "address": 40265, "type": "uint16", "access": "R"},
    {"name": "Operand1 (40266)", "area": "holding", "address": 40266, "type": "uint16", "access": "R"},
    {"name": "Operand2 (40267)", "area": "holding", "address": 40267, "type": "uint16", "access": "R"},
    {"name": "Save context count", "area": "holding", "address": 45058, "type": "uint32", "access": "R"}
  ]
}
