Skip to content

homebridge-plugin for Yamaha AVR. Audio Receiver Accessory with Power, Input, Volume & Remote Control

License

Notifications You must be signed in to change notification settings

ACDR/homebridge-yamaha-avr

Repository files navigation

homebridge-yamaha-avr

homebridge-yamaha-avr is a Homebridge plugin allowing you to control your AVR & any connected HDMI-CEC controllable devices with the Apple Home app & Control Centre remote! It should work with all network accessible receivers.

The Yamaha AVR will display as an Audio Receiver with Power, Input, Volume & Remote Control.

Requirements

Installation

Install homebridge-yamaha-avr:

npm install -g homebridge-yamaha-avr

Usage Notes

  • Quickly switch input using the information (i) button in the Control Centre remote
  • Adjust the volume using the physical volume buttons on your iOS device whilst the Control Centre remote is open
  • Enable additional zones
  • Enable Fan devices to control the volume of each enabled zone
  • Enable Switch device to enable/disable Pure Direct

Configuration

Add a new platform to your homebridge config.json.

Specific "favourite" inputs can be added manually or all available inputs reported by the AVR will be set.

Example configuration:

{
    "platforms": [
      {
        "platform": "yamaha-avr",
        "name": "Yamaha RX-V685",
        "ip": "192.168.1.12",
        "cacheDirectory": "",
        "enablePureDirectSwitch": true,
        "volumeAccessoryEnabled": true,
        "zone2Enabled": true,
        "zone3Enabled": false,
        "zone4Enabled": false,
      }
    ]
}

Important Installation/Configuration Notes:

homebridge-yamaha-avr caches input/name data, by default this should be located within the homebridge-yamaha-avr plugin directory. If your homebridge instance cannot write to this directory you can define an alternative cache data location using the cacheDirectory config option

The AVR is published as an external accessory so you'll need to add it manually.

Select "Add Accessory" in the Home app, then "I Don't Have a Code or Cannot Scan".

The AVR should then show as an option, enter your Homebridge PIN and you should be good to go.

You can define the ports external accessories are assigned by setting a range in your Homebridge config: https://github.com/homebridge/homebridge/blob/master/config-sample.json#L12

Other Yamaha Receiver Plugins

For multi-zone Yamaha Receivers, and uses the Television control for each zone of the receiver.

For multi-zone Yamaha Receivers, and uses a Fan to control each zone of the receiver.

Contributing

Build Plugin

TypeScript needs to be compiled into JavaScript before it can run. The following command will compile the contents of the src directory and put the resulting code into the dist folder.

npm run build

Link To Homebridge

Run this command so your global install of Homebridge can discover the plugin in your development environment:

npm link

You can now start Homebridge, use the -D flag so you can see debug log messages:

homebridge -D

Watch For Changes and Build Automatically

If you want to have your code compile automatically as you make changes, and restart Homebridge automatically between changes you can run:

npm run watch

This will launch an instance of Homebridge in debug mode which will restart every time you make a change to the source code. It will load the config stored in the default location under ~/.homebridge. You may need to stop other running instances of Homebridge while using this command to prevent conflicts. You can adjust the Homebridge startup command in the nodemon.json file.