Bose SoundTouch plugin for Homebridge
This allows you to control your SoundTouch devices with HomeKit and Siri.
- Install homebridge using: npm install -g homebridge
- Install this plugin using: npm install -g homebridge-soundtouch-platform
- Update your configuration file. See the sample below.
Example config.json
to discover all SoundTouch accessories
{
"platform": "SoundTouchPlatform",
"name": "SoundTouch",
"discoverAllAccessories": true,
"global": {
"pollingInterval": 2000
}
}
Example config.json
to register 1 SoundTouch accessory
{
"platform": "SoundTouchPlatform",
"name": "SoundTouch",
"accessories": [
{
"name": "Speaker Bathroom",
"room": "Bathroom",
"volume": {
"unmuteValue": 40,
"maxValue": 80
}
}
]
}
Example config.json
for multiple speakers and presets:
{
"platform": "SoundTouchPlatform",
"name": "SoundTouch",
"accessories": [
{
"name": "Speaker Bathroom",
"ip": "<ip>",
"volume": {
"unmuteValue": 40,
"maxValue": 80,
"mode": "lightbulb"
},
"presets": [
{
"name": "Radio 3",
"index": 3
}
]
},
{
"name": "Speaker Kitchen",
"room": "Kitchen",
"pollingInterval": 2000,
"verbose": true,
"volume": {
"mode": "speaker"
},
"presets": [
{
"name": "Radio 1",
"index": 1
},
{
"name": "Radio 2",
"index": 2
}
]
}
],
"global": {
"sources": [
{
"source": "QPLAY",
"enabled": false
}
]
}
}
Required fields
-
platform
: Must always be SoundTouchPlatform -
name
: The name you want to use to control the SoundTouch for the platform.
Optional fields
-
discoverAllAccessories
: Discover all accessories on the local network default: false -
accessories
: Array of Accessory element -
global
: Default configuration for all accessories. see Global element
Optional fields
-
name
: The name you want to use to control the SoundTouch. -
room
: Should match exactly with the name of the SoundTouch device. -
ip
: The ip address of your device on your network. -
volume
: see Volume element -
presets
: Contains all presets action that you want to trigger using HomeKit on your device. Adds a switch for each preset with the given name. Preset index start from 1 to 6 included. see Preset element -
sources
: Contains all sources action that you want to trigger using HomeKit on your device. Adds a switch for each source with the given name. see Source element
Optional fields
-
onValue
: The expected volume that you want when the device is turning on. -
unmuteValue
: The expected volume that you want back to mute mode with 0 volume. default: onValue if sets otherwise 35% -
maxValue
: The maximum volume of the device. default: 100% -
mode
: The volume accessory mode. Choose one item from the enum. see VolumeMode enum. default: lightbulb
-
none
: Disable the volume of the accessory -
lightbulb
: Control the accessory using a light (with this value you can control the volume from the Home.app & Siri). -
speaker
: Control the accessory with a speaker slider (with this value you cannot controller the volume from the Home.app & Siri).
Required fields
-
index
: The preset index starting from 1 to 6
Optional fields
-
name
: If set, the specific name of the preset`otherwise the name on your SoundTouch product will be used. -
enabled
: false will disable this preset to HomeKit
Required fields
-
source
: The source such as PRODUCT, BLUETOOTH, ...
Optional fields
-
account
: The product account such as TV, HDMI_1, ... -
name
: If set, the specific name of the preset otherwise the name on your SoundTouch product will be used. -
enabled
: false will disable this product to HomeKit
Optional fields
-
verbose
: Log all device information -
pollingInterval
: If set, poll the device each interval -
volume
: see Volume element -
presets
: Contains all presets action that you want to trigger or not using HomeKit on all devices. Adds a switch for each preset with the given name. Preset index start from 1 to 6 included. see Preset element -
sources
: Contains all sources action that you want to trigger or not using HomeKit on all devices. Adds a switch for each source with the given name. see Source element