Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Busch-Radio Spotify Bridge
Spotify-Musik auf dem Busch-Jäger Unterputz-Internetradio – ohne Bluetooth.
Problem
Das Busch-Jäger Unterputz-Internetradio kann nur Internetradio-Streams abspielen. Es hat kein Bluetooth und keine Spotify-Integration. Spotify-Musik lässt sich damit direkt nicht wiedergeben.
Lösung
Dieses Home Assistant Add-on erstellt ein virtuelles Spotify Connect-Gerät (librespot) und stellt das Audio als MP3- oder AAC-Stream über Icecast bereit.
Funktionsweise
Spotify-App → [Spotify Connect] → librespot → PCM → ffmpeg → Icecast2 → HTTP-Stream → Busch-Jäger Radio
Voraussetzungen
| Anforderung | Details |
|---|---|
| Home Assistant | OS, Supervised oder Container |
| Spotify Premium | Pflicht für Spotify Connect |
| Busch-Jäger Radio | Muss benutzerdefinierte Stream-URLs unterstützen |
Installation
1. Repository in HA hinzufügen
- Einstellungen → Add-ons → Add-on Store
- Drei Punkte oben rechts → Repositories
- URL eintragen:
https://gitea.bitfire.work/retr0/Busch-Radio-Spotify - Busch-Radio Spotify Bridge erscheint im Store
- Installieren (der erste Build dauert ~10–15 Minuten wegen Rust-Kompilierung)
2. Add-on konfigurieren
device_name: "Busch-Radio" # Name in der Spotify-App
bitrate: 160 # 96 / 128 / 160 / 192 kbps
stream_format: "mp3" # mp3 oder aac
stream_port: 8000 # HTTP-Port des Streams
stream_mount: "/stream" # URL-Pfad
icecast_password: "geheim" # Icecast-Passwort (bitte ändern)
3. Add-on starten & Spotify autorisieren
Beim ersten Start erscheint im Log:
Öffne die Einrichtungs-Seite im Browser:
http://<homeassistant-ip>:5589
Öffne diese Adresse im Browser. Der Einrichtungs-Assistent führt dich durch die Spotify-Anmeldung:
- Klicke auf „Mit Spotify anmelden"
- Melde dich mit deinem Spotify-Konto an und bestätige die Berechtigung
- Dein Browser wird auf
http://127.0.0.1:5588/login?code=...weitergeleitet – diese Seite ist nicht erreichbar - Kopiere die URL aus der Adressleiste und füge sie auf der Einrichtungs-Seite ein
- Klicke „Weiter" – der Assistent leitet die URL korrekt weiter
- Bei Erfolg erscheint: Autorisierung erfolgreich!
Die Credentials werden dauerhaft gespeichert – dieser Schritt ist nur einmalig nötig.
4. Stream im Radio eintragen
Trage folgende URL im Busch-Jäger Radio ein:
http://<homeassistant-ip>:8000/stream
5. Musik abspielen
- Spotify-App öffnen
- Abspielgerät wechseln → „Busch-Radio" auswählen
- Das Radio spielt den Stream automatisch ab
Custom Component (optional)
Die Custom Component zeigt den Stream-Status als Media-Player-Entity in HA.
Installation:
cp -r custom_components/busch_radio_spotify /config/custom_components/
# HA neu starten
Dann unter Einstellungen → Integrationen → Busch-Radio Spotify Bridge einrichten. Das Passwort muss mit icecast_password aus der Add-on-Konfiguration übereinstimmen.
Entity-Attribute:
| Attribut | Beschreibung |
|---|---|
stream_url |
Die URL für das Radio |
listeners |
Anzahl aktiver Hörer |
source_connected |
Ob Audio gestreamt wird |
Nützliche URLs
| URL | Funktion |
|---|---|
http://<ha-ip>:5589 |
Einrichtungs-Assistent (OAuth) |
http://<ha-ip>:8000/stream |
Stream-URL für das Radio |
http://<ha-ip>:8000 |
Icecast-Statusseite |
Technische Details
Komponenten
| Komponente | Funktion |
|---|---|
| librespot main | Spotify Connect Client (PCM-Ausgabe via Pipe) |
| ffmpeg | PCM → MP3/AAC Transkodierung |
| Icecast | HTTP-Stream-Server |
Signalfluss
Spotify CDN → librespot (dekodiert, PCM auf stdout)
→ silence-injector (hält Stream bei Pause aufrecht)
→ ffmpeg -re (Echtzeit-Encoding → MP3/AAC)
→ Icecast (HTTP-Stream)
→ Busch-Jäger Radio
Hinweise zum Build
- librespot wird aus dem Quellcode kompiliert (Rust, ~10–15 Min.)
- Der OAuth-Callback-Server bindet an
0.0.0.0statt127.0.0.1, damit der Browser-Login aus dem Heimnetz funktioniert - Credentials werden in
/data/librespot-cache/persistent gespeichert
Fehlerbehebung
| Problem | Lösung |
|---|---|
| „Busch-Radio" erscheint nicht in Spotify | Einrichtungs-Seite öffnen: http://<ha-ip>:5589 |
| Stream nicht erreichbar | Icecast-Status prüfen: http://<ha-ip>:8000 |
| Stream bricht bei Pause ab | Auf Version 1.0.11+ aktualisieren |
| Songs wechseln zu schnell | Auf Version 1.0.10+ aktualisieren |
| Neu autorisieren | Add-on stoppen → /data/librespot-cache/credentials.json löschen → neu starten |
| Build schlägt fehl | Logs im Add-on Store prüfen |
Projektstruktur
busch-radio-spotify/
├── busch_radio_spotify/ # Home Assistant Add-on
│ ├── Dockerfile # Multi-Stage Build (Rust + Alpine)
│ ├── config.yaml # Add-on Manifest & Optionen
│ ├── build.yaml # Multi-Arch Konfiguration
│ ├── DOCS.md # Add-on Dokumentation (in HA angezeigt)
│ ├── run.sh # Startup-Script
│ ├── oauth_helper.py # OAuth-Einrichtungs-Assistent (Port 5589)
│ ├── icon.png # Add-on Icon (Store)
│ └── logo.png # Add-on Logo (Detailseite)
├── custom_components/ # Optionale HA Integration
│ └── busch_radio_spotify/
│ ├── __init__.py
│ ├── manifest.json
│ ├── media_player.py
│ ├── config_flow.py
│ └── translations/
├── repository.yaml # HA Repository-Manifest
└── README.md
Rechtliche Hinweise
- Dieses Projekt nutzt librespot, eine Open-Source-Reimplementierung des Spotify-Clients
- Audio wird nicht gespeichert – ausschließlich live gestreamt
- Ausschließlich für den privaten Heimgebrauch gedacht
- Spotify Premium ist für Spotify Connect erforderlich
Lizenz
MIT License
