homebridge-generic-avr
Version:
Homebridge plugin for AV Receivers. Support Onyko, Denon AVR
563 lines (561 loc) • 35.6 kB
JSON
{
"pluginAlias": "GenericAvr",
"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": [
"vendor",
"name",
"ip_address",
"model"
],
"properties": {
"vendor" : {
"title": "AV Receiver Vendor",
"type": "string",
"default" : "Onkyo",
"oneOf" : [
{ "title" : "Onkyo", "enum":["Onkyo"]},
{ "title" : "Denon", "enum":["Denon"]}
],
"required" : true
},
"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-NR525",
"description": "Receiver model number (or closest to it).",
"typeahead": {
"source" : [
"Denon AVR-3312",
"Onkyo /515AE(Ether)",
"Onkyo /515AE",
"Onkyo /616AE(Ether)",
"Onkyo /616AE",
"Onkyo /818AE",
"Onkyo DHC-40.1",
"Onkyo DHC-40.2",
"Onkyo DHC-60.5",
"Onkyo DHC-60.7",
"Onkyo DHC-80.1",
"Onkyo DHC-80.2",
"Onkyo DHC-80.3",
"Onkyo DHC-80.6",
"Onkyo DHC-9.9",
"Onkyo DRC-R1",
"Onkyo DRX-2",
"Onkyo DRX-2.1",
"Onkyo DRX-3",
"Onkyo DRX-3.1",
"Onkyo DRX-4",
"Onkyo DRX-4.1",
"Onkyo DRX-5",
"Onkyo DRX-5.1",
"Onkyo DRX-7",
"Onkyo DRX-R1",
"Onkyo DTC-7",
"Onkyo DTC-9.1",
"Onkyo DTC-9.4",
"Onkyo DTC-9.8",
"Onkyo DTM-7",
"Onkyo DTR-10.5",
"Onkyo DTR-20.1",
"Onkyo DTR-20.2",
"Onkyo DTR-20.3",
"Onkyo DTR-20.4",
"Onkyo DTR-20.7",
"Onkyo DTR-30.1",
"Onkyo DTR-30.2",
"Onkyo DTR-30.3",
"Onkyo DTR-30.4",
"Onkyo DTR-30.5",
"Onkyo DTR-30.6",
"Onkyo DTR-30.7",
"Onkyo DTR-4.5",
"Onkyo DTR-4.6",
"Onkyo DTR-4.9",
"Onkyo DTR-40.1",
"Onkyo DTR-40.2",
"Onkyo DTR-40.3",
"Onkyo DTR-40.4",
"Onkyo DTR-40.5",
"Onkyo DTR-40.6",
"Onkyo DTR-40.7",
"Onkyo DTR-5.2",
"Onkyo DTR-5.3",
"Onkyo DTR-5.4",
"Onkyo DTR-5.5",
"Onkyo DTR-5.6",
"Onkyo DTR-5.8",
"Onkyo DTR-5.9",
"Onkyo DTR-50.1",
"Onkyo DTR-50.2",
"Onkyo DTR-50.3",
"Onkyo DTR-50.4",
"Onkyo DTR-50.5",
"Onkyo DTR-50.6",
"Onkyo DTR-50.7",
"Onkyo DTR-6.2",
"Onkyo DTR-6.3",
"Onkyo DTR-6.4",
"Onkyo DTR-6.5",
"Onkyo DTR-6.6",
"Onkyo DTR-6.8",
"Onkyo DTR-6.9",
"Onkyo DTR-60.5",
"Onkyo DTR-60.6",
"Onkyo DTR-60.7",
"Onkyo DTR-7.1",
"Onkyo DTR-7.2",
"Onkyo DTR-7.3",
"Onkyo DTR-7.4",
"Onkyo DTR-7.6",
"Onkyo DTR-7.7",
"Onkyo DTR-7.8",
"Onkyo DTR-7.9",
"Onkyo DTR-70.1",
"Onkyo DTR-70.2",
"Onkyo DTR-70.3",
"Onkyo DTR-70.4",
"Onkyo DTR-70.6",
"Onkyo DTR-8.2",
"Onkyo DTR-8.3",
"Onkyo DTR-8.4",
"Onkyo DTR-8.8",
"Onkyo DTR-8.9",
"Onkyo DTR-80.1",
"Onkyo DTR-80.2",
"Onkyo DTR-80.3",
"Onkyo DTR-9.1",
"Onkyo DTR-9.9",
"Onkyo DTX-5.8",
"Onkyo DTX-5.9",
"Onkyo DTX-7",
"Onkyo DTX-7.7",
"Onkyo DTX-7.8",
"Onkyo DTX-8.8",
"Onkyo DTX-8.9",
"Onkyo DTX-9.9",
"Onkyo ETX-NA1000",
"Onkyo HT-R693(Ether)",
"Onkyo HT-R993(Ether)",
"Onkyo HT-RC550(Ether)",
"Onkyo HT-RC560(Ether)",
"Onkyo HT-R693",
"Onkyo HT-R993",
"Onkyo HT-RC550",
"Onkyo HT-RC560",
"Onkyo HT-RC660",
"Onkyo NR-365(Ether)",
"Onkyo NR-365",
"Onkyo PR-RZ5100",
"Onkyo PR-SC5507",
"Onkyo PR-SC5508",
"Onkyo PR-SC5509",
"Onkyo PR-SC5530",
"Onkyo PR-SC885",
"Onkyo PR-SC886",
"Onkyo RDC-7",
"Onkyo RDC-7(Ver2.0)",
"Onkyo RDC-7.1",
"Onkyo TX-8270(Ether)",
"Onkyo TX-8270",
"Onkyo TX-DS787",
"Onkyo TX-DS797",
"Onkyo TX-DS898",
"Onkyo TX-DS989",
"Onkyo TX-NA900",
"Onkyo TX-NA905",
"Onkyo TX-NA906",
"Onkyo TX-NA906X",
"Onkyo TX-NR1000",
"Onkyo TX-NR1007",
"Onkyo TX-NR1008",
"Onkyo TX-NR1009",
"Onkyo TX-NR1010",
"Onkyo TX-NR1030",
"Onkyo TX-NR3007",
"Onkyo TX-NR3008",
"Onkyo TX-NR3009",
"Onkyo TX-NR3010",
"Onkyo TX-NR3030",
"Onkyo TX-NR414(Ether)",
"Onkyo TX-NR474(Ether)",
"Onkyo TX-NR414",
"Onkyo TX-NR474",
"Onkyo TX-NR5000",
"Onkyo TX-NR5007",
"Onkyo TX-NR5008",
"Onkyo TX-NR5009",
"Onkyo TX-NR5010",
"Onkyo TX-NR509(Ether)",
"Onkyo TX-NR509",
"Onkyo TX-NR515",
"Onkyo TX-NR525",
"Onkyo TX-NR535(Ether)",
"Onkyo TX-NR545(Ether)",
"Onkyo TX-NR555(Ether)",
"Onkyo TX-NR575(Ether)",
"Onkyo TX-NR575DAB(Ether)",
"Onkyo TX-NR575E(Ether)",
"Onkyo TX-NR579(Ether)",
"Onkyo TX-NR609(Ether)",
"Onkyo TX-NR535",
"Onkyo TX-NR545",
"Onkyo TX-NR555",
"Onkyo TX-NR575",
"Onkyo TX-NR575DAB",
"Onkyo TX-NR575E",
"Onkyo TX-NR579",
"Onkyo TX-NR609",
"Onkyo TX-NR616",
"Onkyo TX-NR626",
"Onkyo TX-NR636",
"Onkyo TX-NR646(Ether)",
"Onkyo TX-NR656(Ether)",
"Onkyo TX-NR676(Ether)",
"Onkyo TX-NR676E(Ether)",
"Onkyo TX-NR646",
"Onkyo TX-NR656",
"Onkyo TX-NR676",
"Onkyo TX-NR676E",
"Onkyo TX-NR708",
"Onkyo TX-NR709",
"Onkyo TX-NR717(Ether)",
"Onkyo TX-NR727(Ether)",
"Onkyo TX-NR737(Ether)",
"Onkyo TX-NR747(Ether)",
"Onkyo TX-NR717",
"Onkyo TX-NR727",
"Onkyo TX-NR737",
"Onkyo TX-NR747",
"Onkyo TX-NR757",
"Onkyo TX-NR777",
"Onkyo TX-NR807",
"Onkyo TX-NR808",
"Onkyo TX-NR809",
"Onkyo TX-NR818",
"Onkyo TX-NR828(Ether)",
"Onkyo TX-NR838(Ether)",
"Onkyo TX-NR828",
"Onkyo TX-NR838",
"Onkyo TX-NR900",
"Onkyo TX-NR901",
"Onkyo TX-NR905",
"Onkyo TX-NR906",
"Onkyo TX-NR929",
"Onkyo TX-RZ1100",
"Onkyo TX-RZ3100",
"Onkyo TX-RZ610",
"Onkyo TX-RZ620",
"Onkyo TX-RZ710",
"Onkyo TX-RZ720",
"Onkyo TX-RZ800",
"Onkyo TX-RZ810",
"Onkyo TX-RZ820",
"Onkyo TX-RZ900",
"Onkyo TX-SA706",
"Onkyo TX-SA706X",
"Onkyo TX-SA805",
"Onkyo TX-SA806",
"Onkyo TX-SA806X",
"Onkyo TX-SA875",
"Onkyo TX-SA876",
"Onkyo TX-SR702",
"Onkyo TX-SR703",
"Onkyo TX-SR705",
"Onkyo TX-SR706",
"Onkyo TX-SR707",
"Onkyo TX-SR803",
"Onkyo TX-SR804",
"Onkyo TX-SR805",
"Onkyo TX-SR806",
"Onkyo TX-SR875",
"Onkyo 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": [
{ "title" : "Denon - PHONO", "enum":["PHONO"]},
{ "title" : "Denon - CD", "enum":["CD"]},
{ "title" : "Denon - TUNER", "enum":["TUNER"]},
{ "title" : "Denon - DVD", "enum":["DVD"]},
{ "title" : "Denon - BD", "enum":["BD"]},
{ "title" : "Denon - TV", "enum":["TV"]},
{ "title" : "Denon - SAT/CBL", "enum":["SAT/CBL"]},
{ "title" : "Denon - CBL/SAT", "enum":["CBL/SAT"]},
{ "title" : "Denon - DVR", "enum":["DVR"]},
{ "title" : "Denon - GAME", "enum":["GAME"]},
{ "title" : "Denon - GAME2", "enum":["GAME2"]},
{ "title" : "Denon - V.AUX", "enum":["V.AUX"]},
{ "title" : "Denon - AUX1", "enum":["AUX1"]},
{ "title" : "Denon - MPLAY", "enum":["MPLAY"]},
{ "title" : "Denon - DOCK", "enum":["DOCK"]},
{ "title" : "Denon - HDRADIO", "enum":["HDRADIO"]},
{ "title" : "Denon - IPOD", "enum":["IPOD"]},
{ "title" : "Denon - NET/USB", "enum":["NET/USB"]},
{ "title" : "Denon - RHAPSODY", "enum":["RHAPSODY"]},
{ "title" : "Denon - RHAPSODY", "enum":["RHAPSODY"]},
{ "title" : "Denon - NAPSTER", "enum":["NAPSTER"]},
{ "title" : "Denon - PANDORA", "enum":["PANDORA"]},
{ "title" : "Denon - LASTFM", "enum":["LASTFM"]},
{ "title" : "Denon - FLICKR", "enum":["FLICKR"]},
{ "title" : "Denon - FAVORITES", "enum":["FAVORITES"]},
{ "title" : "Denon - IRADIO", "enum":["IRADIO"]},
{ "title" : "Denon - SERVER", "enum":["SERVER"]},
{ "title" : "Denon - USB/IPOD", "enum":["USB/IPOD"]},
{ "title" : "Denon - USB", "enum":["USB"]},
{ "title" : "Denon - IPD", "enum":["IPD"]},
{ "title" : "Denon - FVP", "enum":["FVP"]},
{ "title" : "Denon - IRP", "enum":["IRP"]},
{ "title" : "Denon - NETWORK", "enum":["NETWORK"]},
{ "title" : "Denon - SPOTIFY", "enum":["SPOTIFY"]},
{ "title" : "Onkyo - 07", "enum":["07"]},
{ "title" : "Onkyo - 08", "enum":["08"]},
{ "title" : "Onkyo - 09", "enum":["09"]},
{ "title" : "Onkyo - am", "enum":["am"]},
{ "title" : "Onkyo - aux1", "enum":["aux1"]},
{ "title" : "Onkyo - aux2", "enum":["aux2"]},
{ "title" : "Onkyo - bd", "enum":["bd"]},
{ "title" : "Onkyo - cbl", "enum":["cbl"]},
{ "title" : "Onkyo - cd", "enum":["cd"]},
{ "title" : "Onkyo - dlna", "enum":["dlna"]},
{ "title" : "Onkyo - dvd", "enum":["dvd"]},
{ "title" : "Onkyo - dvr", "enum":["dvr"]},
{ "title" : "Onkyo - fm", "enum":["fm"]},
{ "title" : "Onkyo - game", "enum":["game"]},
{ "title" : "Onkyo - hidden1", "enum":["hidden1"]},
{ "title" : "Onkyo - hidden2", "enum":["hidden2"]},
{ "title" : "Onkyo - hidden3", "enum":["hidden3"]},
{ "title" : "Onkyo - internet-radio", "enum":["internet-radio"]},
{ "title" : "Onkyo - iradio-favorite", "enum":["iradio-favorite"]},
{ "title" : "Onkyo - multi-ch", "enum":["multi-ch"]},
{ "title" : "Onkyo - music-server", "enum":["music-server"]},
{ "title" : "Onkyo - net", "enum":["net"]},
{ "title" : "Onkyo - network", "enum":["network"]},
{ "title" : "Onkyo - off", "enum":["off"]},
{ "title" : "Onkyo - p4s", "enum":["p4s"]},
{ "title" : "Onkyo - pc", "enum":["pc"]},
{ "title" : "Onkyo - phono", "enum":["phono"]},
{ "title" : "Onkyo - sat", "enum":["sat"]},
{ "title" : "Onkyo - sirius", "enum":["sirius"]},
{ "title" : "Onkyo - source", "enum":["source"]},
{ "title" : "Onkyo - tape", "enum":["tape"]},
{ "title" : "Onkyo - tape-1", "enum":["tape-1"]},
{ "title" : "Onkyo - tape2", "enum":["tape2"]},
{ "title" : "Onkyo - tuner", "enum":["tuner"]},
{ "title" : "Onkyo - tv", "enum":["tv"]},
{ "title" : "Onkyo - universal-port", "enum":["universal-port"]},
{ "title" : "Onkyo - usb", "enum":["usb"]},
{ "title" : "Onkyo - vcr", "enum":["vcr"]},
{ "title" : "Onkyo - video1", "enum":["video1"]},
{ "title" : "Onkyo - video2", "enum":["video2"]},
{ "title" : "Onkyo - video3", "enum":["video3"]},
{ "title" : "Onkyo - video4", "enum":["video4"]},
{ "title" : "Onkyo - video5", "enum":["video5"]},
{ "title" : "Onkyo - video6", "enum":["video6"]},
{ "title" : "Onkyo - video7", "enum":["video7"]},
{ "title" : "Onkyo - xm", "enum":["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": [
{ "title" : "Denon - PHONO", "enum":["PHONO"]},
{ "title" : "Denon - CD", "enum":["CD"]},
{ "title" : "Denon - TUNER", "enum":["TUNER"]},
{ "title" : "Denon - DVD", "enum":["DVD"]},
{ "title" : "Denon - BD", "enum":["BD"]},
{ "title" : "Denon - TV", "enum":["TV"]},
{ "title" : "Denon - SAT/CBL", "enum":["SAT/CBL"]},
{ "title" : "Denon - CBL/SAT", "enum":["CBL/SAT"]},
{ "title" : "Denon - DVR", "enum":["DVR"]},
{ "title" : "Denon - GAME", "enum":["GAME"]},
{ "title" : "Denon - GAME2", "enum":["GAME2"]},
{ "title" : "Denon - V.AUX", "enum":["V.AUX"]},
{ "title" : "Denon - AUX1", "enum":["AUX1"]},
{ "title" : "Denon - MPLAY", "enum":["MPLAY"]},
{ "title" : "Denon - DOCK", "enum":["DOCK"]},
{ "title" : "Denon - HDRADIO", "enum":["HDRADIO"]},
{ "title" : "Denon - IPOD", "enum":["IPOD"]},
{ "title" : "Denon - NET/USB", "enum":["NET/USB"]},
{ "title" : "Denon - RHAPSODY", "enum":["RHAPSODY"]},
{ "title" : "Denon - RHAPSODY", "enum":["RHAPSODY"]},
{ "title" : "Denon - NAPSTER", "enum":["NAPSTER"]},
{ "title" : "Denon - PANDORA", "enum":["PANDORA"]},
{ "title" : "Denon - LASTFM", "enum":["LASTFM"]},
{ "title" : "Denon - FLICKR", "enum":["FLICKR"]},
{ "title" : "Denon - FAVORITES", "enum":["FAVORITES"]},
{ "title" : "Denon - IRADIO", "enum":["IRADIO"]},
{ "title" : "Denon - SERVER", "enum":["SERVER"]},
{ "title" : "Denon - USB/IPOD", "enum":["USB/IPOD"]},
{ "title" : "Denon - USB", "enum":["USB"]},
{ "title" : "Denon - IPD", "enum":["IPD"]},
{ "title" : "Denon - FVP", "enum":["FVP"]},
{ "title" : "Denon - IRP", "enum":["IRP"]},
{ "title" : "Denon - NETWORK", "enum":["NETWORK"]},
{ "title" : "Denon - SPOTIFY", "enum":["SPOTIFY"]},
{ "title" : "Onkyo - 07", "enum":["07"]},
{ "title" : "Onkyo - 08", "enum":["08"]},
{ "title" : "Onkyo - 09", "enum":["09"]},
{ "title" : "Onkyo - am", "enum":["am"]},
{ "title" : "Onkyo - aux1", "enum":["aux1"]},
{ "title" : "Onkyo - aux2", "enum":["aux2"]},
{ "title" : "Onkyo - bd", "enum":["bd"]},
{ "title" : "Onkyo - cbl", "enum":["cbl"]},
{ "title" : "Onkyo - cd", "enum":["cd"]},
{ "title" : "Onkyo - dlna", "enum":["dlna"]},
{ "title" : "Onkyo - dvd", "enum":["dvd"]},
{ "title" : "Onkyo - dvr", "enum":["dvr"]},
{ "title" : "Onkyo - fm", "enum":["fm"]},
{ "title" : "Onkyo - game", "enum":["game"]},
{ "title" : "Onkyo - hidden1", "enum":["hidden1"]},
{ "title" : "Onkyo - hidden2", "enum":["hidden2"]},
{ "title" : "Onkyo - hidden3", "enum":["hidden3"]},
{ "title" : "Onkyo - internet-radio", "enum":["internet-radio"]},
{ "title" : "Onkyo - iradio-favorite", "enum":["iradio-favorite"]},
{ "title" : "Onkyo - multi-ch", "enum":["multi-ch"]},
{ "title" : "Onkyo - music-server", "enum":["music-server"]},
{ "title" : "Onkyo - net", "enum":["net"]},
{ "title" : "Onkyo - network", "enum":["network"]},
{ "title" : "Onkyo - off", "enum":["off"]},
{ "title" : "Onkyo - p4s", "enum":["p4s"]},
{ "title" : "Onkyo - pc", "enum":["pc"]},
{ "title" : "Onkyo - phono", "enum":["phono"]},
{ "title" : "Onkyo - sat", "enum":["sat"]},
{ "title" : "Onkyo - sirius", "enum":["sirius"]},
{ "title" : "Onkyo - source", "enum":["source"]},
{ "title" : "Onkyo - tape", "enum":["tape"]},
{ "title" : "Onkyo - tape-1", "enum":["tape-1"]},
{ "title" : "Onkyo - tape2", "enum":["tape2"]},
{ "title" : "Onkyo - tuner", "enum":["tuner"]},
{ "title" : "Onkyo - tv", "enum":["tv"]},
{ "title" : "Onkyo - universal-port", "enum":["universal-port"]},
{ "title" : "Onkyo - usb", "enum":["usb"]},
{ "title" : "Onkyo - vcr", "enum":["vcr"]},
{ "title" : "Onkyo - video1", "enum":["video1"]},
{ "title" : "Onkyo - video2", "enum":["video2"]},
{ "title" : "Onkyo - video3", "enum":["video3"]},
{ "title" : "Onkyo - video4", "enum":["video4"]},
{ "title" : "Onkyo - video5", "enum":["video5"]},
{ "title" : "Onkyo - video6", "enum":["video6"]},
{ "title" : "Onkyo - video7", "enum":["video7"]},
{ "title" : "Onkyo - xm", "enum":["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":79
},
"volume_dimmer": {
"type": "boolean",
"title": "Show Volume as a Dimmer",
"description": "Whether or not to show receiver volume as a linked light dimmer. Convenient for quick volume changes but Siri thinks it's a light source.",
"default": false
},
"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
}
}
},
"name": {
"title": "Platform Name",
"default": "Generic AVR",
"type": "string"
},
"bridged":{
"title": "Bridge Mode",
"description": "If bridge mode was enable, all receivers are under the same instance ( single port), only one TV control is enable",
"type" : "boolean"
}
},
"additionalProperties": false
}
}