UNPKG

homebridge-generic-avr

Version:

Homebridge plugin for AV Receivers. Support Onyko, Denon AVR

563 lines (561 loc) 35.6 kB
{ "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 } }