{
    "amps": [
{
            "vendor": "Anthem",
            "model":"IDMSTR IA",
            "baudRate": 115200,
            "parity": "none",
            "dataBits": 8,
            "stopBits": 1,
            "rtscts": false,
            "xon": false,
            "xoff": false,
            "xany": false,
             "sources": ["Coax1","Coax2","Opt1","Opt2","AES","USB","RCA1","RCA2","RCA3","RCA4","PhonoMM","PhonoMC","XLR","XLRARC","Rasp1"],
            "sourceCmd": ["Z1INP01;","Z1INP02;","Z1INP03;","Z1INP04;","Z1INP05;","Z1INP06;","Z1INP07;","Z1INP08;","Z1INP09;","Z1INP10;","Z1INP11;","Z1INP12;","Z1INP13;","Z1INP14;","Z1INP15;"],
            "sourceRespPostfix": ["01","02","03","04","05","06","07","08","09","10","11","12","13","14","15"],
            "delimiter": ";",
            "commands": {
                    "powerOn": "Z1POW1;",
                    "powerToggle": "Z1POW0;",
                    "volUp": "Z1VUP00.5;",
                    "volDown": "Z1VDN00.5;",
                    "volValue": "Z1VOL##.0;",
                    "mute": "Z1MUTt;",
                    "muteOn": "Z1MUT1;",
                    "muteOff": "Z1MUT0;"
                },
            "responses": [
                {"rx": "Z1POW1", "cmd": ["respPowerOn"]},
                {"rx": "Z1POW0", "cmd": ["respPowerOff"]},
                {"rx": "Z1VOL(-[0-9]{2}).([0-5]{1})", "cmd": ["respVolume"]},
                {"rx": "Z1MUT1", "cmd": ["respMuteOn"]},
                {"rx": "Z1MUT0", "cmd": ["respMuteOff"]},
                {"rx": "Z1INP([0-9]{1,2})", "cmd": ["respSource"]}
            ],
            "statusRequests": {
                    "reqPower":"Z1POW?;",
                    "reqSource":"Z1INP?;",
                    "reqVolume":"Z1VOL?;",
                    "reqMute":"Z1MUT?;",
                    "reqModel":"IDM?;"
                }
        },
        {
            "vendor": "Rotel",
            "model":"A12",
            "baudRate": 115200,
            "parity": "none",
            "dataBits": 8,
            "stopBits": 1,
            "rtscts": false,
            "xon": false,
            "xoff": false,
            "xany": false,
            "sources": ["CD","Coax1","Coax2","Opt1","Opt2","Aux1","Aux2","Tuner","Phono","USB","Bluetooth","PC-USB"],
            "sourceCmd": ["cd!","coax1!","coax2!","opt1!","opt2!","aux1!","aux2!","tuner!","phono!","usb!","bluetooth!","pcusb!"],
            "sourceRespPostfix": ["cd","coax1","coax2","opt1","opt2","aux1","aux2","tuner","phono","usb","bluetooth","pc_usb"],
            "delimiter": "$",
            "commands": {
                    "powerOn": "power_on!",
                    "powerToggle": "power_toggle!",
                    "volUp": "vol_up!",
                    "volDown": "vol_dwn!",
                    "volValue": "vol_##!",
                    "mute": "mute!",
                    "muteOn": "mute_on!",
                    "muteOff": "mute_off!"
                },
            "responses": [
                {"rx": "power=on", "cmd": ["respPowerOn"]},
                {"rx": "power=standby", "cmd": ["respPowerOff"]},
                {"rx": "volume=([0-9]{2})", "cmd": ["respVolume"]},
                {"rx": "mute=on", "cmd": ["respMuteOn"]},
                {"rx": "mute=off", "cmd": ["respMuteOff"]},
                {"rx": "source=([a-z_12]*)", "cmd": ["respSource"]}
            ],
            "statusRequests": {
                    "reqPower":"power?",
                    "reqSource":"source?",
                    "reqVolume":"volume?",
                    "reqMute":"mute?",
                    "reqModel":"model?"
                }
        },
        {
            "vendor": "Rotel",
            "model":"A14",
            "baudRate": 115200,
            "parity": "none",
            "dataBits": 8,
            "stopBits": 1,
            "rtscts": false,
            "xon": false,
            "xoff": false,
            "xany": false,
            "sources": ["CD","Coax1","Coax2","Opt1","Opt2","Aux1","Aux2","Tuner","Phono","USB","Bluetooth","PC-USB"],
            "sourceCmd": ["cd!","coax1!","coax2!","opt1!","opt2!","aux1!","aux2!","tuner!","phono!","usb!","bluetooth!","pcusb!"],
            "sourceRespPostfix": ["cd","coax1","coax2","opt1","opt2","aux1","aux2","tuner","phono","usb","bluetooth","pc_usb"],
            "delimiter": "$",
            "commands": {
                "powerOn": "power_on!",
                "powerToggle": "power_toggle!",
                "volUp": "vol_up!",
                "volDown": "vol_dwn!",
                "volValue": "vol_##!",
                "mute": "mute!",
                "muteOn": "mute_on!",
                "muteOff": "mute_off!"
            },
            "responses": [
                {"rx": "power=on", "cmd": ["respPowerOn"]},
                {"rx": "power=standby", "cmd": ["respPowerOff"]},
                {"rx": "volume=([0-9]{2})", "cmd": ["respVolume"]},
                {"rx": "mute=on", "cmd": ["respMuteOn"]},
                {"rx": "mute=off", "cmd": ["respMuteOff"]},
                {"rx": "source=([a-z_12]*)", "cmd": ["respSource"]}
            ],
            "statusRequests": {
                "reqPower":"power?",
                "reqSource":"source?",
                "reqVolume":"volume?",
                "reqMute":"mute?",
                "reqModel":"model?"
            }
        },
        {
            "vendor": "Rotel",
            "model":"A11",
            "baudRate": 115200,
            "parity": "none",
            "dataBits": 8,
            "stopBits": 1,
            "rtscts": false,
            "xon": false,
            "xoff": false,
            "xany": false,
            "sources": ["CD","Aux1","Tuner","Phono","Bluetooth"],
            "sourceCmd": ["cd!","aux1!","tuner!","phono!","bluetooth!"],
            "sourceRespPostfix": ["cd","aux1","tuner","phono","bluetooth"],
            "delimiter": "$",
            "commands": {
                "powerOn": "power_on!",
                "powerToggle": "power_toggle!",
                "volUp": "vol_up!",
                "volDown": "vol_dwn!",
                "volValue": "vol_##!",
                "mute": "mute!",
                "muteOn": "mute_on!",
                "muteOff": "mute_off!"
            },
            "responses": [
                {"rx": "power=on", "cmd": ["respPowerOn"]},
                {"rx": "power=standby", "cmd": ["respPowerOff"]},
                {"rx": "volume=([0-9]{2})", "cmd": ["respVolume"]},
                {"rx": "mute=on", "cmd": ["respMuteOn"]},
                {"rx": "mute=off", "cmd": ["respMuteOff"]},
                {"rx": "source=([a-z_12]*)", "cmd": ["respSource"]}
            ],
            "statusRequests": {
                "reqPower":"power?",
                "reqSource":"source?",
                "reqVolume":"volume?",
                "reqMute":"mute?",
                "reqModel":"model?"
            }
        },
        {
            "vendor": "Meridian",
            "model":"DSP420",
            "baudRate": 9600,
            "parity": "none",
            "dataBits": 8,
            "stopBits": 1,
            "rtscts": false,
            "xon": false,
            "xoff": false,
            "xany": false,
            "sources": ["CD","Radio","LP","TV","Tape 1","Tape 2","CDR","Cable","DVD","VCR 1", "VCR 2", "Laser Disc"],
            "sourceCmd": ["CD","RD","LP","TV","T1","T2","CR","CB","DV","V1","V2","LD"],
            "sourceRespPostfix": ["CD","Radio","LP","TV","Tape1","Tape2","CDR","Cable","DVD","VCR1","VCR2","LDisc"],
            "delimiter": "\r\n",
            "commands": {
                "powerToggle": "SB",
                "volUp": "VP",
                "volDown": "VM",
                "volValue": "VN##!",
                "mute": "MU"
            },
            "responses": [
                {"rx": "([A-Za-z0-9]{2,5}) *([0-9]{1,2})", "cmd": ["respSource","respVolume", "respMuteOff"]},
                {"rx": "Mute", "cmd": ["respMuteOn"]},
                {"rx": "Standby", "cmd": ["respPowerOff"]}
            ],
            "statusRequests": {
            }
        }

      ]
}
