openhab-addons/bundles/org.openhab.binding.pulseaudio
Robert von Könemann fa9e3db34b
[pulseaudio] Fix #8843. Stop spamming logs when pulseaudio device is offline (#8850)
Signed-off-by: Robert von Könemann <lordtaifleh@gmail.com>
2020-10-24 12:00:17 -07:00
..
src/main [pulseaudio] Fix #8843. Stop spamming logs when pulseaudio device is offline (#8850) 2020-10-24 12:00:17 -07:00
NOTICE added migrated 2.x add-ons 2020-09-21 03:37:19 +02:00
pom.xml added migrated 2.x add-ons 2020-09-21 03:37:19 +02:00
README.md added migrated 2.x add-ons 2020-09-21 03:37:19 +02:00

Pulseaudio Binding

This binding integrates pulseaudio devices.

Supported Things

The Pulseaudio bridge is required as a "bridge" for accessing any other Pulseaudio devices.

You need a running pulseaudio server whith module module-cli-protocol-tcp loaded and accessible by the server which runs your openHAB instance. The following pulseaudio devices are supported:

  • Sink
  • Source
  • Sink-Input
  • Source-Output
  • Combined-Sink

Discovery

The Pulseaudio bridge is discovered through mDNS in the local network.

Thing Configuration

The Pulseaudio bridge requires the host (ip address or a hostname) and a port (default: 4712) as a configuration value in order for the binding to know where to access it. You can use pactl -s <ip-address|hostname> list-sinks | grep "name:" to find the name of a sink.

Channels

All devices support some of the following channels:

Channel Type ID Item Type Description
volume Dimmer Volume of an audio device in percent
mute Switch Mutes the device
state String Current state of the device (suspended, idle, running, corked, drained)
slaves String Slave sinks of a combined sink
routeToSink String Shows the sink a sink-input is currently routed to

Full Example

pulseaudio.things

Bridge pulseaudio:bridge:<bridgname> "<Bridge Label>" @ "<Room>" [ host="<ipAddress>", port=4712 ] {
  Things:
  	Thing sink          multiroom       "Snapcast"           @ "Room"       [name="alsa_card.pci-0000_00_1f.3"] // this name corresponds to pactl list-sinks output
	Thing source        microphone      "microphone"         @ "Room"       [name="alsa_input.pci-0000_00_14.2.analog-stereo"]
	Thing sink-input    openhabTTS      "OH-Voice"           @ "Room"       [name="alsa_output.pci-0000_00_1f.3.hdmi-stereo-extra1"]
	Thing source-output remotePulseSink "Other Room Speaker" @ "Other Room" [name="alsa_input.pci-0000_00_14.2.analog-stereo"]
	Thing combined-sink hdmiAndAnalog   "Zone 1+2"           @ "Room"       [name="combined"]
  }