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.
- iOS 14 (or later)
- Homebridge v1.1.6 (or later)
Install homebridge-yamaha-avr:
npm install -g homebridge-yamaha-avr
- 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
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,
}
]
}
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
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.
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
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
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.