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-russound-rio

v0.2.8

Published

Russound RIO plugin for homebridge: https://github.com/nfarina/homebridge

Downloads

35

Readme

homebridge-russound-rio

homebridge-russound-rio is a plugin for Homebridge intended to give you an integrated experience with your Russound MCA devices.

Now creates zones as external devices, and creates Remotes for each zone to use

It provides the HomeKit Zone Accesories with services which include a

power input volume mute volume dimmer (as light slider). remote functions Next Previous MenuUp MenuDown MenuLeft MenuRight Enter Exit Play Pause Stop Info

Screenshot Screenshot Screenshot

Changelog

  • Version 0.2.0 Updated to support .
  • Version 0.1.2 Add config setting addRemote to enable Apple Remote App for each zone.
  • Version 0.1.1 Changed Zones to be External Accessories, creates a remote in Apple Remote App for each zone.
  • Initial Release.

To Do

Only supports one controller at the moment

Requirements and Limitations

Installation

If you are new to Homebridge, please first read the Homebridge documentation.

  1. Install Homebridge:
sudo npm install -g --unsafe-perm homebridge
  1. Install homebridge-russound-rio:
sudo npm install -g --unsafe-perm homebridge-russound-rio

Plugin configuration

Add the platform in config.json in your home directory inside .homebridge and edit the required fields.

{
   "platforms":[
      {
         "name":"Russound",
         "controllers":[
            {
               "name":"MCA XXX",
               "ip":"your.russound.ip",
               "zones":[
                  {
                     "name":"Zone1",
                     "display_name":"Zone 1",
                     "sources":[
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                     ]
                  },
                  {
                     "name":"Zone2",
                     "display_name":"Zone 2",
                     "sources":[
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                     ]
                  },
                  {
                     "name":"Zone3",
                     "display_name":"Zone 3",
                     "sources":[
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                     ],
                     "enable":false
                  },
                  {
                     "name":"Zone4",
                     "display_name":"Zone 4",
                     "sources":[
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                     ]
                  },
                  {
                     "name":"Zone5",
                     "display_name":"Zone 5",
                     "sources":[
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                     ]
                  },
                  {
                     "name":"Zone6",
                     "display_name":"Zone 6",
                     "sources":[
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                     ]
                  }
               ],
               "sources":[
                  {
                     "name":"Source1",
                     "display_name":"Source 1"
                  },
                  {
                     "name":"Source2",
                     "display_name":"Source 2"
                  },
                  {
                     "name":"Source3",
                     "display_name":"Source 3"
                  },
                  {
                     "name":"Source4",
                     "display_name":"Source 4"
                  },
                  {
                     "name":"Source5",
                     "display_name":"Source 5"
                  },
                  {
                     "name":"Source6",
                     "display_name":"Source 6"
                  }
               ]
            }
         ],
         "debug":false,
         "platform":"Russound"
      }
   ]
}

Config Explanation:

The names Zone1, Zone2, Zone3, Zone4, Zone5 and Zone6 should match the Zone names given in the Russound Controller configuration (the names in the Russound App)

The names Source1, Source2, Source3, Source4, Source5 and Source6 should match the Source names given in the Russound Controller configuration (the names in the Russound App)

Any non configured sources identified as 'N/A' will be ignored

With this configuration you can define which sources are attached to which zones, the Russound API doesn't identify the configuration correctly. That is, if different sources are selected for different zones in the Russound Controller configuration there is no way to determine this through the API. The Russound App doesn't handle this, I've added the capability to manage

After restarting Homebridge, the Russound will need to be manually paired in the Home app, to do this:

  1. Open the Home app on your device.
  2. Tap the Home tab, then tap .
  3. Tap Add Accessory, and select I Don't Have a Code or Cannot Scan.
  4. Select the Configured Zones for pairing.
  5. Enter the Homebridge PIN, this can be found under the QR code in Homebridge UI or your Homebridge logs, alternatively you can select Use Russound and scan the QR code again.

Feature Options

Feature options allow you to enable or disable certain features in this plugin. There are plugin-wide feature options, and some that are specific to individual Controllers.

Platform-level configuration parameters:

| Fields | Description | Default | Required | |------------------------|--------------------------------------------------------------------|---------------------------------------------------------------------------|----------| | platform | Must always be Russound. | | Yes | | name | Name to use for the Russound platform. | | No | | debug | Enable debug logging. | false | No |

controllers configuration parameters:

| Fields | Description | Default | Required | |------------------------|--------------------------------------------------------------------|---------------------------------------------------------------------------|----------| | name | Name to use for this Russound Controller. | MCA-88X | No | | ip | IP address of your Russound Controller. | | Yes |

zones zones parameters: | Fields | Description | Default | Required | |------------------------|--------------------------------------------------------------------|---------------------------------------------------------------------------|----------| | name | Name to of this zone configured on the Russound Controller. | | Yes | | display_name | Name that you want the zone to display. | if blank it is name | No | | sources | List of sources to add to zone. | | No | | enable | Hides zone from Homekit | true | No |

sources sources parameters: | Fields | Description | Default | Required | |------------------------|--------------------------------------------------------------------|---------------------------------------------------------------------------|----------| | name | Name to of this source configured on the Russound Controller. | | Yes | | display_name | Name that you want the source name to display | if blank it is name | No |

Credits