Giter VIP home page Giter VIP logo

homebridge-yamaha-avr's Introduction

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.