Hey I’m using Broadcom - BCM20702A0 (I’ve updated recently the instruction with info about BT used). In general here you have a list of BT compatible with HA - Bluetooth - Home Assistant
after “scan on” I’ve tried several time entering/re-entering pairing mode until you spot on the console a [NEW] device detected matching your MAC address. Then it should go forward with pair & trust.
Yay, it worked! Thanks for the tip. The missing key for me was spamming that pairing command until it worked. Before I rather spammed scan on and devices to check if it sees it - and when I saw it in the list I tried pairing. Also, I had to throw away my CSR 4.0 adapter that just crashed during the pairing process and needed to restart everytime. Now I’m using EDIMAX BT-8500 which can successfully connect (after few restarts of HA and spam of pair commands).
Btw, here are my steps to get HA play media on BT speaker for others in future (as I always found small fragments of a solution, not a complete package):
Do all previously mentioned stuff to pair and connect BT speaker.
TLDR:
Get BT adapter. Spam following commands until it works:
bluetoothctl scan on
bluetoothctl devices
bluetoothctl pair xx:xx:xx:xx:xx:xx //use address you find through devices command
bluetoothctl trust xx:xx:xx:xx:xx:xx
bluetoothctl connect xx:xx:xx:xx:xx:xx
Some extra useful commands:
bluetoothctl info xx:xx:xx:xx:xx:xx //to see if it's paired/connected/trusted successfully
bluetoothctl show //information about adapter
bluetoothctl help //to see all available commands/settings
Get it registered as audio device with commands:
ha audio restart
ha audio reload
ha audio info
(repeat until you see it in info)
3) Get VLC add-on.
4) Set VLC to that new output (in add-on settings; needs restarting add-on)
5) Play media via interface or any automation (You can use action Play media or there are some advanced actions available as services - starting with media_player. )
EDIT: Turns out I just skip the audio restart command and it works!
I’m trying this with a JBL Charge 4 with a ZEXMTE DG-69 adapter, running on a generic x86_64 machine, and every time I run “ha audio restart”, my speaker disconnects
Great write-up. Really appreciate summarizing it all in one spot. I’ve got this working nicely with a Roku Streambar.
However, we use the Streambar as an HDMI TV output source, plus my wife will connect to it over Bluetooth and stream her own playlists, etc. Additionally, we have the Streambar and everything else in the “entertainment center” on smartplugs that we turn off when we’re done using them. Once I had this all set up and working, I figured I’d test to see how HA/Linux/bluetoothctl handled the BT device being powered down and back up. As expected, VLC didn’t just work, even though bluetoothctl showed connected. I’ve tried cycling through these steps again, and it’s hit-or-miss. I suspect it is a timing issue. For now, we may just leave the Streambar on, but I wish it was all much more clean.
However, should I find the exact timing combo of these commands, is there a way to issue the bluetoothctl and ha audio commands in an ha script?
I connect a JBL3 Bluetooth speaker to HA which is working on the command line by bluetoothctl connect. The problem is, after restart, HA does not automatically connect to the Bluetooth speaker again. The device is paired and trusted, but I need to connect manually again.
Is there any way to add an auto connection to this device (maybe in configuration.yaml)?
Hi All, when I enter the command “bluetoothctl scan on” in my Terminal inside HA, I am getting the following error: Unable to open mgmt_socket. Any ideas as to why?
I am running a HA Yellow Kit, with Bluetooth enabled and running well. I just want to add a bluetooth speaker to my HA.
Found the BT speaker, trusted and connected fine with the MAC, but when I ran the pactl list sink command I couldn’t see it to set it as the default. Only the dummy device which is already the default
I’m guessing that’s why I wasn’t able to see/add it to home assistant?
I’m relatively newbie for HA/HAOS, however i’m working IT since 30y, using Linux since 1994
Anyway i connected BT Speaker to one RPI then shared via Pulse Audio to another RPI which is running HAOS as VM on SSD, now HAOS “see” BT Speaker over TCP
hassio-audio:/etc# pactl list sinks short
1 alsa_output.platform-fef05700.hdmi.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
2 bluez_sink.5D_52_C9_8D_22_1C.a2dp_sink module-bluez5-device.c s16le 2ch 48000Hz RUNNING
Most trickiest part was to connect BT Speaker A2DP Profile Stereo NOT Mono headset Profile, anyone need help please let me know, happy to share my config files!
Actually it can be even more easily done with MPD add-on installed then BT Speaker is do NOT even needs to shared just configured with Pulse Audio on the Host where it MPD running the HA/HAOS can use this Speaker remotly!
Sure, happy to help, but what is Ur setup please, which OS or pure HAOS/etc… ? Coz i have kind of uniq setup, based on multiple RPI with RPI Debian OS…
BTW High-level steps basically are already here if U want to connect Ur speaker directly to HAOS, BT commands
However i connected to another RPI then shared which kind of “hard” way i realized is much more “easy”/simple with MPD addon on HAOS the MP Daemon where speaker is connected .
Massive thanks, this worked like a charm - you help me solve the 2 year debacle I couldn’t solve on me Proxmox for couple of years. How can I buy you or the author of this git repo a coffee? this helped me so much. I am keen to try to have couple of BT speaker connected and will update accordingly if I succeed