{
    "className": "WaveshareRelayD8",
    "protocol": "RTU",
    "endianness": "BigEndian",
    "errorLimitUntilNotReachable": 10,
    "checkReachableRegister": "relay1",
    "registers": [],
    "blocks": [
        {
            "id": "relayStates",
            "readSchedule": "update",
            "registers": [
                {
                    "id": "relay1",
                    "address": 0,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "coils",
                    "description": "Relay 1",
                    "defaultValue": "0",
                    "access": "RW"
                },
                {
                    "id": "relay2",
                    "address": 1,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "coils",
                    "description": "Relay 2",
                    "defaultValue": "0",
                    "access": "RW"
                },
                {
                    "id": "relay3",
                    "address": 2,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "coils",
                    "description": "Relay 3",
                    "defaultValue": "0",
                    "access": "RW"
                },
                {
                    "id": "relay4",
                    "address": 3,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "coils",
                    "description": "Relay 4",
                    "defaultValue": "0",
                    "access": "RW"
                },
                {
                    "id": "relay5",
                    "address": 4,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "coils",
                    "description": "Relay 5",
                    "defaultValue": "0",
                    "access": "RW"
                },
                {
                    "id": "relay6",
                    "address": 5,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "coils",
                    "description": "Relay 6",
                    "defaultValue": "0",
                    "access": "RW"
                },
                {
                    "id": "relay7",
                    "address": 6,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "coils",
                    "description": "Relay 7",
                    "defaultValue": "0",
                    "access": "RW"
                },
                {
                    "id": "relay8",
                    "address": 7,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "coils",
                    "description": "Relay 8",
                    "defaultValue": "0",
                    "access": "RW"
                }
            ]
        },
        {
            "id": "inputStates",
            "readSchedule": "update",
            "registers": [
                {
                    "id": "input1",
                    "address": 0,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "discreteInputs",
                    "description": "Opto input 1",
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "input2",
                    "address": 1,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "discreteInputs",
                    "description": "Opto input 2",
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "input3",
                    "address": 2,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "discreteInputs",
                    "description": "Opto input 3",
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "input4",
                    "address": 3,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "discreteInputs",
                    "description": "Opto input 4",
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "input5",
                    "address": 4,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "discreteInputs",
                    "description": "Opto input 5",
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "input6",
                    "address": 5,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "discreteInputs",
                    "description": "Opto input 6",
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "input7",
                    "address": 6,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "discreteInputs",
                    "description": "Opto input 7",
                    "defaultValue": "0",
                    "access": "RO"
                },
                {
                    "id": "input8",
                    "address": 7,
                    "size": 1,
                    "type": "uint16",
                    "registerType": "discreteInputs",
                    "description": "Opto input 8",
                    "defaultValue": "0",
                    "access": "RO"
                }
            ]
        }
    ]
}
