The bt_speaker_agent is a node for communicating with the BlueZ bluetooth stack on Linux. It publishes information about connected Bluetooth audio sources, sends commands to those sources, and controls pairing.

When pairing is initiated by sending the appropriate command, Kuri will become visible as a Bluetooth audio device. It does not require any PIN code or password to pair. Only one connected device at a time is supported.


gizmo-bluez custom package

Subscribed Topics

Pairing Topics


Puts Kuri into pairing mode, tries to re-connect to the last connected device


Puts Kuri into pairing mode ready to pair a new device


Disconnects any currently connected device.

Audio Control Topics


Sends the play command to any connected audio source


Sends the pause command to any connected audio source


Sends the next track command to any connected audio source


Sends the previous track command to any connected audio source

Volume Topics


Tracks volume set via hardware buttons


Tracks volume set by app/voice interactions

Published Topics

Pairing Topics


Publishes the String connected_device on a successful pairing and bluetooth_timeout if a pairing attempt times out.


Publishes True if connected and False otherwise

Audio Control Topics


Publishes a Boolean indicating whether or not audio is actively playing


Publishes a string representing the metadata for the currently track if the audio source provides it.

Volume Topics


Publishes volume changes from the connected audio source

Launch File

Contains no user configurable parameters