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-aio

v1.0.2

Published

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

Downloads

209

Readme

homebridge-russound-aio

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

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

  • 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-aio:
sudo npm install -g --unsafe-perm homebridge-russound-aio

Plugin configuration

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

{
   "platforms":[
      {
         "name":"Russound AIO",
         "host":"your.russound.ip",
         "port": 9621,
         "enableDebugMode": true,
         "platform": "Russound-AIO",
         "zones": [
                { 
                 "id": "1",
                 "enabled": true,
                 "sources": [
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                    ]
                },
                { 
                 "id": "2",
                 "enabled": true,
                 "sources": [
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                    ]
                },
                { 
                 "id": "3",
                 "enabled": true,
                 "sources": [
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                    ]
                },
                { 
                 "id": "4",
                 "enabled": true,
                 "sources": [
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                    ]
                },
                { 
                 "id": "5",
                 "enabled": true,
                 "sources": [
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                    ]
                },
                { 
                 "id": "6",
                 "enabled": true,
                 "sources": [
                        "Source1",
                        "Source2",
                        "Source3",
                        "Source4",
                        "Source5",
                        "Source6"
                    ]
                }
            ]
      }
   ]
}

Config Explanation:

The id for Zone1, Zone2, Zone3, Zone4, Zone5 and Zone6 should match the Zone id given in the Russound Controller configuration (the order 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-AIO | | Yes | | host | Host IP address of your Russound Controller | | Yes | | port | API Port of your Russound Controller | 9621 | No | | name | Name to use for this Russound Controller. | [controller type] eg. MCA-66 | No | | zoneNameSuffix | Suffix to add to Zone Name eg. Speaker | | No | | addRemote | Add Apple remote to all Zones | false | No | | inputsDisplayOrder | Display order for inputs in Homekit | 0 [0 - Russound, 1 - Name Asc, 2 - Name Desc] | No | | volumeControl | Add volume accessory | 1 [0 - None, 1 - As Light (Brightness), 2 - As Fan] | No | | volumeControlName | Added volume name | Volume | No | | volumeControlNamePrefix | Add Zone name as prefix to volume name | false | No | | volumeMax | Max volume of Zones | 50 [MCA Device tested] | No | | sensorPower | Add Sensor Power (for change) | false | No | | sensorVolume | Add Sensor Volume (for change) | false | No | | sensorMute | Add Sensor Mute (for change) | false | No | | sensorInput | Add Sensor Input (for change) | false | No | | zones | List of Zones to configure | {} | No |

logging parameters:

| Fields | Description | Default | Required | |-------------------------|--------------------------------------------------------------------|---------------------------------------------------------------------------|----------| | enableDebugMode | Enable debug logging in Homebridge | false | No | | disableLogInfo | Disable state log info in Homebridge | true | No | | disableLogDeviceInfo | Disable device log info in Homebridge | true | No |

zones Zones settings:

| Fields | Description | Default | Required | |-------------------------|--------------------------------------------------------------------|---------------------------------------------------------------------------|----------| | zoneId | Id of this zone configured on the Russound Controller. | | Yes | | enabled | Hides zone from Homekit | true | No | | addRemote | Add Apple remote for Zone | false | No | | sources | List of sources to add to Zone | | No |

sources sources settings:

| Fields | Description | Default | Required | |-------------------------|--------------------------------------------------------------------|---------------------------------------------------------------------------|----------| | _ | Name to of this source configured on the Russound Controller | | No |

Credits