Code Monkey home page Code Monkey logo

homebridge-yamaha-home's Introduction

Homebridge-Yamaha-Home

NPM Downloads

homebridge-plugin for Yamaha AVR control with Apple-Homekit. Optimized for use with the Apple Home App and with homebridge-alexa. Creates a Fan for each zone with the Fan speed being the volume. ( I was originally using light bulbs, but switched as Siri and Alexa were turning off the stereo when you asked her to turn off all the lights.)

Installation

Follow the instruction in NPM for the homebridge server installation. The plugin is published through NPM and should be installed "globally" by typing:

sudo npm install -g homebridge-yamaha-home

Configuration

config.json

  • play_volume - Sets volume to this when turning on, defaults to -48
  • min_volume -
  • max_volume -
  • setMainInputTo - Sets input to this when turning on, no default.
  • show_input_name - Creates a button to display which input is selected, defaults to no
  • manual_addresses - Only required if Bonjour/Autodetection doesn't work.
  • expected_devices - Maximum number of accessories created, defaults to 100
  • discovery_timeout - How long to stay in discovery mode, defaults to 30
  • radio_presets - Create a switch for each radio preset, defaults to false ( true/false )
  • preset_num - Names the switch the number of the preset, defaults to false ( true/false ). Otherwise the name is the frequency. ( useful with Siri and Alexa )
  • zone - Zone name
  • zone_controllers_only_for - A list of zone names for which an accessory is to be created. If no value for this key is provided, then accessories for all available zones are created.

Optional Properties:

  • party_switch - You can choose whether you need Party Mode Switch or not. "party_switch": "yes" if needed or don't add this property if you don't need the switch.
  • inputs_as_accessories - If property exists, Input or Scene switch will be created. Checkout a config for an example.
  • YamahaReceiver - Here should be your yamaha recevier network name. Additional switches won't work with a wrong receiver name.
  • set_scene โ€“ If property exists, Scene switch will be created. Checkout a config for example.
  • setInputTo - use this property to specify input for switch. Also, add this property if you want a scene switch (use the same input name as in your receiver scene settings).
  • spotify - Enable spotify control buttons
  • nozones - Do not create an accessory per zone

Basic config.json config

"platforms": [{ "platform": "yamaha-home", "max_volume": 10 }

Example advanced configuration

Example config.json:

{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:51",
        "port": 51826,
        "pin": "031-45-154"
    },
    "description": "This is an example configuration file for homebridge plugin for yamaha AVR",
    "hint": "Always paste into jsonlint.com validation page before starting your homebridge, saves a lot of frustration",

  "platforms": [
    {
      "platform": "yamaha-home",
      "play_volume": -48,
      "setMainInputTo": "Airplay",
      "show_input_name": "yes",
      "party_switch": "yes",
      "inputs_as_accessories":{
        "YamahaReceiver": {
          "1": {
                "name":"Raspberry",
                "setInputTo": "HDMI1",
                "set_default_volume": -49
           },
          "2": {
                "name":"AppleTV",
                "setInputTo": "HDMI2"
           },
           "3": {
                "name": "Scene 3",
                "set_scene": "3",
                "setInputTo": "HDMI3"
          }
        }
      },
      "manual_addresses": {
          "Yamaha": "192.168.1.115"
      }
    }
  ],
  "accessories": [
      {}
    ]
}

My personal configuration

{
  "platform": "yamaha-home",
  "discovery_timeout": 5,
  "radio_presets": true,
  "preset_num": true,
  "max_volume": 20,
  "party_switch": "yes",
  "spotify": true,
  "inputs_as_accessories": {
    "YamahaReceiver": {
      "1": {
        "name": "Input Radio",
        "setInputTo": "TUNER"
      },
      "2": {
        "name": "Input Spotify",
        "setInputTo": "Spotify"
      }
    }
  }
}

Other Yamaha Receiver Plugins

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

homebridge-yamaha-avr For single zone Yamaha receivers, and uses the Television control for the receiver.

Credits

  • neonightmare - Creating the original plugin
  • TommyCardello - Adding Party Mode Switch, Adding Input or Scene Switches.

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.