Hilfe: Bluetooth Boxen in HA verwenden

Ich möchte gerne vorhandene Bluetooth Boxen (z.b JBL) in HA verwenden, um sie z.b. als „Gong“ für die Ring-Klingel zu nutzen. oder auch für kleine announcements, denn nicht in jedem Raum des Hauses ist auch gleich ein vollwertiger Mediaplayer. (und Alexas kommen mir nicht ins Haus :wink: )

Doch ich finde keine direkte und auch keine indirekte Möglichkeit, die BT-Boxen einzubinden.

Mein HA läuft mit HAOS auf einem alten Laptop, dessen Bluetooth-Schnittstelle nutze ich bislang für die Xiaomi Pfllanzensoren. Will sagen, die BT-Schnittstelle funktioniert prinzipiell.
Music Assistant läuft als Add-on, falls das irgendwie helfen kann :slight_smile:

Bin für jede Hilfe und jeden Hinweis dankbar.

Ich hatte mal ähnliches Vorhaben. Ich habe es dann aber aufgegen gehabt, weil es wohl nicht wirklich möglich mit HA ist (zumindest nicht auf halbwegs „einfachen“ Wegen).

Falls hier jemand dennoch einen Hinweis hat, wie das vielleicht doch möglich wäre, wäre ich natürlich auch interessiert :slight_smile:

1 „Gefällt mir“

In Home Assistant direkt ging es leider nicht. Meine Kinder schlafen besser mit weißem Rauschen – aber Alexa hat nachts gerne mal aufgehört und schwupps waren die Kleinen wieder wach. Die fertigen Lautsprecher mit eingebauten Naturgeräuschen machten nicht das was ich wollte, und unabhängig vom Internet wollte ich sowieso sein.

Darum habe ich mir mit meinem vorhandenen Proxmox und einer kleinen VM eine eigene Lösung gebaut. Läuft jetzt seit gut einem Jahr stabil und ohne größere Probleme. Das ganze würde sich auch mit Playlists usw… machen lassen. Aber es streamt, quasi wie wenn man vom Handy zum Lautsprecher sendet. Sobald der Lautsprecher an ist, beginnt der Stream zu senden.

Damals habe ich mir gleich eine Übersicht notiert. Die teile ich hier gerne – vielleicht inspiriert es ja die eine oder den anderen. Daraus kann man bestimmt noch etwas machen :slight_smile:

Bluetooth MP3 Autoplay bei Lautsprecher-Verbindung (mit Autologin)
==================================================================
Voraussetzungen
---------------
1. Debian/Ubuntu-System (in VM oder Bare Metal)
2. Bluetooth-Stick funktionierend
3. Lautsprecher bereits gekoppelt
4. MP3-Datei vorhanden (z. B. /home/sven/bach.mp3)
5. Benutzer `sven` existiert
Pakete installieren
-------------------
sudo apt update
sudo apt install mpv pulseaudio bluetooth bluez

Autoplay-Skript: /usr/local/bin/bluetooth-mp3-loop.sh
------------------------------------------------------
#!/bin/bash
BT_MAC="F4:4E:FC:3E:23:27"
MP3_FILE="/home/sven/bach.mp3"
while true; do
echo "Warte auf Bluetooth-Verbindung..."
until bluetoothctl info "$BT_MAC" | grep -q "Connected: yes"; do
sleep 5
done
echo "Verbunden - starte Wiedergabe..."
pactl set-sink-volume @DEFAULT_SINK@ 90%
/usr/bin/mpv --no-video --loop=inf --cache=yes --cache-secs=10 "$MP3_FILE"
echo "Verbindung verloren oder mpv beendet - warte erneut..."
sleep 5
done

Bluetooth-Agent mit Loop: /home/sven/bt-agent.sh
------------------------------------------------
#!/bin/bash
BT_MAC="F4:4E:FC:3E:23:27"
while true; do
echo "Starte Bluetooth-Agent..."
bluetoothctl <<EOF
agent NoInputNoOutput
default-agent
connect $BT_MAC
EOF
sleep 30
done
echo "Agent aktiv - warte 30 Sekunden..."

Systemd-Service fr MP3-Wiedergabe: /etc/systemd/system/bluetooth-loop.service
-------------------------------------------------------------------------------
[Unit]
Description=MP3 Playback over Bluetooth when Speaker Connected
After=bluetooth.target sound.target
Requires=bluetooth.target
[Service]
ExecStart=/usr/local/bin/bluetooth-mp3-loop.sh
Restart=on-failure
User=sven
Environment=DISPLAY=:0
Environment=XDG_RUNTIME_DIR=/run/user/1000
[Install]
WantedBy=multi-user.target

Systemd-Service fr Agent: /etc/systemd/system/bluetooth-agent.service
----------------------------------------------------------------------
[Unit]
Description=Bluetooth Agent fr Lautsprecher
After=bluetooth.target
Requires=bluetooth.target
[Service]
ExecStart=/home/sven/bt-agent.sh
User=sven
Environment=XDG_RUNTIME_DIR=/run/user/1000
Restart=always
[Install]
WantedBy=multi-user.target

Autologin fr User `sven` ber getty aktivieren
-----------------------------------------------
sudo mkdir -p /etc/systemd/system/getty@tty1.service.d
Datei: /etc/systemd/system/getty@tty1.service.d/override.conf
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin sven --noclear %I $TERM
sudo systemctl daemon-reexec
sudo systemctl restart getty@tty1.service

Wenn jemand Interesse haben sollte, viel Spaß :smiley: Ist aber nicht jeder schritt erklärt, also koppeln des Lautsprecher und chmod usw…

Es dient mir nur als Merkhilfe falls ich es mal benötige

2 „Gefällt mir“