npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

homebridge-denon-tv

v5.1.25

Published

Homebridge plugin to control Denon/Marantz AV Receivers.

Downloads

4,430

Readme

Homebridge Denon TV

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

Homebridge plugin for Denon/Marantz AV Receivers series X/SR. Tested Denon AVR-2112CI, AVR-3311CI, AVR-X6300H, AVR-X2700H, AVC-X4800H, Marantz SR8012, SR6013, M-CR611, PM7000N.

Package Requirements

| Package | Installation | Role | Required | | --- | --- | --- | --- | | Homebridge | Homebridge Wiki | HomeKit Bridge | Required | | Config UI X | Config UI X Wiki | Homebridge Web User Interface | Recommended | | Denon TV | Plug-In Wiki | Homebridge Plug-In | Required |

About The Plugin

  • Multi Zone control.
  • Power ON/OFF short press tile in HomeKit app.
  • RC/Media control is possible after you go to the RC app on iPhone/iPad.
  • Speaker control is possible after you go to RC app on iPhone/iPad Speaker Service.
  • Legacy Volume and Mute control is possible throught extra lightbulb/fan (slider).
  • Inputs/Surrounds can be changed using Inputs selector in the Home app or using extra tile.
  • Digital Input Modes can be controlled by creating separate tile in the buttons section.
  • Siri can be used for all functions, some times need create legacy buttons/switches/sensors.
  • Automations can be used for all functions, some times need create legacy buttons/switches/sensors.
  • This plugin is based upon the official documentation: Denon Control Protocol 2020
  • Support external integrations, RESTFul, MQTT.

Configuration

