{
    "rtype": 0,   // 0 = modbus, 1 = http/json
    "mtype": 2,   // 0 = other, 1 = meter, 2 = inverter, 4 = battery

    "name": "SMA Inv Hyb",   // as displayed in the config dialog
    "manufacturer": "SMA",
    "dev_type": "sma_inv_hyb",   // will be prefixed by "meter_"

    "upd_delay": 8000,          // minimum interval between updates in msec
    // 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": 16,          // function code to write register(s)
    "modbus_write_max_registers": 64,

    // values used to build the model string
    "type_designation": {
        "address": 30053,
        "type": "int32",   // a device ID
        "reserved": [0x7fffffff, 0xffffffff],
        "order": "hl"
    },
    "version": {
        "address": 0,
        "type": "string",
        "fixed": "1.0"
    },
    "firmware_version": {
        "address": 30059,
        "type": "int32",
        "length": 4,
        "reserved": [0x7fffffff, 0xffffffff],
        "order": "hl"
    },
    "serial": {
        "address": 30057,
        "type": "int32",
        "reserved": [0x7fffffff, 0xffffffff],
        "order": "hl"
    },
    
    // instantaneous values
    "voltage_l1": {
        "address": 30783,
        "type": "int32",
        "reserved": [0x7fffffff, 0xffffffff],
        "order": "hl",
        "resolution": 0.01   // result in V
    },
    "voltage_l2": {
        "address": 30785,
        "type": "int32",
        "reserved": [0x7fffffff, 0xffffffff],
        "order": "hl",
        "resolution": 0.01   // result in V
    },
    "voltage_l3": {
        "address": 30787,
        "type": "int32",
        "reserved": [0x7fffffff, 0xffffffff],
        "order": "hl",
        "resolution": 0.01   // result in V
    },
    "current_l1": {
        "address": 30977,
        "type": "int32",
        "reserved": [0x7fffffff, 0x80000000, 0xffffffff],
        "order": "hl",
        "resolution": 1.0   // result in mA
    },
    "current_l2": {
        "address": 30979,
        "type": "int32",
        "reserved": [0x7fffffff, 0x80000000, 0xffffffff],
        "order": "hl",
        "resolution": 1.0   // result in mA

    },
    "current_l3": {
        "address": 30981,
        "type": "int32",
        "reserved": [0x7fffffff, 0x80000000, 0xffffffff],
        "order": "hl",
        "resolution": 1.0   // result in mA
    },
    "power_w1": {
        "address": 30773,
        "type": "int32",
        "reserved": [0x7fffffff, 0x80000000, 0xffffffff],
        "order": "hl",
        "resolution": 1.0   // result in W
    },
"power_w2": {
        "address": 30961,
        "type": "int32",
        "reserved": [0x7fffffff, 0x80000000, 0xffffffff],
        "order": "hl",
        "resolution": 1.0   // result in W
    },
"power_w": {
        "expr": "power_w1 + power_w2"
    },

    "*temp": {
        "address": 30953,
        "type": "int32",
        "reserved": [0x7fffffff, 0x80000000, 0xffffffff],
        "order": "hl",
        "resolution": 0.1   // result in C
    },

    // accumulated values
    "import_wh": {
        "address": 30513,
        "type": "int64",
        "reserved": [0x7fffffffffffffff, 0xffffffffffffffff],
        "order": "hl",
        "resolution": 1.0   // result in Wh
    },

    // inputs
    "inputs": [
     ]
 }
 