1.0.2 • Published 8 months ago

homebridge-russound-aio v1.0.2

Weekly downloads
-
License
ISC
Repository
github
Last release
8 months ago

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:

FieldsDescriptionDefaultRequired
platformMust always be Russound-AIOYes
hostHost IP address of your Russound ControllerYes
portAPI Port of your Russound Controller9621No
nameName to use for this Russound Controller.controller type eg. MCA-66No
zoneNameSuffixSuffix to add to Zone Name eg. SpeakerNo
addRemoteAdd Apple remote to all ZonesfalseNo
inputsDisplayOrderDisplay order for inputs in Homekit0 0 - Russound, 1 - Name Asc, 2 - Name DescNo
volumeControlAdd volume accessory1 0 - None, 1 - As Light (Brightness), 2 - As FanNo
volumeControlNameAdded volume nameVolumeNo
volumeControlNamePrefixAdd Zone name as prefix to volume namefalseNo
volumeMaxMax volume of Zones50 MCA Device testedNo
sensorPowerAdd Sensor Power (for change)falseNo
sensorVolumeAdd Sensor Volume (for change)falseNo
sensorMuteAdd Sensor Mute (for change)falseNo
sensorInputAdd Sensor Input (for change)falseNo
zonesList of Zones to configure{}No

logging parameters:

FieldsDescriptionDefaultRequired
enableDebugModeEnable debug logging in HomebridgefalseNo
disableLogInfoDisable state log info in HomebridgetrueNo
disableLogDeviceInfoDisable device log info in HomebridgetrueNo

zones Zones settings:

FieldsDescriptionDefaultRequired
zoneIdId of this zone configured on the Russound Controller.Yes
enabledHides zone from HomekittrueNo
addRemoteAdd Apple remote for ZonefalseNo
sourcesList of sources to add to ZoneNo

sources sources settings:

FieldsDescriptionDefaultRequired
_Name to of this source configured on the Russound ControllerNo

Credits

1.0.2

8 months ago

1.0.1

8 months ago

1.0.0

9 months ago