{
  "spec_version": 1,
  "slug": "schneider-acti9-smartlink",
  "manufacturer": "Schneider Electric",
  "model": "Acti 9 Smartlink Modbus (A9XMSB11)",
  "category": "Energy gateway",
  "supplier_url": "https://www.se.com/ww/en/download/document/DOCA0004EN/",
  "default_configuration": {
    "protocol": "modbus_tcp",
    "port": 502,
    "unit_id": 1,
    "addressing": "zero_based",
    "byte_order": "BigEndian",
    "word_order": "HighFirst",
    "native_interface": "rs485",
    "serial": {
      "parity": "Even",
      "baud_rate": 19200,
      "data_bits": 8,
      "stop_bits": 1
    }
  },
  "coils": [],
  "discrete_inputs": [],
  "input_registers": [],
  "holding_registers": [
    {
      "address": 100,
      "count": 6,
      "name": "Serial number (ASCII, 12 characters)",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Product serial number; the NULL character ends the string."
    },
    {
      "address": 109,
      "count": 3,
      "name": "Software version (ASCII, 6 characters)",
      "data_type": "Ascii",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "For example \"V0.0.1\"."
    },
    {
      "address": 112,
      "count": 1,
      "name": "Device status and diagnostic register",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bit 0 = 1 start-up phase, bit 1 = 1 operating phase, bit 2 = 1 downgraded mode (24 V supply too low or Ti24 overload), bit 3 = 1 failure mode, bit 6 = 1 invalid data, bit 7 = 1 invalid 24 V I/O, bit 13 = E2PROM error, bit 14 = RAM error, bit 15 = FLASH error. Bits 0 to 3 are exclusive."
    },
    {
      "address": 120,
      "count": 1,
      "name": "Summary of channels 1 to 11, status word 1 (channels 1-8)",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "One bit per channel: bit N set means the channel data are valid. Word 1 covers channels 1 to 8."
    },
    {
      "address": 121,
      "count": 1,
      "name": "Summary of channels 1 to 11, status word 2 (channels 9-11)",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Bits 0 to 2 cover channels 9 to 11."
    },
    {
      "address": 130,
      "count": 1,
      "name": "Summary of channels 1 to 11, orders word 1 (channels 1-8)",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "One bit per channel for the summary command word."
    },
    {
      "address": 131,
      "count": 1,
      "name": "Summary of channels 1 to 11, orders word 2 (channels 9-11)",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 132,
      "count": 1,
      "name": "Summary of channels 1 to 11, orders word 3 (reserved)",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 133,
      "count": 1,
      "name": "Summary of channels 1 to 11, orders word 4 (reserved)",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14000,
      "count": 2,
      "name": "Power or flow indicator, channel 1 input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Power or flow of the impulse counter on channel 1 input 1 (3600 x pulse weight / time between two pulses)."
    },
    {
      "address": 14002,
      "count": 2,
      "name": "Power or flow indicator, channel 2 input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Power or flow of the impulse counter on channel 2 input 1 (3600 x pulse weight / time between two pulses)."
    },
    {
      "address": 14004,
      "count": 2,
      "name": "Power or flow indicator, channel 3 input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Power or flow of the impulse counter on channel 3 input 1 (3600 x pulse weight / time between two pulses)."
    },
    {
      "address": 14006,
      "count": 2,
      "name": "Power or flow indicator, channel 4 input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Power or flow of the impulse counter on channel 4 input 1 (3600 x pulse weight / time between two pulses)."
    },
    {
      "address": 14008,
      "count": 2,
      "name": "Power or flow indicator, channel 5 input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Power or flow of the impulse counter on channel 5 input 1 (3600 x pulse weight / time between two pulses)."
    },
    {
      "address": 14010,
      "count": 2,
      "name": "Power or flow indicator, channel 6 input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Power or flow of the impulse counter on channel 6 input 1 (3600 x pulse weight / time between two pulses)."
    },
    {
      "address": 14012,
      "count": 2,
      "name": "Power or flow indicator, channel 7 input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Power or flow of the impulse counter on channel 7 input 1 (3600 x pulse weight / time between two pulses)."
    },
    {
      "address": 14014,
      "count": 2,
      "name": "Power or flow indicator, channel 8 input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Power or flow of the impulse counter on channel 8 input 1 (3600 x pulse weight / time between two pulses)."
    },
    {
      "address": 14016,
      "count": 2,
      "name": "Power or flow indicator, channel 9 input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Power or flow of the impulse counter on channel 9 input 1 (3600 x pulse weight / time between two pulses)."
    },
    {
      "address": 14018,
      "count": 2,
      "name": "Power or flow indicator, channel 10 input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Power or flow of the impulse counter on channel 10 input 1 (3600 x pulse weight / time between two pulses)."
    },
    {
      "address": 14020,
      "count": 2,
      "name": "Power or flow indicator, channel 11 input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Power or flow of the impulse counter on channel 11 input 1 (3600 x pulse weight / time between two pulses)."
    },
    {
      "address": 14022,
      "count": 2,
      "name": "Power or flow indicator, channel 1 input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14024,
      "count": 2,
      "name": "Power or flow indicator, channel 2 input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14026,
      "count": 2,
      "name": "Power or flow indicator, channel 3 input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14028,
      "count": 2,
      "name": "Power or flow indicator, channel 4 input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14030,
      "count": 2,
      "name": "Power or flow indicator, channel 5 input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14032,
      "count": 2,
      "name": "Power or flow indicator, channel 6 input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14034,
      "count": 2,
      "name": "Power or flow indicator, channel 7 input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14036,
      "count": 2,
      "name": "Power or flow indicator, channel 8 input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14038,
      "count": 2,
      "name": "Power or flow indicator, channel 9 input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14040,
      "count": 2,
      "name": "Power or flow indicator, channel 10 input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14042,
      "count": 2,
      "name": "Power or flow indicator, channel 11 input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14050,
      "count": 2,
      "name": "Consumption meter, channel 1 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Number of pulses of the meter on channel 1 input 1 multiplied by the pulse weight."
    },
    {
      "address": 14052,
      "count": 2,
      "name": "Consumption meter, channel 2 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Number of pulses of the meter on channel 2 input 1 multiplied by the pulse weight."
    },
    {
      "address": 14054,
      "count": 2,
      "name": "Consumption meter, channel 3 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Number of pulses of the meter on channel 3 input 1 multiplied by the pulse weight."
    },
    {
      "address": 14056,
      "count": 2,
      "name": "Consumption meter, channel 4 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Number of pulses of the meter on channel 4 input 1 multiplied by the pulse weight."
    },
    {
      "address": 14058,
      "count": 2,
      "name": "Consumption meter, channel 5 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Number of pulses of the meter on channel 5 input 1 multiplied by the pulse weight."
    },
    {
      "address": 14060,
      "count": 2,
      "name": "Consumption meter, channel 6 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Number of pulses of the meter on channel 6 input 1 multiplied by the pulse weight."
    },
    {
      "address": 14062,
      "count": 2,
      "name": "Consumption meter, channel 7 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Number of pulses of the meter on channel 7 input 1 multiplied by the pulse weight."
    },
    {
      "address": 14064,
      "count": 2,
      "name": "Consumption meter, channel 8 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Number of pulses of the meter on channel 8 input 1 multiplied by the pulse weight."
    },
    {
      "address": 14066,
      "count": 2,
      "name": "Consumption meter, channel 9 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Number of pulses of the meter on channel 9 input 1 multiplied by the pulse weight."
    },
    {
      "address": 14068,
      "count": 2,
      "name": "Consumption meter, channel 10 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Number of pulses of the meter on channel 10 input 1 multiplied by the pulse weight."
    },
    {
      "address": 14070,
      "count": 2,
      "name": "Consumption meter, channel 11 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Number of pulses of the meter on channel 11 input 1 multiplied by the pulse weight."
    },
    {
      "address": 14072,
      "count": 2,
      "name": "Consumption meter, channel 1 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14074,
      "count": 2,
      "name": "Consumption meter, channel 2 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14076,
      "count": 2,
      "name": "Consumption meter, channel 3 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14078,
      "count": 2,
      "name": "Consumption meter, channel 4 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14080,
      "count": 2,
      "name": "Consumption meter, channel 5 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14082,
      "count": 2,
      "name": "Consumption meter, channel 6 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14084,
      "count": 2,
      "name": "Consumption meter, channel 7 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14086,
      "count": 2,
      "name": "Consumption meter, channel 8 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14088,
      "count": 2,
      "name": "Consumption meter, channel 9 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14090,
      "count": 2,
      "name": "Consumption meter, channel 10 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14092,
      "count": 2,
      "name": "Consumption meter, channel 11 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14100,
      "count": 2,
      "name": "Operation counter, channel 1 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Number of changes of state of input 1 from 1 to 0."
    },
    {
      "address": 14102,
      "count": 2,
      "name": "Operation counter, channel 2 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Number of changes of state of input 1 from 1 to 0."
    },
    {
      "address": 14104,
      "count": 2,
      "name": "Operation counter, channel 3 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Number of changes of state of input 1 from 1 to 0."
    },
    {
      "address": 14106,
      "count": 2,
      "name": "Operation counter, channel 4 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Number of changes of state of input 1 from 1 to 0."
    },
    {
      "address": 14108,
      "count": 2,
      "name": "Operation counter, channel 5 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Number of changes of state of input 1 from 1 to 0."
    },
    {
      "address": 14110,
      "count": 2,
      "name": "Operation counter, channel 6 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Number of changes of state of input 1 from 1 to 0."
    },
    {
      "address": 14112,
      "count": 2,
      "name": "Operation counter, channel 7 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Number of changes of state of input 1 from 1 to 0."
    },
    {
      "address": 14114,
      "count": 2,
      "name": "Operation counter, channel 8 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Number of changes of state of input 1 from 1 to 0."
    },
    {
      "address": 14116,
      "count": 2,
      "name": "Operation counter, channel 9 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Number of changes of state of input 1 from 1 to 0."
    },
    {
      "address": 14118,
      "count": 2,
      "name": "Operation counter, channel 10 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Number of changes of state of input 1 from 1 to 0."
    },
    {
      "address": 14120,
      "count": 2,
      "name": "Operation counter, channel 11 input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Number of changes of state of input 1 from 1 to 0."
    },
    {
      "address": 14122,
      "count": 2,
      "name": "Operation counter, channel 1 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14124,
      "count": 2,
      "name": "Operation counter, channel 2 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14126,
      "count": 2,
      "name": "Operation counter, channel 3 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14128,
      "count": 2,
      "name": "Operation counter, channel 4 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14130,
      "count": 2,
      "name": "Operation counter, channel 5 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14132,
      "count": 2,
      "name": "Operation counter, channel 6 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14134,
      "count": 2,
      "name": "Operation counter, channel 7 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14136,
      "count": 2,
      "name": "Operation counter, channel 8 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14138,
      "count": 2,
      "name": "Operation counter, channel 9 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14140,
      "count": 2,
      "name": "Operation counter, channel 10 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14142,
      "count": 2,
      "name": "Operation counter, channel 11 input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14144,
      "count": 2,
      "name": "Running hours counter, channel 1 input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Counting starts when the input is activated."
    },
    {
      "address": 14146,
      "count": 2,
      "name": "Running hours counter, channel 2 input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Counting starts when the input is activated."
    },
    {
      "address": 14148,
      "count": 2,
      "name": "Running hours counter, channel 3 input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Counting starts when the input is activated."
    },
    {
      "address": 14150,
      "count": 2,
      "name": "Running hours counter, channel 4 input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Counting starts when the input is activated."
    },
    {
      "address": 14152,
      "count": 2,
      "name": "Running hours counter, channel 5 input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Counting starts when the input is activated."
    },
    {
      "address": 14154,
      "count": 2,
      "name": "Running hours counter, channel 6 input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Counting starts when the input is activated."
    },
    {
      "address": 14156,
      "count": 2,
      "name": "Running hours counter, channel 7 input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Counting starts when the input is activated."
    },
    {
      "address": 14158,
      "count": 2,
      "name": "Running hours counter, channel 8 input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Counting starts when the input is activated."
    },
    {
      "address": 14160,
      "count": 2,
      "name": "Running hours counter, channel 9 input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Counting starts when the input is activated."
    },
    {
      "address": 14162,
      "count": 2,
      "name": "Running hours counter, channel 10 input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Counting starts when the input is activated."
    },
    {
      "address": 14164,
      "count": 2,
      "name": "Running hours counter, channel 11 input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Counting starts when the input is activated."
    },
    {
      "address": 14200,
      "count": 1,
      "name": "Channel 1 status",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "Electrical status of inputs 1 and 2 of the device on channel 1: bit 0 = electrical level of input 1, bit 1 = electrical level of input 2 (0 = no current, 1 = input current); bits 2 to 15 are reserved. With an iOF+SD24 auxiliary, bit 0 = 1 means the circuit breaker is closed and bit 1 = 1 that the device is not tripped."
    },
    {
      "address": 14201,
      "count": 1,
      "name": "Channel 1 command word, Acti 9 product (outputs Q)",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Close and open order for a product in the Acti 9 range: bit 0 = close order, bit 1 = open order. The Smartlink clears the bit once the order is executed; if both bits are 1 the order has no effect."
    },
    {
      "address": 14202,
      "count": 1,
      "name": "Channel 1 command word, non-Acti 9 product (outputs Q)",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Deactivation and activation order for a product outside the Acti 9 range: bit 0 = deactivation, bit 1 = activation. The Smartlink clears the bit once the order is executed."
    },
    {
      "address": 14203,
      "count": 1,
      "name": "Channel 1 output Q state",
      "data_type": "Hex",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R",
      "description": "State of output Q of the device on channel 1: bit 0 = 0 output inactive, bit 1 output active."
    },
    {
      "address": 14204,
      "count": 2,
      "name": "Channel 1 power or flow indicator, input I1",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14206,
      "count": 2,
      "name": "Channel 1 power or flow indicator, input I2",
      "data_type": "Float32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14208,
      "count": 2,
      "name": "Channel 1 consumption meter, input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14210,
      "count": 2,
      "name": "Channel 1 consumption meter, input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "R"
    },
    {
      "address": 14212,
      "count": 2,
      "name": "Channel 1 operation counter, input I1",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14214,
      "count": 2,
      "name": "Channel 1 operation counter, input I2",
      "data_type": "UInt32",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14216,
      "count": 2,
      "name": "Channel 1 running hours counter, input I1",
      "data_type": "UInt32",
      "units": "h",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW"
    },
    {
      "address": 14230,
      "count": 1,
      "name": "Channel 1 pulse weight, input I1",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Pulse weight of the meter on input 1; factory setting 10."
    },
    {
      "address": 14231,
      "count": 1,
      "name": "Channel 1 pulse weight, input I2",
      "data_type": "UInt16",
      "units": "",
      "scale_factor": 1,
      "offset": 0,
      "access": "RW",
      "description": "Factory setting 10. The pulse weight for the other channels is at 14230 + 40 x (N - 1) and 14231 + 40 x (N - 1)."
    }
  ],
  "combined_registers": [],
  "notes": "Addresses are the decimal Modbus addresses of Schneider's Acti 9 Smartlink Modbus communication system user manual DOCA0004EN; the manual notes that the protocol addresses start at 0 and that the data-model address is the address + 1. The Smartlink collects up to 11 channels of Acti 9 devices (iOF/SD24, iACT24, iATL24, RCA iC60, Reflex iC60, iEM2000T or iEM3000 meters, contactors, impulse relays) and publishes their status, commands, power or flow indicators, consumption meters and counters in one compact map: the summary block from 14000 gives one value per channel, and each channel also has a 40-register detail block starting at 14200 + 40 x (channel - 1). The detail registers of channel 1 are listed here; channels 2 to 11 use the same layout with a +40 offset per channel. DATE registers (date and time of the operation counters, 14218-14229) are 4-register TI081 date-time values, which this format cannot express, so they are not listed. The Acti 9 Smartlink is an RS-485 device; the factory serial settings are 19200 bps, 8E1 and slave address 1 (set by the two rotary switches)."
}
