hdt

homebridge-denon-tv

Homebridge plugin for Denon/Marantz AV Receivers, publish as independent external platform accessory.

Showing:

Popularity

Downloads/wk

1.8K

GitHub Stars

41

Maintenance

Last Commit

7d ago

Contributors

5

Package

Dependencies

2

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

Homebridge Denon TV

verified-by-homebridge npm npm GitHub pull requests GitHub issues

Homebridge plugin for Denon/Marantz AV Receivers series X/SR. Tested with Denon AVR-X6300H and Marantz SR6013.

This plugin is based upon the official documentation for communicating with and controlling these Denon and Marantz receivers, located here: Denon Control Protocol 2020

Package Requirements

Package LinkRequired
HomebridgeRequired
Homebridge Config UI XHighly Recommended

Note

  • For homebridge-denon-tv versions 3.6.0 and above the minimum required version of Homebridge is 1.3.x.

Know issues

  • If used with Hoobs, there is a possible configuration incompatibilty.

Installation Instructions

  1. Follow the step-by-step instructions at Homebridge Wiki for how to install Homebridge.
  2. Follow the step-by-step instructions at Homebridge Config UI X for how to install Homebridge Config UI X.
  3. Install homebridge-denon-tv using: npm install -g homebridge-denon-tv or search for Denon TV in Config UI X.

Features and How To Use Them

  1. Power the receiver ON/OFF using a short press of the created device tile in the HomeKit app.
  2. Remote Control and Media control is possible by using the Apple Remote in Control Center on iPhone/iPad (must be installed from the App store prior to iOS/iPadOS 14).
  3. Speaker control is possible after you go to Apple Remote in Control Center on iPhone/iPad Speaker Service.
  4. Legacy volume and mute control is possible throught the extra lightbulb (slider) or using Siri Volume Service.
  5. Inputs can be changed by performing a long press of the device tile in the HomeKit app and then selecting from the list. It is also possible to create separate tiles in the Inputs and Functions button.
  6. Surround Modes can be controlled from the Inputs List from a long press of the device tile or by creating separate tiles in the Inputs and Functions button.
  7. Digital Input Modes control from the inputs list or create separate tile in the Inputs and Functions button.
  8. Siri control, (Volume, Mute) if volume control enabled Slider or Fan.
  9. Multiple Zone control.

Configuration

To ease configuration, install and use the Homebridge Config UI X plugin (highly recomended).

Alternatively, Tthe sample configuration can be edited and used manually. See the sample-config.json file in this repository for an example or copy/paste the example below into your config.json file, making the apporpriate changes before saving it. Be sure to always make a backup copy of your config.json file before making any changes to it.

Configuration Values

KeyDescription
portThis is the network port that this plugin will use to communicate with the receiver. If port 8080 is not working then try to use port 80 which some receivers use alternatively. Try the other port if the first one does not work
inputsChoose from available inputs the inputs that should be published to and appear in HomeKit app in the device tile as inputs list
buttonsMainZonehere choice function for additional control button for Main Zone
refreshIntervalSet the data refresh time in seconds, default is every 5 seconds
zoneControlSelects which zone will be controlled by this section (0 - Main Zone, 1 - Zone 2, 2 - Zone 3) or choice from the configurations GUI
masterPowerIf true then the power switch for that zone (typically you would only use this for the Main Zone) will turn the entire receiver ON or OFF/STANDBY rather than just the zone itself
masterVolumeIf true then the volume for that zone (typically you would only use this for the Main Zone) will set the entire receiver UP or DOWN rather than just the zone itself
masterMuteIf true then the mute switch for that zone (typically you would only use this for the Main Zone) will muted the entire receiver ON or OFF rather than just the zone itself
volumeControlSelect what a additional volume control mode You want to use (None, Slider, Fan)
switchInfoMenuIf true then the I button will toggle its behaviour in the Apple Remote in Control Center and PowerModeSelection in settings
disableLogInfoIf true then disable log info, all values and state will not be displayed in Homebridge log console
manufacturerOptional free-form informational data that will be displayed in the Home.app if it is filled in
modelNameOptional free-form informational data that will be displayed in the Home.app if it is filled in
serialNumberOptional free-form informational data that will be displayed in the Home.app if it is filled in
firmwareRevisionOptional free-form informational data that will be displayed in the Home.app if it is filled in

Main Zone Control and Settings

{
    "platform": "DenonTv",
    "devices": [
        {
            "name": "AV Receiver",
            "host": "192.168.1.5",
            "port": 8080,
            "refreshInterval": 5,
            "zoneControl" : 0,
            "volumeControl": 0,
            "masterPower": false,
            "masterVolume": false,
            "masterMute": false,
            "switchInfoMenu": false,
            "disableLogInfo": false,
            "inputs": [
                        {
                            "name": "Xbox One",
                            "reference": "GAME",
                            "mode": "SI"
                        },
                        {
                            "name": "Television",
                            "reference": "TV",
                            "mode": "SI"
                        },
                        {
                            "name": "Sat Receiver",
                            "reference": "SAT/CBL",
                            "mode": "SI"
                        }
                    ],
                    "buttonsMainZone": [
                        {
                            "name": "POWER ON",
                            "reference": "ZMON"
                        }
                    ],
            "manufacturer": "Manufacturer",
            "modelName": "Model",
            "serialNumber": "Serial Number",
            "firmwareRevision": "Firmware Revision"
        }
    ]
}

