Skip to content

Bluetooth (API)

The Bluetooth backend turns the node into an A2DP audio receiver. Power the adapter on/off, enter pairing mode, and manage connections — all from the API.

Enabled when Bluetooth is installed on the node.

GET /bluetooth

Returns adapter state, power status, and connected devices.

POST /bluetooth/power_up
POST /bluetooth/power_down
POST /bluetooth/pairing_mode

Pairing mode makes the node discoverable for a configurable duration (default 60s). Devices are automatically trusted on first pairing.

EventTrigger
bluetooth.updatedAdapter or device state change
bluetooth:
enabled: true
timeout: 5s
pairing_timeout: 60s
idle_timeout: 30m

idle_timeout auto-powers down the adapter when no device is connected.

The backend communicates with BlueZ via D-Bus. On power-up, it auto-unblocks soft-blocked rfkill devices. Paired devices appear as MPRIS players and PulseAudio clients.