| Key | Description | | --- | --- | | name | Here set the accessory Name to be displayed in Homebridge/HomeKit. | | host | Here set the Hostname or Address IP of AVR. | | port | Here set the API communication port, if 8080 is not working try to use port 80 which some receivers use alternatively. | | zoneControl | Here choose which zone will be controlled by this section 0 - Main Zone, 1 - Zone 2, 2 - Zone 3, 3 - Surround Mode. | | generation | Here choose generation of Your device, old 0 - 2010 - 2012, middle 1 - 2013 - 2022, new 2 - 2023 and newer. | | getInputsFromDevice | If enabled, Inputs will be loaded direct from device. | | getFavoritesFromDevice | If enabled, Favorites will be loaded to the inputs list if exist. | | getQuickSmartSelectFromDevice | If enabled, Quick/Smart Select will be loaded to the inputs list if exist. | | inputsDisplayOrder | Here choose display order of the inputs list, 0 - None, 1 - Ascending by Name, 2 - Descending by Name, 3 - Ascending by Reference, 4 - Ascending by Reference. | | inputs | Here create Inputs which You want expose to the Homebridge/HomeKit. | | inputs.name | Here set Input Name. | | inputs.reference | Choose from available inputs, the inputs that should be published to and appear in HomeKit app in the device tile as inputs list. | | surrounds | Here create Surrounds which You want expose to the Homebridge/HomeKit. | | surrounds.name | Here set Surround Mode Name. | | surrounds.reference | Here choose Surround Mode, the mode that should be published to and appear in HomeKit app in the extra tile as Surrounds List. | | buttons | Here create Buttons which You want expose to the Homebridge/HomeKit for Main Zone. | | buttons.name | Here set Button Name. | | buttons.reference | Here choose Function for this button. | | buttons.displayType | Here choose characteristic type to be exposed in HomeKit app, possible 0 - None/Disabled, 1 - Outlet, 2 - Switch. | | buttons.namePrefix | Here enable/disable the accessory name as a prefix for button name. | | buttonsZ2 | Here create Buttons which You want expose to the Homebridge/HomeKit for Zone 2. | | buttonsZ2.name | Here set Button Name. | | buttonsZ2.reference | Here choose function for this button. | | buttonsZ2.displayType | Here choose characteristic type to be exposed in HomeKit app, possible 0 - None/Disabled, 1 - Outlet, 2 - Switch. | | buttonsZ2.namePrefix | Here enable/disable the accessory name as a prefix for button name. | | buttonsZ3 | Here create Buttons which You want expose to the Homebridge/HomeKit for Zone 3. | | buttonsZ3.name | Here set Button Name. | | buttonsZ3.reference | Here choose function for this button. | | buttonsZ3.displayType | Here choose characteristic type to be exposed in HomeKit app, possible 0 - None/Disabled, 1 - Outlet, 2 - Switch. | | buttonsZ3.namePrefix | Here enable/disable the accessory name as a prefix for button name. | | sensorPower| If enabled, then the Power will be exposed as a Contact Sensor, fired if power ON. | | sensorVolume| If enabled, then the Volume will be exposed as a Contact Sensor, fired on every Volume change. | | sensorMute| If enabled, then the Mute will be exposed as a Contact Sensor, fired if Mmute ON. | | sensorInput| If enabled, then the Input will be exposed as a Contact Sensor, fired on every Input change. | | sensorInputs| Here create custom Inputs Sensor which You want expose to the Homebridge/HomeKit. | | sensorInputs.name | Here set own Sensor Name. | | sensorInputs.reference | Here choose Input Reference, sensor fired if switch to this reference. | | sensorInputs.displayType | Here choose characteristic type to be exposed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | sensorInputs.namePrefix | Here enable/disable the accessory name as a prefix for sensor name. | | sensorSurrounds| Here create custom Surrounds Sensor which You want expose to the Homebridge/HomeKit. | | sensorSurrounds.name | Here set own Sensor Name. | | sensorSurrounds.reference | Here choose Sensor Reference, sensor fired if switch to this reference. | | sensorSurrounds.displayType | Here choose characteristic type to be exposed in HomeKit app, 0 - None/Disabled, 1 - Motion Sensor, 2 - Occupancy Sensor, 3 - Contact Sensor. | | sensorSurrounds.namePrefix | Here enable/disable the accessory name as a prefix for sensor name. | | masterPower | If enabled, then the Power switch for that zone will turn the entire receiver ON or OFF/STANDBY rather than just the zone itself. | | masterVolume| If enabled, then the Volume for that zone will set the entire receiver UP or DOWN rather than just the zone itself, (only for the Zone 1 and 2). | | masterMute| If enabled, then the Mute switch for that zone will muted the entire receiver ON or OFF rather than just the zone itself, (only for the Zone 1 and 2). | | volumeControlNamePrefix | Here enable/disable the accessory name as a prefix for volume control name. | | volumeControlName | Here set Your own volume control name or leave empty. | | volumeControl | Here choose what a additional volume control mode You want to use, 0 - None/Disabled, 1 - Lightbulb, 2 - Fan. | | volumeMax | Here set the maximum possible volume to set, 0 - 100. | | infoButtonCommand | Here choose the function for I button in RC app. | | refreshInterval | Here set the data refresh interval. | | enableDebugMode | If enabled, deep log will be present in homebridge console. | | disableLogInfo | If enabled, disable log info, all values and state will not be displayed in Homebridge log console. | | disableLogDeviceInfo | If enabled, add ability to disable log device info by every connections device to the network. | | disableLogConnectError | If enabled, disable logging device connect error. | | enableRestFul | If enabled, RESTful server will start automatically and respond to any path request. | | restFul | This is RSTful server. | | enable | If enabled, RESTful server will start automatically and respond to any path request. | | port | Here set the listening Port for RESTful server. | | debug | If enabled, deep log will be present in homebridge console for RESTFul server. | | mqtt | This is MQTT Broker. | | enable | If enabled, MQTT Broker will start automatically and publish all awailable PV data. | | host | Here set the IP Address or Hostname for MQTT Broker. | | port | Here set the Port for MQTT Broker, default 1883. | | clientId | Here optional set the Client Id of MQTT Broker. | | prefix | Here set the Prefix for Topic or leave empty. | | auth | If enabled, MQTT Broker will use authorization credentials. | | user | Here set the MQTT Broker user. | | passwd | Here set the MQTT Broker password. | | debug | If enabled, deep log will be present in homebridge console for MQTT. | | AV Surround Mode | This extra Accessory will control all functions of Main Zone except Inputs and Buttons. |

RESTFul Integration

  • POST data as a JSON Object {Power: true}

| Method | URL | Path | Response | Type | | --- | --- | --- | --- | --- | | GET | http//ip:port/ | info, state, picture, surround | {"Power": {"value": OFF}} | JSON object. |

| Method | URL | Key | Value | Type | Description | | --- | --- | --- | --- | --- | --- | | POST | http//ip:port | Power | true, false | boolean | Power On/Off. | | | http//ip:port | Input | SAT/CBL | string | Set input. | | | http//ip:port | Surround | MUSIC | string | Set surround mode. | | | http//ip:port | RcControl | NS9E | string | Send RC command. | | | http//ip:port | Volume | 100 | integer | Set volume. | | | http//ip:port | Mute | true, false | string | Set mute On/Off. |

MQTT Integration

  • Subscribe data as a JSON Object {Power: true}

| Method | Topic | Message | Type | | --- | --- | --- | --- | | Publish | Info, State, Picture, Surround | {"Power": {"value": OFF}} | JSON object. |

| Method | Topic | Key | Value | Type | Description | | --- | --- | --- | --- | --- | --- | | Subscribe | Set | Power | true, false | boolean | Power state. | | | Set | Input | SAT/CBL | string | Set input. | | | Set | Surround | MUSIC | string | Set surround mode. | | | Set | RcControl | NS9E | string | Send RC command. | | | Set | Volume | 100 | integer | Set volume. | | | Set | Mute | true, false | boolean | Set mute. |