Add link and other small updates

This commit is contained in:
Fabian Affolter 2016-09-03 21:13:36 +02:00
parent ada8a1ed9d
commit 02fea9f427
No known key found for this signature in database
GPG Key ID: DDF3D6F44AAB1336

View File

@ -14,25 +14,25 @@ ha_iot_class: "Local Polling"
--- ---
The goal behind this switch is to allow a very flexible whole home audio system based upon PulseAudio. The goal behind this switch is to allow a very flexible whole home audio system based upon [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/).
For example, for a system with a 7.1 surround sound card, and 3 instances of mpd running, it is possible to quickly route the output of any mpd instance to any of the 8 possible (4 stereo) channels on the sound card, by loading/unloading a loopback module. This loading/unloading functionality is provided by this component. When the switch is 'on', the loopback module is loaded. When the switch is 'off', the module is not loaded. For example, for a system with a 7.1 surround sound card, and 3 instances of [MPD](https://www.musicpd.org/) running, it is possible to quickly route the output of any MPD instance to any of the 8 possible (4 stereo) channels on the sound card, by loading/unloading a loopback module. This loading/unloading functionality is provided by this component. When the switch is `on`, the loopback module is loaded. When the switch is `off`, the module is not loaded.
The benefit of this approach is that this audio routing can occur without modifying the design-time configuration of mpd or PulseAudio. The benefit of this approach is that this audio routing can occur without modifying the design-time configuration of MPD or PulseAudio.
This component uses a TCP connection to control a local or remote PulseAudio server- so there are no local dependencies. This component uses a TCP connection to control a local or remote PulseAudio server. So there are no local dependencies.
To enable this switch, add the following lines to your `configuration.yaml` file: To enable this switch, add the following lines to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Example configuration.yaml entry
switch: switch:
platform: pulseaudio_loopback - platform: pulseaudio_loopback
name: mpd1 -> bedroom name: mpd1 -> bedroom
host: 127.0.0.1 host: 127.0.0.1
port: 4712 port: 4712
source_name: mpd1.monitor source_name: mpd1.monitor
sink_name: bedroom sink_name: bedroom
``` ```
Configuration variables: Configuration variables:
@ -46,7 +46,6 @@ Configuration variables:
- **tcp_timeout** (*Optional*): How long to wait for a response from Pulseaudio before giving up. Default is 3 seconds. - **tcp_timeout** (*Optional*): How long to wait for a response from Pulseaudio before giving up. Default is 3 seconds.
<p class='note warning'> <p class='note warning'>
This component relies on raw TCP commands to PulseAudio. In order for PulseAudio to accept commands with This component relies on raw TCP commands to PulseAudio. In order for PulseAudio to accept commands with this component, `module-cli-protocol` must be loaded on the PulseAudio server.
this component, module-cli-protocol must be loaded on the PulseAudio server.
</p> </p>