{
    "pluginAlias": "Onkyo",
    "pluginType": "platform",
    "singular": true,
    "headerDisplay": "Onkyo-like receiver as a HomeKit TV.",
    "footerDisplay": "https://github.com/solowalker27/homebridge-onkyo",
    "schema": {
        "type": "object",
        "required": [
            "receivers"
        ],
        "properties": {
            "receivers": {
                "type": "array",
                "title": "Receivers",
                "descrpition": "List of receivers and/or receiver Zones to add to HomeKit.",
                "items": {
                    "type": "object",
                    "title": "Receiver or Receiver Zone",
                    "description": "Receiver or receiver Zone to add to HomeKit.",
                    "required": [
                        "name",
                        "ip_address",
                        "model"
                    ],
                    "properties": {
                        "name": {
                            "type": "string",
                            "title": "Device Name",
                            "default": "Receiver",
                            "description": "Name of the receiver as it will appear in HomeKit."
                        },
                        "model": {
                            "type": "string",
                            "title": "Receiver Model Number",
                            "default": "TX-NR515",
                            "description": "Receiver model number (or closest to it).",
                            "oneOf": [
                                {
                                    "title": "Model", 
                                    "enum": [
                                    "/515AE(Ether)",
                                    "/515AE",
                                    "/616AE(Ether)",
                                    "/616AE",
                                    "/818AE",
                                    "DHC-40.1",
                                    "DHC-40.2",
                                    "DHC-60.5",
                                    "DHC-60.7",
                                    "DHC-80.1",
                                    "DHC-80.2",
                                    "DHC-80.3",
                                    "DHC-80.6",
                                    "DHC-9.9",
                                    "DRC-R1",
                                    "DRX-2",
                                    "DRX-2.1",
                                    "DRX-3",
                                    "DRX-3.1",
                                    "DRX-4",
                                    "DRX-4.1",
                                    "DRX-5",
                                    "DRX-5.1",
                                    "DRX-7",
                                    "DRX-R1",
                                    "DTC-7",
                                    "DTC-9.1",
                                    "DTC-9.4",
                                    "DTC-9.8",
                                    "DTM-7",
                                    "DTR-10.5",
                                    "DTR-20.1",
                                    "DTR-20.2",
                                    "DTR-20.3",
                                    "DTR-20.4",
                                    "DTR-20.7",
                                    "DTR-30.1",
                                    "DTR-30.2",
                                    "DTR-30.3",
                                    "DTR-30.4",
                                    "DTR-30.5",
                                    "DTR-30.6",
                                    "DTR-30.7",
                                    "DTR-4.5",
                                    "DTR-4.6",
                                    "DTR-4.9",
                                    "DTR-40.1",
                                    "DTR-40.2",
                                    "DTR-40.3",
                                    "DTR-40.4",
                                    "DTR-40.5",
                                    "DTR-40.6",
                                    "DTR-40.7",
                                    "DTR-5.2",
                                    "DTR-5.3",
                                    "DTR-5.4",
                                    "DTR-5.5",
                                    "DTR-5.6",
                                    "DTR-5.8",
                                    "DTR-5.9",
                                    "DTR-50.1",
                                    "DTR-50.2",
                                    "DTR-50.3",
                                    "DTR-50.4",
                                    "DTR-50.5",
                                    "DTR-50.6",
                                    "DTR-50.7",
                                    "DTR-6.2",
                                    "DTR-6.3",
                                    "DTR-6.4",
                                    "DTR-6.5",
                                    "DTR-6.6",
                                    "DTR-6.8",
                                    "DTR-6.9",
                                    "DTR-60.5",
                                    "DTR-60.6",
                                    "DTR-60.7",
                                    "DTR-7.1",
                                    "DTR-7.2",
                                    "DTR-7.3",
                                    "DTR-7.4",
                                    "DTR-7.6",
                                    "DTR-7.7",
                                    "DTR-7.8",
                                    "DTR-7.9",
                                    "DTR-70.1",
                                    "DTR-70.2",
                                    "DTR-70.3",
                                    "DTR-70.4",
                                    "DTR-70.6",
                                    "DTR-8.2",
                                    "DTR-8.3",
                                    "DTR-8.4",
                                    "DTR-8.8",
                                    "DTR-8.9",
                                    "DTR-80.1",
                                    "DTR-80.2",
                                    "DTR-80.3",
                                    "DTR-9.1",
                                    "DTR-9.9",
                                    "DTX-5.8",
                                    "DTX-5.9",
                                    "DTX-7",
                                    "DTX-7.7",
                                    "DTX-7.8",
                                    "DTX-8.8",
                                    "DTX-8.9",
                                    "DTX-9.9",
                                    "ETX-NA1000",
                                    "HT-R693(Ether)",
                                    "HT-R993(Ether)",
                                    "HT-RC550(Ether)",
                                    "HT-RC560(Ether)",
                                    "HT-R693",
                                    "HT-R993",
                                    "HT-RC550",
                                    "HT-RC560",
                                    "HT-RC660",
                                    "NR-365(Ether)",
                                    "NR-365",
                                    "PR-RZ5100",
                                    "PR-SC5507",
                                    "PR-SC5508",
                                    "PR-SC5509",
                                    "PR-SC5530",
                                    "PR-SC885",
                                    "PR-SC886",
                                    "RDC-7",
                                    "RDC-7(Ver2.0)",
                                    "RDC-7.1",
                                    "TX-8270(Ether)",
                                    "TX-8270",
                                    "TX-DS787",
                                    "TX-DS797",
                                    "TX-DS898",
                                    "TX-DS989",
                                    "TX-NA900",
                                    "TX-NA905",
                                    "TX-NA906",
                                    "TX-NA906X",
                                    "TX-NR1000",
                                    "TX-NR1007",
                                    "TX-NR1008",
                                    "TX-NR1009",
                                    "TX-NR1010",
                                    "TX-NR1030",
                                    "TX-NR3007",
                                    "TX-NR3008",
                                    "TX-NR3009",
                                    "TX-NR3010",
                                    "TX-NR3030",
                                    "TX-NR414(Ether)",
                                    "TX-NR474(Ether)",
                                    "TX-NR414",
                                    "TX-NR474",
                                    "TX-NR5000",
                                    "TX-NR5007",
                                    "TX-NR5008",
                                    "TX-NR5009",
                                    "TX-NR5010",
                                    "TX-NR509(Ether)",
                                    "TX-NR509",
                                    "TX-NR515",
                                    "TX-NR525",
                                    "TX-NR535(Ether)",
                                    "TX-NR545(Ether)",
                                    "TX-NR555(Ether)",
                                    "TX-NR575(Ether)",
                                    "TX-NR575DAB(Ether)",
                                    "TX-NR575E(Ether)",
                                    "TX-NR579(Ether)",
                                    "TX-NR609(Ether)",
                                    "TX-NR535",
                                    "TX-NR545",
                                    "TX-NR555",
                                    "TX-NR575",
                                    "TX-NR575DAB",
                                    "TX-NR575E",
                                    "TX-NR579",
                                    "TX-NR609",
                                    "TX-NR616",
                                    "TX-NR626",
                                    "TX-NR636",
                                    "TX-NR646(Ether)",
                                    "TX-NR656(Ether)",
                                    "TX-NR676(Ether)",
                                    "TX-NR676E(Ether)",
                                    "TX-NR646",
                                    "TX-NR656",
                                    "TX-NR676",
                                    "TX-NR676E",
                                    "TX-NR708",
                                    "TX-NR709",
                                    "TX-NR717(Ether)",
                                    "TX-NR727(Ether)",
                                    "TX-NR737(Ether)",
                                    "TX-NR747(Ether)",
                                    "TX-NR717",
                                    "TX-NR727",
                                    "TX-NR737",
                                    "TX-NR747",
                                    "TX-NR757",
                                    "TX-NR777",
                                    "TX-NR807",
                                    "TX-NR808",
                                    "TX-NR809",
                                    "TX-NR818",
                                    "TX-NR828(Ether)",
                                    "TX-NR838(Ether)",
                                    "TX-NR828",
                                    "TX-NR838",
                                    "TX-NR900",
                                    "TX-NR901",
                                    "TX-NR905",
                                    "TX-NR906",
                                    "TX-NR929",
                                    "TX-RZ1100",
                                    "TX-RZ3100",
                                    "TX-RZ610",
                                    "TX-RZ620",
                                    "TX-RZ710",
                                    "TX-RZ720",
                                    "TX-RZ800",
                                    "TX-RZ810",
                                    "TX-RZ820",
                                    "TX-RZ900",
                                    "TX-SA706",
                                    "TX-SA706X",
                                    "TX-SA805",
                                    "TX-SA806",
                                    "TX-SA806X",
                                    "TX-SA875",
                                    "TX-SA876",
                                    "TX-SR702",
                                    "TX-SR703",
                                    "TX-SR705",
                                    "TX-SR706",
                                    "TX-SR707",
                                    "TX-SR803",
                                    "TX-SR804",
                                    "TX-SR805",
                                    "TX-SR806",
                                    "TX-SR875",
                                    "TX-SR876"
                                    ]
                                }
                            ]
                        },
                        "ip_address": {
                            "type": "string",
                            "title": "IP Address of Receiver",
                            "default": "10.0.0.46",
                            "description": "IP address of receiver. NOTE: Reserved address strongly recommended."
                        },
                        "inputs": {
                            "type": "array",
                            "title": "Inputs",
                            "description": "List of inputs to expose in HomeKit and what they should be called.",
                            "items": {
                                "type": "object",
                                "title": "Inputs",
                                "description": "'input_name' and 'display_name' pair where 'input_name' is the input according to the receiver and 'display_name' is how it will be listed in HomeKit.",
                                "required": [
                                    "input_name",
                                    "display_name"
                                ],
                                "properties": {
                                    "input_name": {
                                        "type": "string",
                                        "title": "Receiver Input",
                                        "description": "Input according to the receiver.",
                                        "oneOf": [
                                            {"enum": [
                                                "07",
                                                "08",
                                                "09",
                                                "am",
                                                "aux1",
                                                "aux2",
                                                "bd",
                                                "cbl",
                                                "cd",
                                                "dlna",
                                                "dvd",
                                                "dvr",
                                                "fm",
                                                "game",
                                                "hidden1",
                                                "hidden2",
                                                "hidden3",
                                                "internet-radio",
                                                "iradio-favorite",
                                                "multi-ch",
                                                "music-server",
                                                "net",
                                                "network",
                                                "off",
                                                "p4s",
                                                "pc",
                                                "phono",
                                                "sat",
                                                "sirius",
                                                "source",
                                                "tape",
                                                "tape-1",
                                                "tape2",
                                                "tuner",
                                                "tv",
                                                "universal-port",
                                                "usb",
                                                "vcr",
                                                "video1",
                                                "video2",
                                                "video3",
                                                "video4",
                                                "video5",
                                                "video6",
                                                "video7",
                                                "xm"
                                            ]}
                                        ]
                                    },
                                    "display_name": {
                                        "type": "string",
                                        "title": "Display name for HomeKit",
                                        "description": "How the input will appear in HomeKit."
                                    }
                                }
                            }
                        },
                        "default_input": {
                            "type": "string",
                            "title": "Default Input",
                            "description": "Always set to this input when powering on receiver.",
                            "oneOf": [
                                {
                                    "enum": [
                                        "07",
                                        "08",
                                        "09",
                                        "am",
                                        "aux1",
                                        "aux2",
                                        "bd",
                                        "cbl",
                                        "cd",
                                        "dlna",
                                        "dvd",
                                        "dvr",
                                        "fm",
                                        "game",
                                        "hidden1",
                                        "hidden2",
                                        "hidden3",
                                        "internet-radio",
                                        "iradio-favorite",
                                        "multi-ch",
                                        "music-server",
                                        "net",
                                        "network",
                                        "off",
                                        "p4s",
                                        "pc",
                                        "phono",
                                        "sat",
                                        "sirius",
                                        "source",
                                        "tape",
                                        "tape-1",
                                        "tape2",
                                        "tuner",
                                        "tv",
                                        "universal-port",
                                        "usb",
                                        "vcr",
                                        "video1",
                                        "video2",
                                        "video3",
                                        "video4",
                                        "video5",
                                        "video6",
                                        "video7",
                                        "xm"
                                    ]
                                }
                            ]
                        },
                        "filter_inputs": {
                            "type": "boolean",
                            "title": "Filter Inputs",
                            "description": "Whether or not to limit exposed inputs to the provided mapping. If true, no other inputs will be exposed.",
                            "default": true
                        },
                        "default_volume": {
                            "type": "integer",
                            "title": "Default Volume",
                            "description": "Always set volume to this number when powering on receiver."
                        },
                        "max_volume": {
                            "type": "integer",
                            "title": "Max Volume",
                            "description": "Limit volume of receiver to this number when controlling in HomeKit.",
                            "default": 30
                        },
                        "volume_type": {
                            "type": "string",
                            "default": "none",
                            "title": "Show Volume as a Light Dimmer or as a Fan Speed",
                            "description": "Whether or not to show receiver volume as a linked light dimmer or as a fan speed. Convenient for quick volume changes but Siri thinks it's a light or fan source.",
                            "oneOf": [
                              { "title": "Light Dimmer", "enum": ["dimmer"] },
                              { "title": "Fan Speed", "enum": ["speed"] },
                              { "title": "None", "enum": ["none"] }
                            ],
                            "required": true
                        },
                        "map_volume_100": {
                            "type": "boolean",
                            "title": "Map Max Volume to 100%",
                            "description": "Maps volume level to the given max volume value as a percentage with 100% being max volume. Useful in conjunction with the volume dimmer. Example: Max Volume is set to 60 with Map Max Volume to 100% enabled. At 100% 'brightness', volume will be 60, 50% 'brightness' will be 30, etc."
                        },
                        "poll_status_interval": {
                            "type": "string",
                            "title": "Poll Status Interval",
                            "description": "Interval in milliseconds at which to poll for status of receiver."
                        },
                        "zone": {
                            "type": "string",
                            "title": "Zone",
                            "description": "Which receier Zone to control.",
                            "oneOf": [
                                {
                                    "enum": ["main", "zone2", "zone3", "zone4"]
                                }
                            ],
                            "default": "main"
                        },
                        "additionalProperties": false
                    }
                }
            }
        },
        "additionalProperties": false
    }
}
