PulseAudio Loopback
The goal behind this switch is to allow a very flexible whole home audio system based upon 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 integration. 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.
This integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] 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
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI.[Learn more] file.
After changing the configuration.yaml
The configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI.[Learn more] file, restart Home Assistant to apply the changes. To view the changes, go to Settings > Devices & services > Entities.
# Example configuration.yaml entry
switch:
- platform: pulseaudio_loopback
Configuration Variables
The IP address or host name of the PulseAudio server.
Use client configuration in /etc/pulse
This integration relies on raw TCP commands to PulseAudio. In order for PulseAudio to accept commands with this integration, module-native-protocol-tcp auth-ip-acl=<homeassistant ip>
must be loaded on the PulseAudio server.