Multi zone control and settings

To enable the ability to control each zone seperately then use the configuration below. | Key | Description | | --- | --- | | zoneControl | Selects which zone will be controlled by this section (0 - Main Zone, 1 - Zone 2, 2 - Zone 3) or choice from the configurations GUI | | masterPower | If true then the power switch for that zone will turn the entire receiver ON or OFF/STANDBY rather than just the zone itself | | masterVolume | If true then the volume for that zone (typically you would only use this for the Main Zone) will set the entire receiver UP or DOWN rather than just the zone itself | | masterMute | If is true the mute switch for that zone (typically you would only use this for the Main Zone) will muted the entire receiver ON or OFF rather than just the zone itself | | volumeControl | If true then allow for separate volume control for each zone | | switchInfoMenu | will working for all zones seperat but have same end effect for each zone | | inputs | Choose from available inputs | | buttonsMainZone | Choose the function for additional control button | | buttonsZone2 | Choose the function for additional control button for Zone 2 | | buttonsZone3 | Choose the function for additional control button for Zone 3 |

After editing the conf.json or using homebridge-config-ui-x to configure this plugin then save the settings and restart Homebridge. If the configuration has multiple zones then each zone will show up as a separate Homekit Accessory that will need be be added to Home individually using the same PIN code that is used for Homebridge.

{
    "platform": "DenonTv",
    "devices": [
        {
            "name": "AV Main Zone",
            "host": "192.168.1.5",
            "port": 8080,
            "refreshInterval": 5,
            "zoneControl" : 0,
            "volumeControl": 0,
            "masterPower": false,
            "masterVolume": false,
            "masterMute": false,
            "switchInfoMenu": false,
            "disableLogInfo": false,
            "inputs": [
                {
                    "name": "Xbox One",
                    "reference": "GAME",
                    "mode": "SI"
                },
                {
                    "name": "Television",
                    "reference": "TV",
                    "mode": "SI"
                },
                {
                    "name": "Sat Receiver",
                    "reference": "SAT/CBL",
                    "mode": "SI"
                }
            ],
            "buttonsMainZone": [
                        {
                            "name": "POWER ON",
                            "reference": "ZMON"
                        }
                    ],
        },
        {
            "name": "AV Zone 1",
            "host": "192.168.1.5",
            "port": 8080,
            "refreshInterval": 5,
            "zoneControl" : 1,
            "volumeControl": 0,
            "masterPower": false,
            "masterVolume": false,
            "masterMute": false,
            "switchInfoMenu": false,
            "disableLogInfo": false,
            "inputs": [
                {
                    "name": "Xbox One",
                    "reference": "GAME",
                    "mode": "SI"
                },
                {
                    "name": "Television",
                    "reference": "TV",
                    "mode": "SI"
                },
                {
                    "name": "Sat Receiver",
                    "reference": "SAT/CBL",
                    "mode": "SI"
                }
            ],
            "buttonsZone2": [
                        {
                            "name": "POWER ON",
                            "reference": "Z2ON"
                        }
                    ],
        },
        {
            "name": "AV Zone 2",
            "host": "192.168.1.5",
            "port": 8080,
            "zoneControl" : 2,
            "volumeControl": 0,
            "masterPower": false,
            "masterVolume": false,
            "masterMute": false,
            "switchInfoMenu": false,
            "inputs": [
                {
                    "name": "Xbox One",
                    "reference": "GAME",
                    "mode": "SI"
                },
                {
                    "name": "Television",
                    "reference": "TV"
                    "mode": "SI"
                },
                {
                    "name": "Sat Receiver",
                    "reference": "SAT/CBL",
                    "mode": "SI"
                }
            ],
            "buttonsZone3": [
                        {
                            "name": "POWER ON",
                            "reference": "Z3ON"
                        }
                    ],
        }
    ]
}

Adding to HomeKit

Each accessory needs to be manually paired.

  1. Open the Home app on your device.
  2. Tap the Home tab, then tap .
  3. Tap Add Accessory, and select I Don't Have a Code or Cannot Scan.
  4. Select Your accessory.
  5. Enter the Homebridge PIN, this can be found under the QR code in Homebridge UI or your Homebridge logs, alternatively you can select Use Camera and scan the QR code again.

Limitations

The HomeKit app has a limitation of a maximum number of 100 services per 1 accessory. If the number of services per accessory is over 100 then the Home app will stop responding. Items that are considered to be services in each accessory are when using this plugin are:

  1. Information service
  2. Speaker service
  3. Lightbulb service
  4. Television service and inputs service
  5. 5-100, where every input = 1 service

At this time, if all services are enabled then the number of possible inputs to configure is 96.

What's new:

https://github.com/grzegorz914/homebridge-denon-tv/blob/master/CHANGELOG.md

Development

Please feel free to create a Pull request and help in development. It will be highly appreciated.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100