{
    "rtype": 0, // 0 = modbus, 1 = http/json
    "mtype": 1,   // 0 = other, 1 = meter, 2 = inverter, 4 = battery
    
    "name": "Hager ECAxxx/ECRxxx Modbus",   // as displayed in the config dialog
    "manufacturer": "Hager",
    "dev_type": "hager_eca_ecr",   // will be prefixed by "meter_"

    // modbus parameters
    "rtu": {
        "silence_period": 50,    // msec
        "silence_same_slave": false,
        "retries": 4,
        "rcv_timeout": 120       // msec
    },
    "modbus_read": 3,            // function code to read registers
    "modbus_read_max_registers": 96, 
    "modbus_write": 6,           // function code to write register(s)
    "modbus_write_max_registers": 64,

    // values used to build the model string: type_designation,version,firmware_version,serial
    "type_designation": {
        "address": 4112,
        "type": "string",
        "length": 16
    },
    "version": {
        "address": 4194,
        "type": "int32",
        "length": 3
    },
    "firmware_version": {
        "address": 4128,
        "type": "int32",
        "length": 3
    },
    "serial": {
        "address": 4196,
        "type": "string",
        "length": 16
    },
    
    "reserved": [0xffff, 0x7fffffff, 0xffffffff],

    // instantaneous values
    "voltage_l1": {
        "address": 45056,
        "type": "int16",
        "resolution": 0.01
    },
    "voltage_l2": {
        "address": 45057,
        "type": "int16",
        "resolution": 0.01
    },
    "voltage_l3": {
        "address": 45058,
        "type": "int16",
        "resolution": 0.01
    },
    "current_l1": {
        "address": 45065,
        "type": "int32"
    },
    "current_l2": {
        "address": 45067,
        "type": "int32"
    },
    "current_l3": {
        "address": 45069,
        "type": "int32"
    },
    "power_w_l1": {
        "address": 45081,
        "type": "int32",
        "resolution": 10
    },
    "power_w_l2": {
        "address": 45083,
        "type": "int32",
        "resolution": 10
    },
    "power_w_l2": {
        "address": 45085,
        "type": "int32",
        "resolution": 10
    },
    "power_w": {
       "expr": "power_w_l1+power_w_l2+power_w_l3"
    },
    "power_va": {
        "address": 45077,
        "type": "int32",
        "resolution": 10
    },
    "import_wh": {
        "address": 45152,
        "type": "int32"
    },
    "export_wh": {
        "address": 45156,
        "type": "int32"
    },

    // inputs, modbus only
    "inputs": [
     ]
 }
 